使用 Python 或 Bubble 构建简单聊天机器人

原标题Building a Simple Chatbot With Python or Bubble

Matthew Berman 回顾一个使用 Colab、Gradio 和 Bubble 无代码工作流的历史 OpenAI API 演示。

MBMatthew Berman讲者 · Forward Future
频道
Matthew Berman
发布
2023年3月8日
视频
14:55
阅读
3 分钟
幻灯片
3
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

Matthew Berman 演示两种基本聊天机器人界面:使用 Gradio 的 Python 笔记本,以及使用 API 连接器的 Bubble 应用。视频使用较早的 API 和 SDK 约定,读者应查看当前文档并保护 API 凭据。

  1. 1Python 配置Colab 笔记本安装 OpenAI 和 Gradio 库。
  2. 2请求与响应示例发送用户消息,并提取返回的消息内容。
  3. 3无代码连接器Bubble 的 API Connector 提供使用私有身份验证的 POST 操作。
  4. 4工作流与显示按钮发送输入、保存响应,并将其显示在文本元素中。

要点建议

  1. Python 示例将 API 调用封装在 Gradio 文本界面中。
  2. Bubble 示例将按钮工作流连接到 API 操作和响应显示。
  3. 原教程使用历史模型名称和 SDK 语法,可能需要更新。
  4. API 密钥必须保密,不应写入共享笔记本或客户端代码。
  5. 演示是基本的提示与响应界面,并非完整的对话历史实现。
全文

按章节阅读整理后的全文

只看原始文稿
01

Python 与 Gradio

Berman 配置笔记本,并将 chat-completion 调用封装为简单界面。演示使用历史 API 语法。

我演示两种使用 OpenAI API 构建简单聊天机器人的方式:在 Python 笔记本中使用 Gradio,以及在 Bubble 中创建无代码界面。这是一份使用当时 API 和库的历史教程;当前界面、模型名称和 SDK 语法可能不同。

Python 示例需要 OpenAI API 密钥,以及用于 Colab 的 Google 账户。我创建笔记本并安装 OpenAI 和 Gradio 库。Colab 可以运行笔记本单元,方便实验,无须先配置本地 Python 环境。

示例导入库、配置 API 访问,然后定义一个函数,将用户提示词发送到 chat-completion 端点。演示使用的模型是 GPT-3.5 Turbo。API 凭据应保密,不应写入共享笔记本或客户端代码。

请求包含一个 messages 数组,其中有 user 角色和输入文本。我解释说,system 消息可以为助手提供一般指令,user 消息则包含提示词。响应中包含 choices,示例从中提取返回的消息文本。

我围绕函数创建一个 Gradio 界面,使用文本输入和输出,然后在 Colab 中启动。测试提示词要求讲一个笑话,并得到了回答。这只是简单的提示与响应演示;视频没有构建持久化对话历史。

02

Bubble API 连接器

他创建无代码应用,并配置经过身份验证的 JSON API 操作。凭据必须保密。

第二种方式使用 Bubble。我创建应用、安装 API Connector 插件,并为 chat-completion 端点配置私有授权头、JSON 内容类型和 POST 操作。分享应用时,凭据需要保持私密并留在服务端。

请求体指定模型和用户消息,并为提示词设置动态值。我用示例提示初始化调用,让 Bubble 能够检查响应结构。本教程使用视频展示的端点和设置,较新版本可能需要更新。

03

页面与工作流

他添加输入、按钮和响应元素,然后将工作流绑定到返回的消息。预览测试了短提示和较长提示。

在 Bubble 的设计视图中,我添加多行输入框、提交按钮和显示答案的文本元素。目标是让界面先具备功能,外观可以以后再调整。

Bubble 输入元素
幻灯片 1 / 3Bubble 输入元素设计视图展示了用于用户提示词的多行输入框。

按钮工作流调用 API 操作,并传入输入框的值。第二步将第一个返回消息的内容保存在响应元素的自定义状态中,然后把显示元素绑定到该状态。

保存 API 结果
幻灯片 2 / 3保存 API 结果工作流选择返回的一个结果,并将其保存在自定义状态中。
聊天机器人预览
幻灯片 3 / 3聊天机器人预览简单页面包含提示输入框和提交按钮。

预览中,我提交一个要求给出名字的提示词并收到回答。较长的答案最初被截断,于是我扩大文本元素并再次测试。两种方式都展示了用户界面如何发送提示词并显示 API 响应。

同频道的其他文章

6 张幻灯片25:50EN → 简体中文
MBMatthew Berman· 2026年10月24日Kimi K3.1 Pro 实测:3D 演示出色,表现不一,价格有竞争力Matthew Berman · Forward FutureMatthew Berman 测试这款开放权重模型的编程、3D 渲染和视觉讲解能力,并比较基准成绩与价格。Open-weight modelsBenchmarksAI cost & performance+1
2 张幻灯片32:20EN → 简体中文
MBMatthew Berman· 2026年10月23日本地 AI 究竟适合谁?成本、取舍与混合模式的未来Matthew Berman · Forward FutureMatthew Berman 权衡数据控制和自主权,与硬件成本、设置复杂度及推理速度之间的关系。Local inferenceOpen-weight modelsAI cost & performance+1
6 张幻灯片1:03:37EN → 简体中文
MBMatthew Berman· 2026年10月23日Matthew Berman 团队测试 Kimi K3.1:动画、游戏与图表Matthew Berman, Alex, Brian · Forward Future一场团队直播问答变成了对 Kimi K3.1 的非正式测试,内容涵盖个人智能体工作流、动态图形、浏览器游戏和基准图表。编程智能体Generative media评估+2
0:53EN → 简体中文
MBMatthew Berman· 2026年10月22日Sam Altman 谈 AI 与新知识的发现Sam Altman · OpenAIAltman 预计,数学发现方面的进展将延伸到生物学、材料和能源领域。AI for scienceMathematicsComputational Biology+1
幻灯片0:22EN → 简体中文
MBMatthew Berman· 2026年10月21日机器人保镖短片展示戏剧性的救援场景Matthew Berman · Forward FutureMatthew Berman 观看一段展示格斗与车辆救援场景的机器人短片。Robotics评估
45:08EN → 简体中文
MBMatthew Berman· 2026年10月21日Sam Altman 谈 AI 发现、意识、算力与以人为本的未来Matthew Berman, Sam Altman · Forward Future在与 Matthew Berman 的对谈中,Altman 讨论科学进步、个人助手、递归自我改进与人类自主权。AI for sciencePersonal agentsConsciousness+2