面包屑图标 当前位置: 首页
AI资讯
热点详情

天学会AI应用开发:LangChain封装AI执行链

AI热点日报
AI热点日报时间:2026-07-19
热点解读

在前一篇文章中,我们已初步体验了LangChain的基础调用方法。然而,LangChain的真正价值远不止于此——它能够将多个AI组件封装为可执行的链式任务,实现复杂流程的自动化编排。就像把一个个独立零件组装成高效流水线,让大模型依次完成每一步操作,无需人工干预。 一、构造大模型实例 在开始之前,先

在前一篇文章中,我们已初步体验了LangChain的基础调用方法。然而,LangChain的真正价值远不止于此——它能够将多个AI组件封装为可执行的链式任务,实现复杂流程的自动化编排。就像把一个个独立零件组装成高效流水线,让大模型依次完成每一步操作,无需人工干预。

15天学会AI应用开发(十五)使用LangChain封装AI执行链

一、构造大模型实例

在开始之前,先导入所需的工具模块。这里需要引入LangChain的OllamaLLM模块,从而与本地运行的Ollama大模型建立连接:

from langchain_ollama import OllamaLLM

接下来,创建一个OllamaLLM实例。其中model参数是必填项,用于指定要加载的大模型名称,例如:

# 连接本地离线大模型(Ollama)
llm = OllamaLLM(model="qwen2:1.5b")

model外,OllamaLLM还提供了多个可选参数,方便开发者根据实际应用场景灵活调整模型行为。以下是几个核心参数的详细说明:

  • model:模型名称,例如"qwen:7b"、"llama3"、"deepseek-r1"等。
  • base_url:服务地址,默认本地地址为"http://localhost:11434"。
  • temperature:模型温度,即随机性。取值范围0~1,默认0.8。值越低,回答越严谨、确定;值越高,回答越具创意和跳跃性。
  • num_ctx:上下文Token的最大数量,默认2048。值越大,模型能记住的对话内容越长。
  • num_predict:回答内容Token的最大数量,默认128。设置为-1表示不限制输出长度,-2表示填满整个上下文。
  • keep_alive:模型在内存中常驻的时长,频繁调用时建议开启。默认"5m"表示5分钟,"-1"表示永久常驻,"0"表示用完即关。
  • validate_model_on_init:初始化时是否校验模型是否存在,默认True表示启动时检查。

举例来说,以下代码创建了一个定制了多个参数的大模型实例:

llm = OllamaLLM(
    model="qwen2:1.5b",
    base_url="http://localhost:11434",
    temperature=0.7,
    num_ctx=4096,
    num_predict=1024,
    keep_alive="-1",
    validate_model_on_init=True
)

二、构建提示词模板

导入PromptTemplate模块,这是构建提示词模板的核心工具:

from langchain_core.prompts import PromptTemplate

PromptTemplate的from_template方法接受一个字符串作为模板。字符串开头是提示词内容,末尾用{input}占位,表示用户输入的问题将在此处插入。

例如,以下代码构建了一个简单的提示词模板:

prompt = PromptTemplate.from_template("""
    你是专业助手,请简洁回答:
    {input}
""")

提示词的第一句“你是专业助手,请简洁回答”为模型划定了回答风格——简明扼要,避免冗长。后面的{input}是占位符,实际调用时会将用户输入的问题替换进去。

三、组装 AI 执行链

为什么LangChain要引入“执行链”这一概念?这需要从传统调用方式说起。按照程序设计顺序控制流程,每次接口调用都需要经历三步:封装请求内容→执行接口调用→解析应答内容,写成代码大致如下:

# 无链 → 手写每一步,巨繁琐!
prompt_text = prompt.format(input="你的问题")    # 1 手动拼模板
response = llm.invoke(prompt_text)               # 2 手动调模型
result = parser.parse(response)                  # 3 手动解析

可以看到,虽然上一行代码的输出就是下一行代码的输入,但每次都需要拆成三个语句依次调用,非常繁琐。

LangChain的执行链正是为解决这一痛点而设计。它将“构建提示词、调用模型、记忆(可选)、检索(可选)、解析应答”等操作,按顺序串联成一条自动流水线。只需一次性启动组装好的执行链,LangChain就会自动完成全流程,无需再写多条语句。

