搭建本地AI开发环境

5 阅读4分钟

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)