要将ChatGPT变为专属聊天机器人,需获取OpenAI API密钥、安装Python依赖、编写bot.py调用gpt-4o模型、用列表管理对话历史并限制长度、最后用Flask搭建本地HTTP服务。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想让ChatGPT变成你专属的聊天机器人,不是只打开网页聊几句,而是让它持续响应特定用户、接入你的系统、按你的规则说话——这需要绕过官方界面,调用API并搭建轻量服务层。
获取OpenAI API密钥
登录 platform.openai.com → 点击右上角头像 → “View API keys” → “Create new secret key”。
生成后页面会【只显示一次】,复制下来立刻保存到安全位置,关掉页面就再也看不到这个密钥原文了。
别用主账户密码生成密钥,也别把密钥硬编码进前端代码里——它一旦泄露,别人能直接刷走你的额度。
安装Python环境与依赖
确保已安装 Python 3.9 或更高版本。
在终端运行:pip install openai python-dotenv flask。其中 flask 是为了后续启动本地Web服务,python-dotenv 用来安全加载密钥文件。
编写基础聊天接口
新建文件 bot.py,写入以下内容:
第一行导入:from openai import OpenAI;
第二行加载密钥:client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"));
第三步定义函数:def get_response(user_input): return client.chat.completions.create(model="gpt-4o", messages=[{"role": "user", "content": user_input}]).choices[0].message.content.strip()。
注意:这里必须用 gpt-4o 或 gpt-3.5-turbo 这类支持 chat/completions 的模型,旧版 text-davinci-003 已停用,调用会直接报错。
添加对话上下文管理
方法一:用列表维护历史消息
初始化一个空列表 conversation_history = [];每次用户发消息前,把 {"role": "user", "content": user_msg} append 进去;再把 {"role": "assistant", "content": bot_reply} 也 append 进去;调用 API 时传整个列表给 messages 参数。
方法二:限制历史长度防超长
用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。
在 append 新消息后加一句:if len(conversation_history) > 10: conversation_history = conversation_history[-10:],避免 token 超限导致请求失败。
启动本地HTTP服务
在 bot.py 底部追加 Flask 服务代码:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/chat", methods=["POST"])
def chat_endpoint():
data = request.get_json()
user_input = data.get("message", "")
reply = get_response(user_input)
return jsonify({"reply": reply})
if __name__ == "__main__":
app.run(host="127.0.0.1", port=5000, debug=False)
保存后,在终端执行 python bot.py,服务即启动。

















