📌 所属章节:第二阶段 - langchain-community 与厂商集成包
← 上一篇:langchain 主包详解 | 📚 系列目录 | 下一篇:LLM / ChatModel 大模型接口 →
📋 摘要
本文详细讲解了 langchain-community 与厂商集成包,包括核心概念、实战代码示例和最佳实践。通过本文的学习,你将掌握 LangChain 1.0 的核心技术要点,能够快速构建基于大模型的 AI 应用。
适合人群:
- 想系统学习 LangChain 1.0 的开发者
- 需要构建 AI Agent 应用的工程师
- 对 LLM 应用开发感兴趣的技术爱好者
3. langchain-community 第三方集成库
langchain-community 作为 LangChain 1.0 的"功能扩展层",通过社区贡献的非官方集成组件显著扩展了主包的功能边界,其核心价值体现在工具类组件与平台集成两大维度。工具类组件覆盖文档处理全流程,包括 DirectoryLoader 文档加载器(支持 PDF、文本等多格式文件批量导入)、RecursiveCharacterTextSplitter 文本分割器(按语义边界将文档切分为检索友好的 Chunk)、PGVector 向量存储(PostgreSQL 生态的向量数据库适配)及 HuggingFaceEmbeddings 嵌入模型(本地部署模型的向量化能力),这些组件共同构成了 RAG 应用的技术基础。平台集成方面,支持与 DeepSeek、阿里云通义千问等模型的对接,例如通过 langchain_community.chat_models.ChatTongyi 类初始化通义千问模型,或利用 Ollama 类调用本地部署的 DeepSeek-R1 模型。
- 收集并维护 社区/第三方贡献的集成 (例如某些云厂商、开源向量库、特殊工具适配器等)。这些集成实现了
[langchain-core](02_langchain_core.md)定义的接口 ,但不属于主包维护范畴。官方会把这些放到langchain-community仓库/包,便于社区共同维护。
包含内容:
-
数据库:MySQL, PostgreSQL, MongoDB, Neo4j等连接器
-
存储服务:AWS S3, 阿里云OSS, Google Cloud Storage
-
工具集成:Slack, Notion, GitHub, ArXiv, YouTube等API
-
向量数据库:Chroma, Pinecone, Qdrant, Milvus等
-
文档加载器:PDF, CSV, HTML, Markdown解析器
特点:
-
质量参差不齐:社区贡献,需自行验证稳定性
-
更新滞后:依赖社区维护,响应速度慢于官方包
-
功能丰富:覆盖95%的第三方服务集成需求
python
# 安装:pip install langchain-community
from langchain_community.document_loaders import NotionDBLoader
# 从Notion数据库加载文档
loader = NotionDBLoader(
integration_token="secret_...",
database_id="your-db-id"
)
documents = loader.load()
print(f"加载了{len(documents)}条文档")
4. langchain-openai(厂商/提供者集成包)
厂商特定集成包(如 langchain-openai、langchain-anthropic、langchain-google 等)通过封装 API 细节,为开发者提供"零适配成本"的模型对接方案,其核心价值在于简化特定 API 对接流程,使开发者能够直接使用厂商特有功能。以 langchain-openai 为例,其关键组件包括模型客户端、工具调用适配和多模型支持三大模块。
此外,该类还支持通过配置 openai_api_base 和 openai_api_key 参数对接兼容 OpenAI API 格式的第三方模型,如 DeepSeek 模型
-
专门负责把 OpenAI 的 SDK 与 LangChain 抽象连接起来 :提供
ChatOpenAI、OpenAIEmbeddings、OpenAI等类的实现。 -
这类包通常是 "按厂商拆分":
langchain-openai、langchain-azure、langchain-anthropic、langchain-deepseek等。 -
官方深度集成特定LLM提供商,更新频繁,功能最全.
python
#!pip install langchain-openai
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o-mini")
question = "你好,请你介绍一下你自己。"
result = model.invoke(question)
print(result.content)
主流厂商包列表:
-
langchain-openai:OpenAI, Azure OpenAI -
langchain-anthropic:Claude系列 -
langchain-google:Gemini, Vertex AI -
langchain-deepseek:DeepSeek模型 -
langchain-ollama:本地Ollama部署
与 langchain-community的区别:
| 维度 | langchain-openai |
langchain-community 中的OpenAI |
|---|---|---|
| 维护方 | OpenAI官方 + LangChain团队 | 社区维护 |
| 更新频率 | 即时跟进API更新 | 延迟数周 |
| 功能完整性 | 支持所有新特性(如音频、视觉) | 仅基础功能 |
| 生产可用性 | ✅ 强烈推荐 | ⚠️ 谨慎使用 |
为什么要单独拆出来?
-
让
langchain主包保持轻量(不强制安装所有厂商 SDK); -
用户按需安装对应厂商,例如你只用 OpenAI,就只装
langchain-openai。
最佳实践:
-
生产环境务必使用厂商包:享受最新功能
-
开发环境可用community:快速验证想法
-
多厂商切换用
[init_chat_model](05_llm_chatmodel.md):业务代码无需改动
5. langchain-classic
-
兼容包 / 迁移包:把 LangChain v0.x 中的"老 API / legacy 功能"搬到单独包里,以便 v1.0 保持精简,但仍给用户向后兼容的迁移通道。
-
包含如:老的 Chain 实现、旧版 retrievers、索引 API、hub 模块等被标记为"legacy"的功能。
-
旧版
AgentExecutor -
Legacy Chains(
LLMChain,SequentialChain等)
-
python
#!pip intsall langchain-classic
from langchain_classic.chat_models import ChatOpenAI
model = ChatOpenAI(model="gpt-4o-mini")
res = model.invoke("请介绍一下你自己")
🎯 总结
本文详细介绍了 langchain-community 与厂商集成包 的核心概念和实战技巧。希望这些内容能帮助你更好地理解和使用 LangChain 1.0!
如果你有任何问题或建议,欢迎在评论区留言交流!💬
← 上一篇:langchain 主包详解 | 📚 系列目录 | 下一篇:LLM / ChatModel 大模型接口 →
🏷️ 标签 :LangChain 开源生态 第三方集成
💝 感谢阅读!如果觉得有帮助,记得点赞收藏关注哦!
本文为原创内容,版权归作者所有,转载需注明出处。