简单实现一个LangChain Agent

什么是 LangChain Agent?

简单说: Agent = 大语言模型 + 工具 + 自主决策能力。

普通的大模型只能"说",而 Agent 能"做" ------ 它可以根据问题判断是否需要调用外部工具(比如计算器、文件读取、数据库查询),执行后再整合结果,给出最终答案。这就像给 AI 装上了"手脚"。而 LangChain 是一个流行的开源框架,帮我们轻松构建这样的智能体。

启动本地大模型服务

这里也可以使用联网的大模型, 我本地使用LmStudio, 不知道怎么使用的可以看之前以前的文章

https://blog.csdn.net/winerpro/article/details/147027367?spm=1001.2014.3001.5501

安装 Python 依赖

python 复制代码
pip install langchain langchain-openai

代码

python 复制代码
from langchain_openai import ChatOpenAI
from langchain_classic.agents.initialize import initialize_agent
from langchain_classic.agents import Tool, AgentType

# 配置本地大模型(替换为你自己的本地地址和模型名)
llm = ChatOpenAI(model='qwen2.5-7b-instruct-1m',base_url='http://127.0.0.1:1234/v1',temperature=0.5,api_key='123')

#定义一个超简单的工具:只支持加法
def add_two_numbers(query: str) -> str:
    """输入格式应为 'a + b',例如 '123 + 456'"""
    print('\n')
    print("正在处理:", query)
    print('\n')
    try:
        parts = query.split('+')
        a = float(parts[0].strip())
        b = float(parts[1].strip())
        return str(a + b)
    except:
        return "格式错误,请输入类似 '10 + 20' 的表达式"

#把函数包装成 LangChain 工具
tools = [
    Tool(
        name="Adder",
        func=add_two_numbers,
        description="用于计算两个数字相加,输入必须是 '数字 + 数字' 的形式"
    )
]

#创建 Agent(使用 ReAct 思维链)
agent = initialize_agent(
    tools,
    llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True  # 打印思考过程,方便学习
)

# 测试
if __name__ == "__main__":
    question = "123 加 456 等于多少?"
    print(f"用户问:{question}\n")
    result = agent.run(question)
    print(f"\n最终答案:{result}")

输出结果

这就是著名的 ReAct(Reason + Act)机制:

**Reason(推理):**模型先思考"我能不能直接答?不能,得用工具。"

**Act(行动):**决定调用哪个工具,并生成输入

**Observe(观察):**拿到工具返回的结果

**Repeat or Answer:**继续推理,或给出最终答案

相关推荐
敏叔V58710 小时前
LangChain × LlamaIndex:解锁复杂AI工作流与自定义工具集成的终极指南
人工智能·langchain
人工干智能12 小时前
LangChain的提示模板template中的{tool_names}和{agent_scratchpad}
langchain·llm
San30.13 小时前
LangChain 第二课:拒绝“废话”,用 Zod 强制 AI 输出标准 JSON
人工智能·langchain·json
敏叔V58714 小时前
AI应用开发框架对比:LangChain vs. Semantic Kernel vs. DSPy 深度解析
人工智能·驱动开发·langchain
weixin_462446231 天前
使用 Chainlit +langchain+ LangGraph + MCP + Ollama 构建可视化 AI 工具 Agent(完整实战)
人工智能·langchain·agent·ai聊天·mcp server
南_山无梅落1 天前
create_deep_agent vs create_agent 的区别
人工智能·langchain·deepagent
红鼻子时代1 天前
第9篇:Middleware中间件
langchain·middleware中间件
老蒋每日coding2 天前
大模型应用开发入门:用VSCode跑通第一个LangChain程序
langchain
学Linux的语莫2 天前
基于ollama、llamafile部署的大模型使用
linux·服务器·python·langchain·llama
万里不留行2 天前
【LangChain V1.0学习】第二课:批处理与持久化对话(通过完成情感机器人多轮对话进行学习)
人工智能·python·学习·语言模型·langchain