微信扫码
添加专属顾问
我要投稿
探索LangChain如何革新AI应用开发,掌握基础抽象和LangChain表达式语言的强大功能。核心内容:1. LangChain框架的基本概念和价值2. 通过示例代码理解模型与解析器的协同工作3. 输出解析器在结构化数据处理中的核心作用
作为一个AI开发框架,LangChain 最重要的价值是提供了一些开发应用所需的基础抽象和 LangChain 表达式语言。
示例代码:
chain = model | parser
chain.invoke(messages)
这段代码定义了一个包含模型 model 和解析器 parser 的链 chain,并通过 invoke 方法传递消息messages。
当我们把消息传给这条链时,先调用模型,根据消息生成相应内容,然后传给输出结果解析器,解析成所需要的格式。
常见的解析器类型包括:
以下是一个完整的示例代码:
from langchain.llms import OpenAI
from langchain.output_parsers import JsonOutputParser
from langchain.prompts import PromptTemplate
# 定义模型
model = OpenAI(model_name="text-davinci-003")
# 定义解析器
json_parser = JsonOutputParser()
# 定义链
chain = model | json_parser
# 定义提示模板
prompt = PromptTemplate(
input_variables=["product"],
template="请列出 {product} 的优点。",
)
# 调用链
messages = [{"product": "智能手机"}]
result = chain.invoke(messages)
print("解析后的结果:", result)
上述代码的功能是将模型生成的自由文本转换为结构化数据。
核心作用是让大模型能够返回结构化的数据,如 JSON。
它通过以下方式实现这一目标:
模型 model 和输出结果解析器 parser 都是 LangChain 的基础抽象,类似这样的抽象,还有比如提示词模板、文档加载器、向量存储等。
LangChain 应用的核心就是构建一条这样的链,也是 LangChain 这个名字里 Chain 的含义。
把 LangChain 的基础抽象理解成一个个的接口,但只有接口是无法完成任何工作的,还需要接口具体的实现。
为了降低依赖,这些实现没有放在 LangChain 核心框架中,于是扩大对 LangChain 的理解,把这些实现涵盖进来,就是 LangChain 的社区生态。
社区生态包含了大量各种实现,比如各种大模型,OpenAI GPT、Anthropic Claude 等,都有对应的实现。
除了大模型,还有其它基础抽象,比如向量数据库,Milvus、FAISS、Qdrant、Chroma 等,文档加载既可以加载一个 Web 页面,也可以从 S3、微软 OneDrive 加载,甚至从 Twitter、Telegram 加载内容。
总之,针对不同的抽象,都有对应的实现,可以根据需要在 LangChain 集成页面找到对应的内容。
除了直接代码实现,还有各种提示词模板。相比于其它的代码,提示词模板都是纯文本。
LangChain 社区有一个专门提示词社区,可以找到各种类别提示词:
实现 Agent 、代码编写、文档问答、内容总结,主流提示词在这里都可以找到。
我们只要把它加载过来,就可以形成一个提示词模板:
//从 Hugging Face 模型库中拉取名为 "react" 的模型
prompt = hub.pull("hwchase17/react")
//将模型赋值给变量 runnable,
runnable = prompt | model
上述代码的功能是从 Hugging Face 模型库中拉取名为 react 的模型,赋值给变量 runnable,加载预训练的 react 模型,以便在后续使用该模型进行推理或训练。
Hugging Face 是一个流行的机器学习模型库,提供了大量的预训练模型。
除了构建链之外,还有什么其它事情可以做呢?
在了解 LangChain 时,会看到一些与 LangChain 相关的名字。
这就是 LangChain 的拓展生态:
因为编写的应用多半以服务的方式对外提供,LangServe 简化了 LangChain 应用服务化的门槛。
更多地是面向 LangChain 使用场景设计的,提供的服务是否适合你的应用,还需要根据情况评估。
帮助开发者调试、追踪、测试、评估和监控基于大模型的应用。
把 Agent 的状态流转构建成一个图,LangChain 团队甚至构建了一个 IDE:LangGraph Studio,简化这个图的构建过程。
拓展生态在开发社区的接受程度远远不如 LangChain 的开发框架和社区生态。
只要知道它们的存在即可,如果有需要再去深入了解。
首先是否选择 LangChain?
一些开源项目的代码,虽然选择 LangChain,但并没有选择 LangChain 的基础抽象,而是单纯地利用 LangChain 的代码。
它的社区生态很好地提供了各种集成,也降低了开发的难度。
LangChain 是一个很好的学习材料,提供了大量的示例。
了解 LangChain 之后,可以充分利用 LangChain 资源学习如何编写各种大模型应用。
无论是 RAG,还是 Agent,或是如何利用工具,都可以通过 LangChain 来学习。
如果这篇内容你只能记住一件事,那请记住:
LangChain 不只是一个框架,而是一个生态系统。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-19
继MCP、A2A协议之后,又一个Agent协议AG-UI来了
2025-05-19
使用LangGraph基于DAG构建自动化任务
2025-05-19
LangChain vs LlamaIndex:如何选择?
2025-05-18
解析LangGraph中的状态、状态图和工作流
2025-05-16
DeerFlow的LangGraph节点解读
2025-05-16
LangGraph 平台正式发布:赋能AI开发!
2025-05-16
Agent 部署全解析:LangGraph团队实战洞察
2025-05-15
LangFlow:可视化构建大语言模型工作流的神器 | 低代码AI应用开发指南
2024-10-10
2024-07-13
2024-06-03
2024-04-08
2024-09-04
2024-04-08
2024-08-18
2024-03-28
2024-06-24
2024-07-10
2025-05-19
2025-05-08
2025-05-06
2025-04-22
2025-04-18
2025-03-22
2025-03-22
2025-03-15