
7个LLM项目,助你提升机器学习作品集
图片作者 | Canva 创建
大型语言模型 (LLM) 在各种任务中都非常有用。构建 LLM 驱动的应用程序一开始可能看起来很艰巨。但你所需要的只是
- 编码能力,最好是 Python 或 TypeScript,以及
- 一些你想要简化的不那么有趣的任务或问题(我敢肯定你有很多!)。
要构建 LLM 应用程序,你应该能够运行和与 LLM 交互,连接到各种数据源——本地机器上的文件、API、数据库等等。以下不是一个详尽的列表,但这里有一些你可以使用的工具和框架来构建 LLM 应用程序。
- 编程语言:Python、TypeScript
- 框架:LangChain、LlamaIndex
- API:OpenAI API、Cohere API
- 运行 LLM:Ollama、Llamafile
- 向量数据库:ChromaDB、Weaviate、Pinecone 等
本指南将介绍你可以使用 LLM 构建的七个有趣的 LLM 项目。在此过程中,你将学习如何使用向量数据库、框架和有用的 API。我们还分享了学习资源和示例项目,帮助你快速上手。让我们开始吧。
1. 基于检索的技术文档问答应用
为开发人员构建一个问答系统,该系统使用 RAG 从各种技术文档、Stack Overflow 回答或内部文档和知识库中检索信息。这样的应用程序可以总结和阐明复杂概念,或回答特定的技术问题。
项目中的关键组件包括
- 检索相关文档和片段的 RAG 框架
- 用于解释问题和生成答案的开源 LLM
- 与 Stack Overflow、Confluence 等外部源的 API 集成
帮助开发人员即时、可靠地回答技术问题,而无需手动搜索大量文档。这对于 Django 等文档非常广泛的框架尤其有用。
要了解 RAG 的所有知识,请查看 DeepLearning.AI 的 LangChain:与你的数据聊天和从零开始学习 RAG。
2. LLM 驱动的工作流自动化代理
创建一个可以根据自然语言指令简化重复性工作流和繁琐任务的代理。该代理应能够按照预先定义的步骤序列执行操作,或根据最终目标自主执行。
such agent should be able to handle tasks like creating new project folders, setting up Git repositories, creating the project’s dependency files, and more.
除了 LLM,关键组件是
- 用于 Docker、Git 和 AWS 等各种工具的 API 集成
- 执行 LLM 生成的脚本的引擎
你可以改进第一个版本,以获得一个更有用的应用程序,该应用程序可以减少开发人员或团队的手动设置和管理任务,让他们能够专注于更高价值的工作。
3. Text-to-SQL 查询生成器
用英语思考业务问题总是直观且简单的。然而,一个简单的问题,如“某个特定产品在不同客户群中的季度销售额是多少?”可能会转化为一个相当复杂的 SQL 查询,其中包含连接和多个子查询。这就是为什么构建一个 text-to-SQL 生成器可以有所帮助。
你可以构建一个应用程序,该应用程序使用 LLM 将自然语言查询转换为 SQL。该应用程序应
- 根据预定义的数据库模式将用户输入转换为 SQL 查询
- 针对连接的数据库执行它们以返回相关数据
这是一个示例项目演练:Krish Naik 的端到端 Text-To-SQL LLM 应用。
4. AI 驱动的代码库文档生成器
构建一个使用 LLM 扫描代码存储库并自动生成全面文档的工具,包括函数摘要、模块描述和架构概述。你可以将其构建为 CLI 工具或 GitHub Action。
你需要
- 与存储库服务的集成以扫描代码库文件
- 用于审查和添加反馈以改进或编辑生成文档的选项
这种生成器的一个更高级的版本实际上可以用于为开发团队自动生成技术文档。虽然要获得完美的文档可能是一个挑战,但这样的工具肯定可以节省数小时的工作!
5. AI 编码助手
构建一个 LLM 驱动的编码助手,它可以充当真正的配对程序员。该工具应在实时编码会话中提供建议、编写代码片段、调试现有代码,甚至提供复杂逻辑的实时解释。
构建此类应用程序时,请确保
- 良好 LLM 的选择,它们擅长代码生成
- IDE 集成,例如 VS Code 扩展,用于编辑器内功能。
- 来自当前编码环境的上下文感知——使用的库、打开的文件等
查看高级 Python AI 代理教程 – 使用 RAG,了解构建编码助手的完整演练。
6. 基于文本的数据管道构建器
开发一个 LLM 应用程序,允许用户用自然语言描述数据管道。例如:“编写一个 ETL 脚本来摄取 S3 中的 CSV 文件,清理数据,并将其加载到 PostgreSQL 数据库中”。然后,该应用程序应该使用 Apache Airflow 或 Prefect 等工具生成完整的 ETL 管道代码。
因此,你需要专注于
- 对各种数据源(S3、数据库)和目标的支持。
- 使用 Airflow 等工具自动化管道创建和调度。
这应该能帮助你以最少的编码来构建和调度复杂的数据管道。即使代码不完全准确,与从头开始编写管道相比,它也应该能帮助你提前启动许多步骤。
7. LLM 驱动的代码迁移工具
有现成的解决方案,但你也可以尝试从头开始构建代码迁移工具。构建一个工具,该工具可以分析用一种编程语言编写的代码,并使用 LLM 将其转换为另一种语言,LLM 可以理解原始逻辑并用目标语言重新实现它。例如,你可能希望将 Python 代码迁移到 Go 或 Rust。
你需要尝试以下
- LLM 在语言之间进行代码翻译的选择
- 静态分析工具以确保翻译后的逻辑正确性
- 对不同范例和特定于语言的构造的支持
这样的应用程序可以帮助将遗留代码库迁移到更现代、性能更高的语言,同时最大限度地减少手动重写。
总结
好了!希望你觉得这些项目想法很有趣。
这些应该能为你提供更多有趣且有用的想法的良好开端。一旦你构建了一个可行的应用程序,你就可以探索其他方向。例如,你可能想构建一个财务报表分析器或使用 RAG 的个性化研究助手。
如前所述,你只需要一个需要解决的问题,一个构建事物的兴趣,以及咖啡?
祝你编码愉快!
暂无评论。