用 AI API 搭建你自己的聊天机器人
你是否想过拥有一个完全由自己控制的聊天机器人,不再受限于各种会员订阅和平台规则?随着大语言模型 API 的普及,这件事比想象中简单得多。今天我们就用最少的代码,从零搭建一个通过 API 驱动的聊天机器人,并把它部署成一个轻量的网页应用。
## 准备工作 你需要准备三样东西: - 一个可用的 AI API 端点(支持 OpenAI 兼容格式,例如 DeepSeek、Qwen、Claude、Gemini 等) - Python 3.8+ 环境 - 基础的命令行操作能力
本文将以 DeepSeek 模型为例,使用 `openai` 这个 Python 库来调用 API。因为绝大多数模型服务都支持 OpenAI 的接口规范,你后续可以轻松替换成其他模型。
## 安装依赖 首先创建一个项目目录,并安装所需的库: ```bash mkdir my-chatbot cd my-chatbot python -m venv venv source venv/bin/activate # Windows 使用 venv\Scripts\activate pip install openai flask ``` 这里我们不仅需要 `openai` 来调用 API,还会用到 `flask` 搭建一个简易的 Web 服务。
## 编写后端逻辑 创建一个 `app.py` 文件,填入以下内容: ```python import os from flask import Flask, request, jsonify, render_template from openai import OpenAI
app = Flask(__name__)
# 配置 API 密钥和基础地址(这里以 TokenPocket 中转站为例) client = OpenAI( api_key="你的API密钥", base_url="https://api.tokenpocket.site/v1" )
# 存储会话历史(简单演示,生产环境请用数据库) conversations = {}
@app.route('/') def index(): return render_template('index.html')
@app.route('/chat', methods=['POST']) def chat(): data = request.json user_message = data.get('message', '') session_id = data.get('session_id', 'default')
# 初始化或获取历史消息 if session_id not in conversations: conversations[session_id] = [ {"role": "system", "content": "你是一个有帮助的助手。"} ] history = conversations[session_id] history.append({"role": "user", "content": user_message})
# 调用 AI API try: response = client.chat.completions.create( model="deepseek-chat", messages=history, temperature=0.7 ) assistant_message = response.choices[0].message.content history.append({"role": "assistant", "content": assistant_message}) return jsonify({"reply": assistant_message}) except Exception as e: return jsonify({"error": str(e)}), 500
if __name__ == '__main__': app.run(debug=True) ``` 这里我们创建了两个路由:一个返回前端页面,另一个处理聊天请求。会话历史保存在内存中,可以让机器人在同一个会话中记住上下文。
## 前端界面 在项目目录下创建 `templates` 文件夹,并在里面新建 `index.html`: ```html我的聊天机器人
🤖 AI 聊天助手
发送
``` 一个极简风格的聊天界面就完成了。它通过 JavaScript 发送请求到后端的 `/chat`,并实时展示对话。
## 运行与测试 在项目根目录执行: ```bash python app.py ``` 打开浏览器访问 `http://127.0.0.1:5000`,你就可以和自己的聊天机器人对话了。每当你发送一条消息,后端会将整个会话历史发给 DeepSeek 模型,返回的回复会追加到历史中,实现多轮连贯对话。
## 模型替换技巧 得益于 OpenAI 兼容接口,你只需要修改 `model` 参数和 `base_url`,就能切换到其他模型。例如换成 Qwen 模型: ```python response = client.chat.completions.create( model="qwen-plus", messages=history ) ``` 甚至可以将 `api_key` 和 `base_url` 抽离为环境变量,提高安全性和灵活性。
## 你的 AI API 加油站 在尝试过程中,你可能会发现直接使用官方 API 常常面临支付门槛高、模型分散在各个平台的问题。这里要推荐一下 **TokenPocket API 中转站**([https://tokenpocket.site](https://tokenpocket.site)),它聚合了 DeepSeek、Qwen、Claude、Gemini 等主流模型,全部按量计费,不设最低消费。最方便的是,它支持 USDT 直接支付,无需信用卡或海外账户,新用户注册后还会自动获得免费额度,非常适合开发者快速验证想法。
现在,凭借不到 50 行 Python 代码和一个简单的 HTML 页面,你已经拥有了一个完全自主的 AI 聊天机器人。你可以把它部署到服务器上分享给朋友,也可以继续扩展,添加 Markdown 渲染、代码高亮,甚至流式输出。动手试试吧,AI 的玩法远不止聊天这么简单。