GitHub项目
本文档收集了GitHub上值得关注的LangChain相关开源项目,包括示例应用、工具扩展和实用资源,帮助开发者更好地利用LangChain构建AI应用。
官方项目
核心仓库
| 项目名称 | 描述 | GitHub链接 |
|---|---|---|
| LangChain | LangChain核心库,提供构建LLM应用的各种组件和工具 | langchain-ai/langchain |
| LangServe | 将LangChain链和代理部署为REST API的工具 | langchain-ai/langserve |
| LangGraph | 构建复杂、有状态LLM应用程序的库 | langchain-ai/langgraph |
示例与模板
| 项目名称 | 描述 | GitHub链接 |
|---|---|---|
| LangChain模板 | 预构建的LangChain应用模板,方便快速启动新项目 | langchain-ai/langchain-template |
| LangChain示例 | 各种LangChain用例的详细示例代码 | langchain-ai/langchain-examples |
优秀社区项目
RAG应用与知识库
| 项目名称 | 描述 | GitHub链接 | 技术特点 |
|---|---|---|---|
| GPT Knowledge Base | 基于LangChain和Pinecone构建的个人知识库应用 | mmz-001/knowledge_gpt | Streamlit界面、文档分析、OpenAI嵌入 |
| ChatFiles | 与任何文件对话的Streamlit应用,基于LangChain和Chroma | guangzhengli/ChatFiles | 多文件上传、文档集合索引 |
| privateGPT | 使用本地模型在私有文档上构建QA系统 | imartinez/privateGPT | 无需互联网、完全私有化部署 |
| DocQuery | 使用LLM分析文档和提取信息的工具 | impira/docquery | 文档解析、文本提取、表格提取 |
代理与自动化
| 项目名称 | 描述 | GitHub链接 | 技术特点 |
|---|---|---|---|
| AutoGPT-Next-Web | 基于LangChain构建的AutoGPT Web界面 | Dogtiti/AutoGPT-Next-Web | 可视化界面、多任务代理、持久化存储 |
| BabyAGI | 基于LangChain的任务驱动自主代理 | yoheinakajima/babyagi | 任务规划、优先级排序、递归改进 |
| AgentGPT | 浏览器中运行的自主AI代理 | reworkd/AgentGPT | 无需后端、自定义代理目标 |
| LangFlow | LangChain组件的可视化编辑器和工作流构建工具 | logspace-ai/langflow | 拖放界面、Python生成、API后端 |
对话与聊天机器人
| 项目名称 | 描述 | GitHub链接 | 技术特点 |
|---|---|---|---|
| ChatLangChain | 使用LangChain构建的聊天机器人,具有长期记忆和知识检索功能 | hwchase17/chat-langchain | 对话管理、记忆持久化、多模式检索 |
| LangChain Chat | 基于Streamlit的LangChain聊天UI | dataprofessor/langchain-chat | 简单易用、快速部署、可定制化 |
| Flowise | 拖放式界面构建LangChain应用 | FlowiseAI/Flowise | 低代码界面、API生成、工作流共享 |
按应用场景分类
企业应用
| 项目名称 | 描述 | GitHub链接 | 技术特点 |
|---|---|---|---|
| Quivr | 企业级知识管理与检索系统 | StanGirard/quivr | 企业搜索、文档管理、权限控制 |
| GPT Academic | 面向学术论文写作和润色的LLM工具 | binary-husky/gpt_academic | 论文分析、代码解释、公式处理 |
| LLM-Chain | 在企业数据上构建自定义LLM应用的框架 | sobelio/llm-chain | 企业集成、安全控制、可追溯性 |
开发者工具
| 项目名称 | 描述 | GitHub链接 | 技术特点 |
|---|---|---|---|
| LangChain Hub | LangChain提示和链的社区库 | hwchase17/langchain-hub | 提示共享、版本控制、组件复用 |
| Langchain Visualizer | 可视化LangChain链的执行过程 | amosjyng/langchain-visualizer | 链执行追踪、性能分析、调试工具 |
| LangChain CLI | LangChain项目的命令行工具 | langchain-ai/langchain-cli | 项目脚手架、部署辅助、环境管理 |
教育与示例
| 项目名称 | 描述 | GitHub链接 | 技术特点 |
|---|---|---|---|
| LangChain教程 | LangChain示例和教程的集合 | gkamradt/langchain-tutorial | 详细指南、完整代码、概念解释 |
| LangChain Cookbook | LangChain代码和模式的参考手册 | hwchase17/langchain-cookbook | 代码片段、用例解析、最佳实践 |
| LangChain Crash Course | LangChain速成教程,包含多个实用示例 | pinecone-io/langchain-crash-course | 快速入门、项目实战、视频教程 |
开源应用案例
个人助手
# 基于LangChain构建的个人助手示例
from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
from langchain.tools import Tool, DuckDuckGoSearchRun
from langchain.agents import initialize_agent, AgentType
# 初始化工具
search_tool = DuckDuckGoSearchRun()
tools = [
Tool(
name="搜索",
func=search_tool.run,
description="当你需要最新信息时使 用此工具搜索互联网"
)
]
# 创建代理
llm = ChatOpenAI(temperature=0.7)
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,
memory=memory,
verbose=True
)
# 使用助手
response = agent.invoke({"input": "帮我写一份周报模板,并搜索最近的AI新闻"})
print(response["output"])