如何用 AI API 搭建自己的聊天机器人
你是否想过拥有一个完全运行在自己电脑上的聊天机器人,可以自由切换模型、掌控每一段对话?随着大模型 API 的普及,这件事比想象中简单得多。本文将带你从零开始,用 Python 调用 AI API,搭建一个带命令行交互和 Web 界面的聊天机器人。
## 第一步:选择合适的 API 与模型
目前主流的模型包括 OpenAI 的 GPT 系列、Anthropic 的 Claude、DeepSeek 的大模型,以及通义千问(Qwen)等。它们大多提供了兼容 OpenAI 接口风格的 API,这意味着你可以用同一套代码接入不同模型,只需要修改 `base_url` 和 `api_key`。
如果你希望按量计费、用 USDT 直接支付,并且同时访问多种模型,后文会推荐一个方便的 API 中转站。但现在,我们先从代码开始。
## 第二步:安装依赖
确保你已经安装 Python 3.8+,然后在终端中执行:
```bash pip install openai gradio ```
我们使用 `openai` 官方 Python 库来调用兼容接口,并用 `gradio` 快速构建 Web 界面。
## 第三步:编写命令行聊天脚本
创建一个 `chat_cli.py` 文件,填入以下代码:
```python import openai
client = openai.OpenAI( api_key="你的API密钥", base_url="https://api.example.com/v1" # 替换为实际的API地址 )
messages = [{"role": "system", "content": "你是一个有帮助的助手。"}]
print("聊天机器人已启动(输入 quit 退出)") while True: user_input = input("You: ") if user_input.lower() == "quit": break messages.append({"role": "user", "content": user_input}) response = client.chat.completions.create( model="deepseek-chat", # 模型名称根据API提供方调整 messages=messages, temperature=0.7, max_tokens=1024 ) reply = response.choices[0].message.content print(f"Bot: {reply}") messages.append({"role": "assistant", "content": reply}) ```
运行脚本后,你就可以在终端里与机器人对话。它会把每一轮对话记录在 `messages` 列表中,模型因此能记住上下文。
## 第四步:用 Gradio 搭建 Web 界面
命令行虽然简洁,但分享给朋友就不方便了。接下来我们升级成网页版。新建 `chat_web.py`:
```python import openai import gradio as gr
client = openai.OpenAI( api_key="你的API密钥", base_url="https://api.example.com/v1" )
def predict(message, history): history_openai_format = [{"role": "system", "content": "你是一个有帮助的助手。"}] for human, assistant in history: history_openai_format.append({"role": "user", "content": human}) history_openai_format.append({"role": "assistant", "content": assistant}) history_openai_format.append({"role": "user", "content": message}) response = client.chat.completions.create( model="deepseek-chat", messages=history_openai_format, temperature=0.7, max_tokens=1024, stream=True ) partial_message = "" for chunk in response: if chunk.choices[0].delta.content: partial_message += chunk.choices[0].delta.content yield partial_message
gr.ChatInterface( predict, title="我的聊天机器人", description="基于 AI API 的智能助手" ).launch() ```
这段代码开启了流式输出,机器人会像打字一样逐字显示回复。启动后,浏览器会自动打开 `http://127.0.0.1:7860`,一个漂亮的聊天界面就完成了。
## 第五步:灵活切换模型与付费
上面的代码中,模型名称、`base_url` 和 `api_key` 都是可以灵活替换的。如果你想同时使用 DeepSeek、Qwen、Claude、Gemini 等多个模型,而不想分别注册多个平台的账号并充值,不妨试试 **TokenPocket API 中转站**。
它提供了统一的 OpenAI 兼容接口,你只需在后台切换模型名称,即可调用不同厂商的大模型。所有模型按量计费,直接用 USDT 支付,不用担心信用卡绑定和汇率问题。新用户注册还会赠送免费额度,非常适合用来测试和开发原型。
简单修改代码中的 `base_url` 为 `https://tokenpocket.site/v1`,再填入从网站获取的密钥,你就能立即体验到 DeepSeek、Claude、Qwen、Gemini 等多个模型的效果差异。
至此,你的聊天机器人已经拥有了专业的骨架。你还可以继续扩展功能:添加工具调用、联网搜索、对话历史保存,甚至部署到服务器上供朋友使用。动手试试吧,AI API 的世界远比你想象的广阔。