跳到主要内容

GitHub项目

本文档收集了GitHub上值得关注的LangChain相关开源项目,包括示例应用、工具扩展和实用资源,帮助开发者更好地利用LangChain构建AI应用。

官方项目

核心仓库

项目名称描述GitHub链接
LangChainLangChain核心库,提供构建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_gptStreamlit界面、文档分析、OpenAI嵌入
ChatFiles与任何文件对话的Streamlit应用,基于LangChain和Chromaguangzhengli/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无需后端、自定义代理目标
LangFlowLangChain组件的可视化编辑器和工作流构建工具logspace-ai/langflow拖放界面、Python生成、API后端

对话与聊天机器人

项目名称描述GitHub链接技术特点
ChatLangChain使用LangChain构建的聊天机器人,具有长期记忆和知识检索功能hwchase17/chat-langchain对话管理、记忆持久化、多模式检索
LangChain Chat基于Streamlit的LangChain聊天UIdataprofessor/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 HubLangChain提示和链的社区库hwchase17/langchain-hub提示共享、版本控制、组件复用
Langchain Visualizer可视化LangChain链的执行过程amosjyng/langchain-visualizer链执行追踪、性能分析、调试工具
LangChain CLILangChain项目的命令行工具langchain-ai/langchain-cli项目脚手架、部署辅助、环境管理

教育与示例

项目名称描述GitHub链接技术特点
LangChain教程LangChain示例和教程的集合gkamradt/langchain-tutorial详细指南、完整代码、概念解释
LangChain CookbookLangChain代码和模式的参考手册hwchase17/langchain-cookbook代码片段、用例解析、最佳实践
LangChain Crash CourseLangChain速成教程,包含多个实用示例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"])

智能研究工具

# 基于LangChain构建的研究助手示例
from langchain_openai import ChatOpenAI
from langchain.chains import RetrievalQAWithSourcesChain
from langchain.document_loaders import PyPDFLoader, WebBaseLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import Chroma
from langchain_openai import OpenAIEmbeddings

# 加载PDF和网页数据
pdf_loader = PyPDFLoader("research_paper.pdf")
web_loader = WebBaseLoader("https://example.com/article")
documents = pdf_loader.load() + web_loader.load()

# 处理文档
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=100)
splits = text_splitter.split_documents(documents)

# 创建向量存储
embeddings = OpenAIEmbeddings()
vectordb = Chroma.from_documents(documents=splits, embedding=embeddings)
retriever = vectordb.as_retriever(search_kwargs={"k": 4})

# 创建问答链
llm = ChatOpenAI(temperature=0)
chain = RetrievalQAWithSourcesChain.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=retriever
)

# 使用研究助手
query = "这些文档的主要观点是什么?列出关键结论。"
result = chain({"question": query})
print(f"答案: {result['answer']}")
print(f"来源: {result['sources']}")

社区贡献指南

如何贡献

如果你有优秀的LangChain项目想要分享,可以通过以下方式贡献:

  1. 在GitHub上给本项目提交Issue或Pull Request
  2. 提供项目名称、描述、链接和主要技术特点
  3. 如果可能,添加一个简短的代码示例或使用场景

项目收录标准

我们欢迎各种LangChain相关项目,但会优先考虑以下特性的项目:

  • 实用性:解决实际问题的项目
  • 创新性:提供新颖解决方案或功能的项目
  • 文档完善:具有清晰文档和示例的项目
  • 活跃维护:定期更新和维护的项目

结论

LangChain生态系统正在快速发展,这些优秀的GitHub项目展示了LangChain的强大功能和广泛应用场景。无论是构建RAG系统、智能代理、聊天机器人还是企业应用,都能找到适合的参考项目和工具。

我们将持续更新这个列表,收录更多优质的LangChain项目。如果你知道或创建了不错的LangChain项目,欢迎分享给社区!