openai/openai-chatkit-advanced-samples
Starter app to build with OpenAI ChatKit SDK
解决的问题
本仓库提供了一系列高级的、场景驱动的演示,展示如何使用 OpenAI ChatKit SDK 构建复杂的 AI 聊天界面。它弥合了简单聊天机器人与完全集成的应用程序体验之间的差距,展示了如何将 AI 代理与实时 UI 状态、外部数据和交互式组件同步。
工作原理
每个示例都由使用 ChatKit Python SDK 的 FastAPI 后端和使用 ChatKit.js 的 Vite + React 前端组成。该系统实现了双向信息流:
- 服务器 → 客户端:后端可以流式传输「客户端效果」以更新 UI(例如更新地图或猫的属性),并发送带有动作配置的交互式组件。
- 客户端 → 服务器:前端可以通过客户端工具调用向代理提供当前 UI 状态(例如选中的地图节点),并发送特定命令或实体提及(@提及)。
- 代理集成:代理使用函数工具来检索应用数据、管理会话状态并触发 UI 变化,而专用的「标题代理」会自动为对话命名。
适用人群
正在构建复杂 AI 驱动应用的开发者,希望看到将 LLM 与交互式前端、状态管理及复杂 UI 组件集成的生产就绪模式。
主要亮点
- 交互式组件:实现同时具备客户端和服务器端动作处理器的组件,实现无缝的用户交互。
- UI 状态同步:允许代理读取和修改前端状态(例如同步地铁地图画布或客户资料)。
- 上下文感知:利用请求头实现页面感知的响应,将 AI 回答范围限定在当前页面内容。
- 丰富媒体支持:端到端支持图像附件、语音转文字转录,以及集成的图像生成进度跟踪。
- 高级导航:支持对实体(文章、车站等)的 @提及,以及编配器命令(如
/care或/find-events),以简化用户输入。
相关
- 项目
- 项目
- 项目
- 项目
- 项目