❝ 🧠 从机械应答到主动思考,打造真正懂你的AI! 本地部署、实时搜索、自动推理,手把手带你实现“能思考、会行动”的智能体。
🔍 为什么要构建智能 AI 代理?
传统的聊天机器人只能“听话”,但我们想要的是“会想”。借助 AI 代理技术,你可以赋予模型以下能力:
- ✅ 拆解复杂任务
- ✅ 自动调用搜索、计算等工具
- ✅ 多轮推理与纠错
- ✅ 实时作答、精准决策
这正是 ReAct 框架(Reasoning + Acting)的精髓:感知、推理、行动、验证,循环往复,直至完成任务。
🛠 技术栈选型:零门槛上手
- LangGraph :构建 AI 决策流程的图形化框架
- Ollama :在本地免费运行大模型(如 Llama3、Gemma、Mistral)
- 工具扩展 :支持自定义搜索器、计算器、API等
全部免费 & 开源 ,不用服务器,不用付费API,适合开发者和AI爱好者!
⚙️ 工作机制:像人一样解决问题
🌟 示例任务:
“布拉德·皮特女友现在几岁?”
代理会自动推理为: ① 查询现任女友是谁 → ② 获取出生日期 → ③ 调用计算器算年龄 → ④ 给出答案
🧪 实战上手:构建你的智能体
1️⃣ 环境配置
uv init ai\_agent
source .venv/bin/activate
echo "langchain langgraph langchain-ollama duckduckgo-search" > requirements.txt
uv add -r requirements.txt
2️⃣ 构建工具库
➤ 安全计算器:
from langchain\_core.tools import tool
import ast
@tool
def calculator(query: str) -> str:
"""计算数学表达式,如'2*(3+5)'"""
return ast.literal\_eval(query)
➤ 搜索工具:
from langchain\_community.tools import DuckDuckGoSearchRun
search = DuckDuckGoSearchRun()
tools = [search, calculator]
3️⃣ 本地部署 LLM 模型
ollama pull mistral
from langchain\_ollama import ChatOllama
model = ChatOllama(model="mistral", temperature=0.1).bind\_tools(tools)
4️⃣ 用 LangGraph 编排智能流程
from langgraph.graph import StateGraph, START
from typing import TypedDict
class State(TypedDict):
messages: list
def model\_node(state: State):
response = model.invoke(state["messages"])
return {"messages": response}
builder = StateGraph(State)
builder.add\_node("model", model\_node)
builder.add\_node("tools", ToolNode(tools))
builder.add\_edge(START, "model")
builder.add\_conditional\_edges("model", tools\_condition)
builder.add\_edge("tools", "model")
graph = builder.compile()
🧑🔬 运行你的AI代理
✅ 实时测试
from langchain\_core.messages import HumanMessage
input = {"messages": [HumanMessage("诺贝尔奖最年轻得主年龄?")]}
result = graph.invoke(input)
print(result["messages"][-1].content)
❝ 🧾 结果示例: “最年轻的诺贝尔奖得主是马拉拉·优素福扎伊,2014年获奖,年仅17岁。”
📊 代理决策全流程可视化!
使用 LangGraph Studio 监控你的 AI 行动过程:
uv pip install "langgraph-cli[inmem]"
langgraph dev
🔚 结语:人人都能拥有的“智能思考体”
你已掌握:
- 🎯 ReAct 决策循环
- 🔧 LangGraph 可视化工作流
- 🧠 Ollama 本地模型调用
- 🧰 自定义工具拓展
📌 行动清单
- 🚀 克隆 GitHub源码
- 🧪 尝试切换成 Llama3、Gemma 模型
- 🛠 添加你自己的工具模块(如天气、日历、数据库)
❝ 🤖 下一代AI,不再只是对话,而是能真正帮你做事。 从今天开始,构建你的第一个“会思考的AI代理”!
如果你觉得有用,欢迎分享给朋友,或者留言告诉我你构建的第一个代理是什么任务!
今天的内容就到这里,如果老铁觉得还行,可以来一波三连,感谢!