一步步教你搭建本地 AI 助手,带工具调用和记忆功能
从零开始,用 Ollama、LangChain 和 Qwen 在本地搭建一个能调用工具、记住对话的 AI 助手。
准备工作:你需要什么?
在开始之前,先确保你的电脑上安装了以下工具:
- Ollama:一个让你在本地运行大语言模型的工具。它支持 macOS、Windows 和 Linux。去 ollama.com 下载安装包,像装普通软件一样双击安装即可。
- Python 3.8+:编程语言,用来写控制逻辑。如果还没装,去 python.org 下载安装。
- Qwen 模型:一个开源的、适合本地运行的大语言模型。安装完 Ollama 后,打开终端(命令行),输入
ollama pull qwen:7b,它会自动下载。如果你想用更小的模型节省内存,可以用qwen:4b或qwen:1.8b。
常见坑提醒:下载模型需要网络,且文件较大(几 GB),请确保有足够磁盘空间和稳定网络。
安装 Python 库
我们需要安装 LangChain 及其相关库。打开终端,运行以下命令:
pip install langchain langchain-community langchain-ollama– 安装核心库。- 如果提示权限问题,可以在命令前加
pip install --user或使用虚拟环境。
安装完成后,可以测试一下:在 Python 中输入 import langchain,没有报错就说明成功了。
编写你的第一个本地 AI 助手
现在我们来写一个简单的程序,让 AI 能调用工具(比如获取当前时间)并记住对话。复制以下代码保存为 agent.py:
from langchain_ollama import ChatOllama
from langchain.agents import create_agent, Tool
from langchain.memory import ConversationBufferMemory
from langchain.schema import SystemMessage
from langchain.tools import tool
@tool
def get_current_time() -> str:
"""返回当前时间。"""
from datetime import datetime
return datetime.now().strftime("%H:%M:%S")
model = ChatOllama(model="qwen:7b", temperature=0)
tools = [get_current_time]
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
agent = create_agent(model, tools, memory=memory, system_message=SystemMessage(content="你是一个有用的助手。"))
while True:
user_input = input("你: ")
if user_input.lower() in ["exit", "quit"]:
break
response = agent.invoke({"input": user_input})
print("AI:", response["output"])这段代码做了三件事:
- 定义了一个“获取当前时间”的工具(工具就是 Python 函数,AI 可以自主决定是否调用它)。
- 创建了一个 AI 模型(Qwen 7B)。
- 设置了短期记忆:每次对话都会记住历史,所以你可以连续提问。
运行并测试
在终端中运行 python agent.py,然后输入问题试试:
现在几点了?– AI 应该会调用工具返回正确时间。那明天呢?– 因为记忆,AI 知道你在问明天的同一时间,会基于当前时间推算。- 输入
exit退出。
常见坑提醒:第一次运行需要加载模型,可能较慢(1-2分钟)。如果出现内存错误,可以换用 qwen:4b 或 qwen:1.8b 模型。
下一步可以做什么?
现在你已经有了一个能调用工具、记住对话的本地 AI。你可以:
- 添加更多工具,比如查天气、计算数学题、搜索本地文件。
- 改用其他模型,比如
llama3或mistral。 - 将短期记忆换成长期记忆(保存到数据库),实现跨会话记忆。
一切都在本地运行,保护隐私且免费。祝你玩得开心!
内容来源
freeCodeCamp
发布时间
2026-07-09 01:30