如何使用ChatGPT构建聊天机器人

小磊同学_4105

小磊同学_4105

2026-06-06

726人浏览

原创

要将chatgpt变为专属聊天机器人,需获取openai api密钥、安装python依赖、编写bot.py调用gpt-4o模型、用列表管理对话历史并限制长度、最后用flask搭建本地http服务。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何使用chatgpt构建聊天机器人

想让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 参数。

方法二:限制历史长度防超长

Ask Gemini/ChatGPT
Ask Gemini/ChatGPT

用于在用户想通过浏览器自动化与 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,服务即启动。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

20

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

20

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

0

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

0

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

0

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

20

15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

20

20

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

2026.10.15

20

18

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

2026.10.15

20

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ChatGPT入门手册
ChatGPT入门手册

共0课时 | 0人学习

ChatGPT使用教学
ChatGPT使用教学

共2课时 | 220人学习