30 秒看懂
Matthew Berman 演示两种基本聊天机器人界面:使用 Gradio 的 Python 笔记本,以及使用 API 连接器的 Bubble 应用。视频使用较早的 API 和 SDK 约定,读者应查看当前文档并保护 API 凭据。
- 1Python 配置Colab 笔记本安装 OpenAI 和 Gradio 库。
- 2请求与响应示例发送用户消息,并提取返回的消息内容。
- 3无代码连接器Bubble 的 API Connector 提供使用私有身份验证的 POST 操作。
- 4工作流与显示按钮发送输入、保存响应,并将其显示在文本元素中。
要点建议
- Python 示例将 API 调用封装在 Gradio 文本界面中。
- Bubble 示例将按钮工作流连接到 API 操作和响应显示。
- 原教程使用历史模型名称和 SDK 语法,可能需要更新。
- API 密钥必须保密,不应写入共享笔记本或客户端代码。
- 演示是基本的提示与响应界面,并非完整的对话历史实现。
按章节阅读整理后的全文
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 中启动。测试提示词要求讲一个笑话,并得到了回答。这只是简单的提示与响应演示;视频没有构建持久化对话历史。
Bubble API 连接器
他创建无代码应用,并配置经过身份验证的 JSON API 操作。凭据必须保密。
第二种方式使用 Bubble。我创建应用、安装 API Connector 插件,并为 chat-completion 端点配置私有授权头、JSON 内容类型和 POST 操作。分享应用时,凭据需要保持私密并留在服务端。
请求体指定模型和用户消息,并为提示词设置动态值。我用示例提示初始化调用,让 Bubble 能够检查响应结构。本教程使用视频展示的端点和设置,较新版本可能需要更新。
页面与工作流
他添加输入、按钮和响应元素,然后将工作流绑定到返回的消息。预览测试了短提示和较长提示。
在 Bubble 的设计视图中,我添加多行输入框、提交按钮和显示答案的文本元素。目标是让界面先具备功能,外观可以以后再调整。

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


预览中,我提交一个要求给出名字的提示词并收到回答。较长的答案最初被截断,于是我扩大文本元素并再次测试。两种方式都展示了用户界面如何发送提示词并显示 API 响应。
同频道的其他文章
25:50EN → 简体中文
32:20EN → 简体中文
1:03:37EN → 简体中文
0:53EN → 简体中文
0:22EN → 简体中文
45:08EN → 简体中文