【手搓 AI Agent 从 0 到 1】第一课:Ollama + Qwen 跑起你的第一个 AI 程序
📌 前置知识:会 Python 基础 + 会用命令行
🎯 本课产出:一个能聊天的命令行 AI 程序
💡 工具:Ollama + Qwen2.5:7B + Python(0 成本、0门槛)
前言
最近 AI Agent 火得不行,但大多数教程要么太理论,要么要花钱调用 API(GPT-4、Gemini 都要钱)。
这个系列的目标是:用一台普通电脑 + 免费工具,从零开始手搓一个真正能跑的 Agent。
不花一分钱,不依赖任何付费 API。
一、环境准备
做 Python 项目,强烈建议使用虚拟环境,避免依赖冲突。
1.1 创建虚拟环境
# 创建虚拟环境
python -m venv ai-agent-env
# 进入项目目录
cd your-project-folder
1.2 激活虚拟环境
macOS / Linux:
source ai-agent-env/bin/activate
Windows:
ai-agent-env\Scripts\activate
激活成功后,终端前面会显示 (ai-agent-env),说明你在虚拟环境里了。
1.3 安装依赖
pip install requests openai ollama
💡 以后每次开始项目,都先激活虚拟环境。
二、安装 Ollama
Ollama 是一个让你在本地跑模型的工具,装好之后一行命令就能跑起各种大模型。
Windows / macOS / Linux:官网下载安装包 https://ollama.com/download
安装完成后,终端输入ollama --version验证。
三、下载 Qwen 模型
我们用千问(Qwen)——阿里开源的国产大模型,中文能力很强,而且完全免费。
ollama pull qwen2.5:7b
说明:
qwen2.5是版本,7b= 70亿参数。参数越大,模型能力越强。7B 模型约 4.7GB,普通显卡/集显也能跑。
查看已下载的模型:
ollama list
四、先用命令行试试
直接对话测试:
ollama run qwen2.5:7b
输入:
你好,请介绍一下你自己
看到回答说明安装成功。按 Ctrl + D 退出。
五、Python 调用 LLM 的 N 种方式
下面是本文重点——用 Python 程序调用本地 LLM。我介绍 4 种主流方式:
4.1 方式一:requests(最简单)
直接用 HTTP 请求调用 Ollama API。
安装依赖:
pip install requests
代码:
import requests
def chat(prompt, model="qwen2.5:7b"):
"""单次对话"""
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()["response"]
if __name__ == '__main__':
result = chat("用一句话解释什么是Python")
print(result)
运行效果:
Python是一种高级编程语言,设计简单清晰,适用于多种编程任务。
4.2 方式二:OpenAI 兼容方式
Ollama 兼容 OpenAI 的 API 格式,可以用一个统一的接口调用。
安装依赖:
pip install openai
代码:
from openai import OpenAI
# Ollama 的 OpenAI 兼容端点
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # Ollama 不需要真正的 key,随便填
)
def chat(prompt, model="qwen2.5:7b"):
"""使用 OpenAI SDK 调用本地模型"""
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
stream=False
)
return response.choices[0].message.content
# 测试
result = chat("什么是大语言模型?")
print(result)
优点: 如果你以后想切换到真正的 OpenAI API,只需要改一行配置。
4.3 方式三:ollama 官方 SDK(最规范)
Ollama 官方提供的 Python SDK,API 更规范。
安装依赖:
pip install ollama
代码:
import ollama
def chat(prompt, model="qwen2.5:7b"):
"""使用官方 SDK 调用"""
response = ollama.chat(
model=model,
messages=[{'role': 'user', 'content': prompt}]
)
return response['message']['content']
# 测试
result = chat("你好,请介绍一下你自己")
print(result)
优点: API 清晰,功能完善(支持流式、embedding 等)。
4.4 方式四:流式输出(打字机效果)
让 AI 的回答一个字一个字地出来,体验更好。
import requests
import json
def chat_stream(prompt, model="qwen2.5:7b"):
response = requests.post(
"http://localhost:11434/api/chat",
json={
"model": model,
"messages": [{"role": "user", "content": prompt}],
"stream": True
},
stream=True
)
response.raise_for_status()
print("AI: ", end="", flush=True)
for line in response.iter_lines():
if not line:
continue
data = json.loads(line.decode("utf-8"))
content = data.get("message", {}).get("content", "")
print(content, end="", flush=True)
if data.get("done", False):
break
print()
if __name__ == '__main__':
chat_stream("用 5 句话介绍一下 Python")
运行效果:
AI: Python 是一种高级编程语言,以其简洁和清晰的语法著称。
它广泛应用于Web开发、数据科学、人工智能等领域。
Python 支持多种编程范式,并拥有庞大的标准库和第三方库资源。
无论初学者还是专业人士都能轻松使用。
4.5 方式五:curl 命令(最直接)
如果你不想写 Python,直接用 curl 命令也行:
curl http://localhost:11434/api/generate \
-d '{
"model": "qwen2.5:7b",
"prompt": "用一句话介绍 Python"
}'
六、完整项目:命令行 AI 助手
整合以上内容,做成一个真正能用的 AI 助手:
import requests
def chat(prompt, model="qwen2.5:7b"):
"""发送消息给本地模型"""
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()["response"]
if __name__ == "__main__":
print("=" * 50)
print("本地 AI 助手已启动")
print("模型:Qwen2.5:7B(运行在你自己电脑上)")
print("输入 q 退出")
print("=" * 50)
print()
while True:
user_input = input("你: ")
if user_input.lower() == "q":
print("再见!")
break
reply = chat(user_input)
print(f"AI: {reply}\n")
保存为 ai_chat.py,运行:
python ai_chat.py
七、Ollama API 速查
| API | 地址 | 说明 |
|---|---|---|
| Generate | POST /api/generate |
单次生成 |
| Chat | POST /api/chat |
对话(带历史) |
| Embeddings | POST /api/embeddings |
向量嵌入 |
| 模型列表 | GET /api/tags |
查看已下载模型 |
八、常见问题
Q:提示 connection refused?
A:先确保 Ollama 服务在运行。新开一个终端窗口,输入 ollama serve,保持运行。
Q:7B 模型跑不动?
A:7B 模型需要至少 8GB 内存(或 6GB 显存)。如果实在跑不动,换回 qwen2.5:3b(更小更快)。
Q:怎么换其他模型?
A:去 https://ollama.com/library 下载,比如 ollama pull llama3.2。
九、下期预告
第二课:赋予模型一个角色(System Prompt)
学完这课,你将能让 AI 扮演 Python 老师、技术面试官、翻译助手……
敬请期待!
完整代码获取
关注公众号「开源情报局」,回复「Agent」获取本课完整源码。
本文为《手搓 AI Agent 从 0 到 1》系列教程第 1 课
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)