组装执行链之前,先导入所需的工具包:

from langchain_core.runnables import RunnableSequence
from langchain_core.output_parsers import StrOutputParser

然后,用RunnableSequence将三个操作串联起来:

chain = RunnableSequence(
    prompt
    | llm
    | StrOutputParser()
)

实际上,RunnableSequence这个类名完全可以省略,直接用管道操作符|连接各环节,代码更简洁:

chain = (
    prompt
    | llm
    | StrOutputParser()
)

甚至还能进一步简化,去掉外围的圆括号,变成一行代码:

chain = prompt | llm | StrOutputParser()

这样一来,组装过程中所有方法调用和参数传递都消失了,只剩下各环节的实例名称,代码量大幅减少,可读性也显著提升。

四、通过执行链调用离线大模型

现在,将前面三步串联起来,实现一个完整的AI对话功能。

首先,在命令行执行下面的pip安装命令,确保所有依赖包都已安装:

pip install langchain langchain-core langchain-ollama

接着,启动Ollama并加载离线大模型:

ollama serve

然后,编写下面的Python聊天测试代码,让用户在控制台输入问题,实现实时交互:

from langchain_core.prompts import PromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_ollama import OllamaLLM

def main():
    # 1. 连接本地Ollama离线模型,替换成你本地模型名
    llm = OllamaLLM(
        model="qwen2:1.5b",
        base_url="http://127.0.0.1:11434",
        temperature=0.7  # 随机性 0严谨~1创意
    )

    # 2. 构建对话模板
    prompt = PromptTemplate.from_template("""
        你是专业助手,请简洁回答:
        {input}
    """)

    # 3. 组装执行链
    chain = prompt | llm | StrOutputParser()

    # 4. 循环问答聊天
    print("===== 离线AI聊天助手(输入exit退出)=====")
    while True:
        user_text = input("请输入问题:")
        if user_text.lower() in ["exit", "quit", "退出"]:
            print("对话结束")
            break
        print("AI思考中...")
        response = chain.invoke(user_text)
        print(f"AI回复:{response}n")

if __name__ == "__main__":
    main()

运行这段代码,根据提示输入问题“LangChain是什么?”,输出结果如下:

===== 离线AI聊天助手(输入exit退出)=====
请输入问题:LangChain是什么?
AI思考中...
AI回复:Langchain 是一个基于 PyTorch 的开源语言模型推理框架,用于构建和训练大型的预训练模型。它提供了一个简单的 API 来处理输入数据,然后返回文本或代码作为输出。

通过调用LangChain的执行链,一个简单的AI对话功能已经跑通。接下来,我们还将继续探索如何给AI对话添加记忆功能,让模型能够记住上下文,实现更自然、连贯的连续对话。

热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:天学会AI应用开发:LangChain封装AI执行链要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://developer.volcengine.com/articles/7663933878565863433
AI应用开发

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-19 22:31
帝奥微电子发布1pA超低偏置电流运算放大器新品

帝奥微电子推出DIO20182双通道运算放大器,输入偏置电流低至1pA,静态电流每通道仅300nA,支持1 4V至5 5V宽电压范围,适用于智能手表等便携设备中微弱光电流信号放大,实现血氧饱和度精准检测。

AI热点2026-07-19 22:31
焦虑的企服人抱团治疗内耗实用经验

在企服行业对SaaS的争议中,79%从业者依然看好市场前景。成本压力主要来自拓客、履约和回款,这导致了“二分苦八分甜”的格局。为了缓解焦虑,需要采取具体行动,通过云化与协同生态来重塑商业模式,从而减少内耗,实现更健康的增长。

AI热点2026-07-19 22:30
Coze开源后我用LLM与OCR打造文档智能问答Agent

基于Coze平台,结合TextIn专有模型的OCR解析能力与DeepSeek大语言模型的语义理解,构建了零代码文档智能问答Agent。该方案可高效处理合同审核、技术支持等场景,通过工作流实现文档上传、结构解析与精准问答,提升信息检索效率。

AI热点2026-07-19 22:30
字节开源扣子助力企业数字化转型新机遇

字节开源AI开发平台扣子,具备低门槛、多模态交互和字节生态融合优势,支持私有化部署与深度定制,助力企业降本增效、保障数据安全,成为数字化转型新引擎。

延伸阅读