LangChain:介绍
LangChain是一个用于开发基于大语言模型(LLM)的AI应用程序的框架。简化了LLM应用生命周期的每个阶段。
介绍
LangChain简化了LLM应用生命周期的每个阶段:
开发阶段:使用LangChain的开源组件和第三方集成构建应用。通过LangGraph构建最优的流式处理和支持人机交互的状态化智能体。
生产阶段:运用LangSmith对应用进行检测、监控和评估,从而持续优化并充满信心地部署。
部署阶段:通过LangGraph Platform将您的LangGraph应用转化为生产级API和智能助手。
LangChain 为大型语言模型及相关技术(如嵌入模型和向量数据库)实现了标准化接口,并与数百家服务提供商完成集成。更多详情请参阅集成页面。
使用示例,基于Python开发语言:
安装依赖库:
1
pip install -qU "langchain[openai]"
调用大语言模型
1
2
3
4
5
6
7
8
9
10
11import getpass
import os
# 导入环境变量
if not os.environ.get("OPENAI_API_KEY"):
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")
# 导入大语言模型
from langchain.chat_models import init_chat_model
# 初始化大语言模型
model = init_chat_model("gpt-4o-mini", model_provider="openai")
# 调用大语言模型
model.invoke("Hello, world!")
架构
LangChain 框架由多个开源库组成。更多可参考架构页面。
langchain-core
langchain-core:聊天模型和其他组件的基本抽象。
此包包含不同组件的基本抽象以及将它们组合在一起的方法。聊天模型、矢量存储、工具等核心组件的接口在这里定义。此处未定义第三方集成。依赖关系非常轻量级。
Integration packages
热门集成方案均提供独立安装包(例如 langchain-openai、langchain-anthropic 等),从而实现规范的版本管理并保持轻量化特性。重要的集成已被拆分为轻量级包,由langchain团队和集成开发人员共同维护。
有关更多信息,请参阅:
langchain
langchain:构成应用程序认知架构的链、代理和检索策略。
关键的langchain
包包含构成应用程序认知架构的链和检索策略。这些不是第三方集成。这里的所有链、代理和检索策略并不特定于任何一个集成,而是适用于所有集成。
langchain-community
langchain社区:由社区维护的第三方集成。
此软件包包含由LangChain社区维护的第三方集成。关键集成包是分开的(见上文)。这包含各种组件(聊天模型、矢量存储、工具等)的集成。此包中的所有依赖项都是可选的,以使包尽可能轻。
langgraph
langgraph:一个编排框架,用于将 LangChain 组件整合为生产级应用,支持持久化、流式处理等关键功能。详情请参阅 LangGraph 文档。
langgraph 是 langchain 的扩展框架,旨在通过将操作步骤建模为图中的边(edges)和节点(nodes),帮助开发者基于大语言模型构建健壮的、具备状态维护能力的多智能体应用系统。
该框架提供双重接口:既包含面向常见智能体类型的高层封装接口,也开放了用于编排自定义流程的底层API。
聊天模型调用
使用 LangChain 的 ChatOpenAI 聊天模型API调用大模型
1 | from langchain_core.messages import SystemMessage, AIMessage, HumanMessage |