langChain 快速入门

简介: LangChain表达式语言(LCEL)以`|`管道符串联PromptTemplate、大模型与OutputParser三大组件,实现提示工程、推理与结果解析的标准化流水线。本文以翻译助手为例,详解如何用LCEL快速构建端到端可调用AI链,代码简洁、逻辑清晰。(239字)

一、LangChain 表达式语言

在没有 LangChain 之前,你可能需要手动拼接字符串、调用 API、再手动解析返回的文本。LangChain 通过 LCEL(LangChain 表达式语言) 将这些步骤标准化。

一个基础的链通常由三个核心组件组成:

  1. PromptTemplate (提示词模板) 📝:将用户的原始输入格式化为结构化的指令。

  2. Model (模型) 🤖:大语言模型(LLM),负责逻辑推理。

  3. OutputParser (输出解析器) 🔍:将模型返回的字符串清洗或转换成你需要的格式(如 JSON 或纯文本)。

在 LangChain 中,我们使用类似 Unix 管道符的 | 符号将它们串联起来:
链 = 提示词 | 模型 | 解析器

二、示例:构建“翻译助手” (LCEL 基础)

我们将学习如何定义一个简单的模板,并利用 | 符号将它与模型连接,实现自动化的语言转换。

先从翻译助手的核心——提示词模板 (PromptTemplate) 开始。

在 LangChain 中,提示词模板就像是一个“填空题”。它不仅包含你对 AI 的指令,还预留了变量位置,方便我们重复使用。

1. 定义提示词模板 📝

我们要告诉 AI:“你是一个专业的翻译官,请将以下文本从 {source_lang} 翻译成 {target_lang}。”

在代码中,它看起来是这样的(以 Python 为例):

Python

from langchain_core.prompts import ChatPromptTemplate

# 定义模板
system_template = "你是一个专业的翻译官,请将用户输入的文本从 {source_lang} 翻译成 {target_lang}。"
human_template = "{text}"

prompt_template = ChatPromptTemplate.from_messages([
    ("system", system_template),
    ("human", human_template),
])

这里我们使用了 system(系统消息,设定角色)和 human(用户消息,提供具体内容)。


2. 准备模型 (Model) 🤖

接下来我们需要一个“大脑”来执行翻译。在 LangChain 中,我们可以轻松切换不同的模型(如 OpenAI、Anthropic 或国产模型)。

Python

# 假设我们使用 ChatOpenAI(实际使用时需要配置 API Key)
from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-3.5-turbo")

3. 使用 LCEL 串联 🔗

现在是见证奇迹的时刻!在 LCEL 中,我们使用管道符 | 将它们连接起来:

Python

# 这一行就是 LCEL 的精髓
chain = prompt_template | model

这个 chain 现在就像一个完整的“函数”。当我们调用它时,它会自动把输入填入模板,然后传给模型。

4. 运行你的第一个链 🚀

在 LangChain 中,我们使用 .invoke() 方法来触发这个链。我们将这三个参数放在一个字典(Dictionary)里传进去。

代码看起来是这样的:

Python

# 运行链
response = chain.invoke({
    "source_lang": "中文",
    "target_lang": "英文",
    "text": "你好,今天天气不错。"
})

print(response)

这时候你会发现,模型返回的是一个对象(通常是 AIMessage),里面包含了翻译后的文本,但也包含了一些元数据(比如 token 消耗量)。

5. 引入输出解析器 (Output Parser) 🔍

在大多数情况下,我们只想要翻译后的纯字符串。这时就需要用到 StrOutputParser。它可以把复杂的模型输出直接变成简洁的文本。

Python

from langchain_core.output_parsers import StrOutputParser

parser = StrOutputParser()

现在,我们有了三个组件:

  1. prompt_template (格式化输入)

  2. model (处理逻辑)

  3. parser (清理输出)

6. 完整 LangChain 的链

final_chain = prompt_template | model | parser

这行代码完美展示了 LCEL (LangChain Expression Language) 的简洁之美。

