简单实现一个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:**继续推理,或给出最终答案

相关推荐
mingo_敏1 小时前
DeepAgents : 权限(Permissions)
人工智能·深度学习·langchain
眼泪划过的星空7 小时前
基于 LangChain 框架构建本地化 RAG 系统:无需调用云端 API 的完整实践
人工智能·langchain
YUS云生8 小时前
大模型学习·第41天:LangChain进阶——提示词模板与Chain链式调用
学习·langchain·c#
颜酱1 天前
13 | 使用 LangChain 生成 SQL
人工智能·python·langchain
小猪咪piggy1 天前
【AI 赋能测试】Langchain 框架的使用
人工智能·chrome·langchain
艾斯特_2 天前
langGraph
人工智能·python·langchain
未知违规用户2 天前
大模型项目:知识库构建工具与 LangChain 操作ChromaDB
人工智能·python·langchain·numpy
chaors2 天前
DeepResearchSystem 0x04:MAS 进阶
langchain·agent·ai编程
_Jimmy_2 天前
Agent 溯源精度提升方案
人工智能·python·langchain
颜酱2 天前
09 | 重构项目结构
人工智能·python·langchain