> 自媒体 > (AI)人工智能 > 在 10 分钟内构建一个 Python + ChatGPT-3.5 聊天机器人
在 10 分钟内构建一个 Python + ChatGPT-3.5 聊天机器人
来源:AI中国
2025-09-20 15:24:33
120
管理

通过代码示例,帮助初学者在几分钟内学习使用 Python 和 OpenAI 的 API 构建一个简单的聊天机器人。

图片来自 Unsplash

今天,我对 ChatGPT 的存在感到平静——但当它第一次推出时,我很害怕。我妈妈是一名四年级的老师,她立即告诉我(一位职业作家和技术内容经理)我很快就要失业了。多年后,我仍然受雇,现在努力让 ChatGPT 成为我的盟友。我不仅开始体会到它的帮助,而且我还认为当机器人接管时,不要成为第一敌人是明智的。

话虽如此,为什么我还要喋喋不休呢?嗯,了解敌人是与它交朋友的一步。使用 AI 是一项非常有价值的技能。这不仅仅是问 ChatGPT 问题(我现在很喜欢)。学习如何与模型一起编码是真正利用 GPT 功能的下一步。

我设计了这个教程,就是为了帮助初学者开始理解 ChatGPT 的 API 和响应逻辑。它不会教你如何在 GPT 上构建一个花哨的应用程序,但它会帮助你了解如何编写与 openai(ChatGPT 的创建者)API 交互的代码。由于这是一个简洁的教程,因此我使用 Jupyter Notebook 构建了它。Jupyter Notebook 非常适合原型设计和测试想法。如果您不熟悉 Jupyter Notebooks,请查看此入门指南。

OpenAI 入门在 platform.openai.com 注册。访问 API 控制面板。转到 API 密钥页面 ,单击“创建新的密钥”并立即复制密钥。您以后将无法再次查看它。添加账单信息。虽然 OpenAI 提供免费试用,但我添加了一种付款方式。10 美元的信用额度通常足以试验 GPT-3.5。注意:您需要免费试用或有效计费才能使用 GPT-3.5。使用 ChatGPT-3.5 构建聊天机器人

导入所需的库和依赖项

将以下内容粘贴到您的第一个 Jupyter Notebook 单元格中:

openai 允许您与 OpenAI 的模型进行交互,例如 GPT-3.5。 python-dotenv 安全地管理 API 密钥等敏感信息,将它们从 .env 文件加载到 Python 环境中。

导入模块

使用以下代码导入 openai、os 和 dotenv,它们有助于配置环境并与 API 交互:

加载您的 API 密钥

确保您已在 OpenAI 控制面板中创建 API 密钥。现在,您将设置一个 .env 文件来安全地存储它:

将实际的 API 密钥粘贴到 sk-proj-api-key-here 的位置。接下来,将密钥加载到笔记本中:

定义 Chatbot 功能

在这里,我们定义了聊天机器人如何与 OpenAI 的 API 通信并处理对话。

该方法 openai.chat.completions.create() 是专为交互式聊天设计的最新 API 调用。此方法允许通过发送消息列表并根据正在进行的对话接收相关响应来与 GPT-3.5 进行实时通信。

GPT-3.5 等 GPT 模型旨在在会话期间保留内存。这意味着他们参考了对话的早期部分,以提供更连贯和有用的回应。我们的 chat_with_gpt 函数接受一个消息列表,该列表用作正在进行的对话历史记录。这有助于助手在上下文中做出响应。

列表中的每条消息都包含一个 “role” 值,用于告诉模型消息来自谁:

“user” 表示提问者GPT 响应的 “助手”“system” 设置行为指令(可选)

temperature 值控制助手响应的随机性或创造性。范围从 0 到 1,其中 0 是响应的可预测端,1 表示更随机和更具创意。建议将 0.7 作为最佳平衡。

API 返回响应对象。从那里,我们使用 choices[0].message.content 提取助手的回复,它指的是 GPT 生成的实际文本。

运行 Chat 循环

现在,我们将使聊天机器人具有交互性,以便用户可以与模型进行持续对话。

while True: user_input = input("You: ") if user_input.lower() in ["exit", "quit"]: print("Goodbye!") break messages.append({"role": "user", "content": user_input}) reply = chat_with_gpt(messages) messages.append({"role": "assistant", "content": reply}) print(f"Assistant: {reply}")

此部分设置一个无限循环,允许聊天机器人继续运行,直到用户键入 exit 或 quit。无限循环通过跟踪已经说过的内容,使聊天机器人成为对话式并“了解”过去的消息。此循环使对话继续进行,同时保留上下文。该上下文允许 GPT-3.5 以更自然、更有意义的方式做出响应。

以下是逐步发生的事情:

聊天机器人使用 input() 提示用户输入。如果用户键入 “exit” 或 “quit”,则循环中断,聊天机器人说再见。如果用户没有键入 “exit” 或 “quit”,messages.append(...) 会将用户的最后一条消息添加到对话历史记录中。调用函数 chat_with_gpt(messages) 来获取助手的响应。助手的回复也使用 messages.append(...) 添加到历史记录中。最后,将响应打印到控制台,以便用户可以读取它。与机器人交朋友

该项目让您对如何使用 GPT-3.5 构建聊天机器人有一个基本的了解。虽然这只是一个开始,但您现在知道如何使用 OpenAI API 进行身份验证、维护对话循环以及使用 Jupyter Notebooks 测试和运行代码。这是迈向更高级的 AI 开发和与机器人交朋友的重要第一步。

0
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
相关文章
全新五菱宏光MINI EV官图发布,这次玩起了复古甜趣风
说实话,看到第五代宏光MINIEV官图的第一眼,我的第一反应是:五菱这次总..
五菱星光L最新实车组图,大六座布局,实用性强
近日,有网友在街头拍摄到了五菱星光L的最新实车的组图,新车采用的是大..
第五代五菱宏光MINIEV即将上市,外观全新设计,提供两门/四门版..
汽车走进生活,选最适合自己的车。哈喽,大家好,我是红涛说车。五菱宏光..
五菱终于想通了!新款MINIEV配四门,2190mm轴距专治后排痛点..
不废话,直奔主题,来聊聊刚刚露出真容的第五代五菱宏光MINIEV。看到这台..
五菱造中大型SUV了,气势不输揽胜,老百姓真能买得起这豪华感?..
2026年2月初,有人在街上拍到五菱的新车星光L,它没有贴伪装,这是五菱推..
五菱造中大型SUV了,网友拍到实车却不敢信,这车真能卖30万?..
2026年2月上旬,有人在街上拍到一辆没贴伪装膜的五菱新车,外形和揽胜比..
智能摄像机“小巨人”今日申购,上汽通用五菱“小伙伴”上市丨打新早知道..
2月26日,可申购北交所的觅睿科技(920036.BJ);另有一只新股上市,为北..
每周车闻:五菱五代 MINIEV 换新亮相 路虎全新车型消息曝光..
每周车闻,这一栏内容主要是我个人挑选出的本周值得关注的汽车资讯,那么..
新一代五菱宏光MINIEV实车现身,尺寸升级+四门,配悬浮大屏+怀挡..
自2020年上市以来,五菱宏光MINIEV累计销量已超190万辆!而接下来为了实..
关于作者
烽火(普通会员)
文章
2019
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40418 企业收录2986 印章生成263660 电子证书1157 电子名片68 自媒体112502

0
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索