1,安装 Python 环境(所有 AI 的地基)
官网下载 Python:www.python.org/downloads/, 安装必勾选:Add Python to PATH(环境变量,不勾选后面全部报错),安装完成打开 cmd 验证:
D:\work\python\ollama>python --version
Python 3.12.7
D:\work\python\ollama>pip --version
pip 24.2 from C:\Users\PC\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12)
2,创建独立 AI 虚拟环境(最重要,避免库乱掉),每个 AI 项目单独环境,不污染电脑全局库。
通过命令 python -m venv ai_env 执行创建 ai_env 虚拟环境。
通过cmd打开命令行,在Scripts下执行.\activate,
出现如下命令行显示:
(ai_env) D:\work\python\ai_env\Scripts>
终端前面出现 (ai_env) 字样,代表AI 环境搭建成功!
3,安装通用 AI 开发全家桶库
进入虚拟环境后,一次性安装所有主流 AI 开发依赖:pip install openai langchain langchain-ollama transformers accelerate torch llama-index python-dotenv requests
(ai_env) D:\work\python\ai_env\Scripts>pip install openai langchain langchain-ollama transformers accelerate torch llama-index python-dotenv requests
装完你就拥有:外网大模型 API 调用(GPT);国内大模型 API(通义、文心、混元);本地开源大模型运行能力;知识库 RAG 检索;Agent 智能体基础框架;文本处理、报文解析工具链。
到这里,基础 AI 开发环境全部搭建完成!
4,本地私有化 AI 环境
采用Ollama,完全离线、内网可用、不上传数据,不用 API 密钥、不用外网、电脑本地跑大模型。
下载安装 Ollama 打开官网:ollama.com/, 点 Download 下载完 直接双击安装;
安装完 重新打开一个 CMD Ollama 会自动加入系统 PATH,必须重启 CMD 才能识别;
直接运行(不需要进入虚拟环境)命令:ollama run llama3,运行轻量开源模型 Llama3。
执行了ollama run llama3后,等待自动下载模型,下载完直接本地对话,在本地对话框中,可以通过 /exit 退出对话框。
可以运行如下命令:
ollama list # 查看本地模型
ollama pull qwen2 # 拉取阿里通义千问本地版
ollama stop llama3 # 停止模型
5,本地模型 Python 调用
Ollama 默认开启本地服务 http://localhost:11434
编写test.py代码如下:
# 导入 requests 库,这个库是 Python 最常用的发送网络请求的工具。作用是让你能调用本地 Ollama AI 接口。
# 若在执行中报错ModuleNotFoundError: No module named 'requests' ,则需要安装,pip install requests
import requests
try:
# 定义 AI 接口地址,localhost = 你的电脑,11434 = Ollama 默认端口,/api/chat = 聊天接口
# 这是访问本地离线大模型的固定地址
url = "http://localhost:11434/api/chat"
data = {
"model": "qwen2", ## 用哪个模型:本地千问
# 对话内容列表,"role": "user" 表示这是用户说的话,"content": "请编写一段打印..." 表示是你给 AI 的问题
"messages": [{"role": "user", "content": "请编写一段打印Hello world,qiwen arrived的python代码"}],
# ollama 默认是流式输出(streaming),不能直接 .json (),关闭流式输出,才能正常返回JSON。
# True = 一段一段输出文字(流式),False = 一次性返回完整 JSON
"stream": False
}
# 向本地 AI 发送请求,并获取返回结果,也即把你的问题交给本地 qwen2 大模型处理。
resp = requests.post(url, json=data)
# 把 AI 返回的 JSON 字符串转换成 Python 字典,转换成 Python 字典后,你才能读取里面的内容。
result = resp.json()
# 从返回结果里,把 AI 回答的文字拿出来并打印
print(result["message"]["content"])
except Exception as e:
print("错误:", e)
执行上面的代码,会输出如下内容:
D:\work\python\ollama>python test.py
当然可以,以下是使用Python打印"Hello World, Qiwen Arrived"的一段代码:
print("Hello World, Qiwen Arrived")
你可以将这段代码复制到你的Python环境中运行。这会输出一行文本:"Hello World, Qiwen Arrived"。
6,聊天机器人实践 编写chat_robot.py,代码如下:
import requests
# 本地 Ollama 通义千问接口
API_URL = "http://localhost:11434/api/chat"
MODEL = "qwen2"
# 对话历史记忆(核心:实现连续聊天)
chat_history = []
def ai_reply(user_input):
# 把用户最新的话加入历史
chat_history.append({"role": "user", "content": user_input})
# 组装请求数据
data = {
"model": MODEL,
"messages": chat_history,
"stream": False
}
try:
resp = requests.post(API_URL, json=data)
resp.raise_for_status() # 如果请求出错(404/500),直接抛出异常
result = resp.json()
ai_message = result["message"]["content"]
# AI的回复也存入历史,实现上下文记忆
chat_history.append({"role": "assistant", "content": ai_message})
return ai_message
except Exception as e:
return f"AI连接失败,请检查Ollama是否启动!\n错误信息:{e}"
# 终端聊天主循环
if __name__ == "__main__":
print("="*50)
print(" 🤖 本地离线AI聊天机器人(通义千问Qwen2)")
print(" 输入内容聊天,输入 exit 退出机器人")
print("="*50)
while True:
user = input("\n👤 你:")
if user.lower() == "exit":
print("🤖 AI:再见!")
break
print("🤖 AI:", end="")
answer = ai_reply(user)
print(answer)