通过加上 parser,整个链的流转变得非常清晰:

  1. PromptTemplate:把你的变量填入模板。

  2. Model:接收格式化后的文本并生成回复。

  3. Parser:从模型回复中提取出纯文本字符串。

现在,当你运行 final_chain.invoke(...) 时,你得到的不再是一个复杂的对象,而是一个直接可以使用的翻译结果字符串

相关文章
|
21天前
|
人工智能 监控 安全
AI 应用开发全流程
AI应用开发以“数据+模型效果”为核心,不同于传统APP。2026主流流程涵盖:需求与可行性评估、架构选型(LLM/STT/TTS/RAG)、Prompt工程与微调、多模态交互设计、安全后端集成、红队测试及持续迭代。重在AI能力落地与儿童场景适配。
|
5天前
|
存储 人工智能 NoSQL
大模型应用开发3-LangChain4j实战
本文介绍了LangChain4j框架的使用方法,主要包括以下内容:1. 基础配置:创建SpringBoot项目并配置OpenAI聊天模型;2. AIServices工具类:简化模型调用,支持流式和阻塞式两种调用方式;3. 会话记忆功能:实现多轮对话记忆,支持会话隔离和Redis持久化存储;4. RAG检索增强:通过向量数据库存储和检索专业领域知识,提升大模型回答质量;5. Tools工具:通过Function Calling机制实现业务功能调用。文章详细讲解了每个功能的实现步骤,包括代码示例和配置方法,帮助
|
20天前
|
人工智能 API iOS开发
什么是龙虾AI🦞OpenClaw?OpenClaw能干升么?OpenClaw介绍及如何本地/云端部署喂饭级图文教程
OpenClaw(前身为Clawdbot/Moltbot)是一款遵循MIT协议的开源、本地优先的AI自动化代理引擎,作为面向个人与企业的自托管式AI数字员工,它以自然语言指令为驱动,可在本地或私有云环境中完成文件操作、流程编排、浏览器自动化、多IM平台交互等各类任务,实现了从传统AI“对话式建议”到“自动化执行”的核心跨越。2026年该工具完成了对国内云平台与本地系统的深度适配,尤其支持阿里云百炼免费大模型API的无缝对接,让零基础用户也能快速搭建专属的AI自动化助手。本文将详细讲解2026年新手零基础下阿里云、MacOS、Linux、Windows11本地部署OpenClaw的完整步骤,同时
686 24
|
2月前
|
数据采集 存储 自然语言处理
向量数据库实战——零基础搭建专属RAG知识库
本文手把手教你零代码搭建向量数据库,构建个人大模型知识库:5步完成数据清洗、入库、检索配置与测试,无需编程/本地GPU,10分钟上手RAG核心环节,解决大模型“记不住专属知识”难题。(239字)
|
6月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
6840 90
|
7月前
|
人工智能 JSON 自然语言处理
​​MCP协议:Agent交互的未来标准化之路​​
本文深入解析AI Agent核心能力——工具调用的工作机制,通过构建购物助手实例,详解Agent循环、行动类设计、安全防护与架构优化,并展望MCP协议在标准化交互中的应用前景。
879 1
|
机器学习/深度学习 自然语言处理 API
初识LangChain的快速入门指南
初识LangChain的快速入门指南
|
机器学习/深度学习 人工智能 缓存
最佳实践!使用 GraphRAG + GLM-4 对《红楼梦》全文构建中文增强检索
特别介绍`graphrag-practice-chinese`项目,这是一个针对中文优化的GraphRAG应用实例,通过改进文本切分策略、使用中文提示词及选择更适合中文的模型等手段,显著提升了处理中文内容的能力。项目不仅包括详细的搭建指南,还提供了《红楼梦》全文的索引构建与查询测试示例,非常适合个人学习和研究。
2602 1
|
Java API
LOG4J2-MDC-全链路跟踪等功能研究
LOG4J2-MDC-全链路跟踪等功能研究
719 0