开启AI大模型应用开发新篇:LangChain打造智能体基础

以LangChain与GPT - 4o - mini构建大模型智能体开发实战

在最近一段时间里,大模型所具备的能力一直在持续取得突破,这使得构建智能代理(Agent)系统成为了开发者们积极追逐的热点领域。

本文将会以LangChain框架作为核心,结合GPT - 4o - mini模型,通过接入工具以及运用消息修剪策略,来实现一个拥有记忆功能、能够调用搜索以及执行函数能力的智能体。

环境筹备与模型初始化

使用LangChain的时候,首先需要对语言模型进行初始化操作,这里所采用的是由OpenAI提供的GPT - 4o - mini模型。

# llm_env.py
from langchain.chat_models import init_chat_model

llm = init_chat_model("gpt-4o-mini", model_provider="openai")

我们会把它封装在llm_env.py文件中,以便主程序进行导入。

主程序结构剖析

主逻辑文件是main_agent_trim.py,它具备以下功能:
- 工具的整合
- PostgreSQL持久化配置
- 消息修剪策略
- Agent交互循环

工具函数与搜索工具接入

我们首先定义了一个简单的数学函数add,同时接入了TavilySearchResults搜索工具,以此来增强智能体获取外部知识的能力。

def add(a: int, b: int) -> int:
    return a + b

search = TavilySearchResults(max_results=5)
tools = [add, search]

配置LangGraph持久化存储

我们运用PostgresSaver来记录agent的状态以及历史会话,从而支持多轮对话的记忆功能。

DB_URI = "postgresql://postgres:123456@localhost:5432/langchaindemo?sslmode=disable"
with PostgresSaver.from_conn_string(DB_URI) as checkpointer:
    checkpointer.setup()

用户输入thread_id时,我们会组合当天的日期来生成唯一的标识符,以确保每个会话线程都能够独立追溯。

消息修剪策略设计

为了把控模型输入token的上限,我们引入了trim_messages方法,在每一轮对话之前进行修剪操作:

def pre_model_hook(state):
    trimmer = trim_messages(
        max_tokens=65,
        strategy="last",
        token_counter=llm_env.llm,
        include_system=True,
        allow_partial=False,
        start_on="human",
    )
    trimmed_messages = trimmer.invoke(state["messages"])
    return {"llm_input_messages": trimmed_messages}

该策略仅仅保留最近的用户消息,避免长对话历史超出token限制,进而影响模型的响应。

构建智能体执行器

借助create_react_agent方法来创建智能体,传入模型、工具、hook以及checkpoint。

agent_excuter = create_react_agent(
    llm_env.llm,
    tools,
    pre_model_hook=pre_model_hook,
    checkpointer=checkpointer,
)

与智能体交互

程序进入循环模式,接收用户输入,执行智能体的推理过程,并输出响应内容以及工具调用情况。

while True:
    query = input("你: ")
    if query.strip().lower() == "exit":
        break
    input_messages = [HumanMessage(query)]
    response = agent_excuter.invoke({"messages": input_messages}, config=config)
    for message in response["messages"]:
        if hasattr(message, "content") and message.content:
            print(f"{message.type}:{message.content}")
        if hasattr(message, "tool_calls") and message.tool_calls:
            print(f"{message.type}:{message.tool_calls}")

示例

<p>开启AI大模型应用开发新篇:LangChain打造智能体基础</p>

总结

本文展示了如何基于LangChain框架构建一个集合了搜索、函数执行、消息修剪以及状态持久化为一体的智能体系统。通过合理设计hook以及工具链,我们能够持续拓展其功能范畴。

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12611.html

赞 (0)
LomuLomu
上一篇 2025 年 6 月 22 日
下一篇 2025 年 6 月 22 日

相关推荐

  • 全网最热最新idea激活码,权威idea破解教程大礼包

    免责声明:以下补丁与激活码均源自互联网,仅供个人学习交流,禁止商业用途。若条件允许,请支持正版! IntelliJ IDEA 是 JetBrains 出品的跨平台 IDE,支持 Windows、macOS 及 Linux。下文将手把手教你通过离线补丁永久解锁全部高级特性,无需区分版本与系统。 激活成功效果预览 补丁生效后,许可证面板会显示有效期至 2099 …

    IDEA破解教程 2025 年 11 月 11 日
    34400
  • 很多人总在最后一步绕路,chatgpt充值教程和chatgpt充值方法这次按顺序说

    真到要下单的时候,大家最常见的问题不是完全不会,而是把 chatgpt充值教程 看了好几版、chatgpt充值方法 也收藏了几种,最后还是不知道先做哪一步。其实第一次处理这件事,顺序比信息量更重要:先确认自己要不要现在开,再确认入口,再完成支付,整个流程会清楚很多。 如果你最近就在找一个省心的开通方式,我自己更常用下面这个入口,国内支付顺手,到账也快,不用在…

    ChatGPT 2026 年 4 月 22 日
    28600
  • 2025年最新DataGrip激活码分享 | 永久破解DataGrip详细教程 💻

    想要免费使用DataGrip到2099年吗?🤩 本教程将手把手教你如何永久激活DataGrip,适用于所有JetBrains系列产品(包括IDEA、PyCharm等)! 先看破解成果 ✨ 成功破解后,你的DataGrip有效期将延长至2099年!看看这个令人心动的截图: 准备工作 🛠️ 下载DataGrip安装包 如果已经安装可以跳过这一步哦~1. 访问官网…

    DataGrip激活码 2025 年 6 月 19 日
    91500
  • HarmonyOS NEXT的分布式软总线技术架构探密

    探索HarmonyOS NEXT的分布式软总线技术架构 随着物联网的蓬勃发展,预计到2030年全球联网设备将超2000亿,而异构设备间的互联难题愈发凸显。分布式软总线作为HarmonyOS生态的核心所在,凭借软件虚拟总线的方式突破物理限制,让不同品牌设备可即插即用、共享算力,操作延迟低于50ms,有效解决适配成本高的问题,满足用户对设备协同的需求,为万物互联…

    2025 年 7 月 6 日
    52600
  • idea激活码领取渠道大全,最详细破解教程汇总

    声明:下文所述 IntelliJ IDEA 破解补丁与激活码均源自网络公开分享,仅限个人学习研究,禁止商用。若条件允许,请支持正版!官方正版低至 32 元/年,全家桶随登随用:https://panghu.hicxy.com/shop/?id=18 先放战果:IDEA 2025.2.1 已成功激活至 2099 年,截图如下,爽歪歪! 下面用图文手把手演示最新…

    IDEA破解教程 2025 年 11 月 10 日
    35000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信