RestGPT
让大语言模型通过 REST API 完成电影与音乐应用任务。
- Star 数
- ★ 1.4k
- 最近更新
- 2 年前
- License
- MIT
- 主语言
- Python
- FA 评分
- 42/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 研究人员在 TMDB 场景评估多步 API 规划时,可运行 RestBench-TMDB 的 100 条人工标注指令及其解题路径。
- 不适合
- 只想接入自有 REST API 的开发者,仓库仅提供 TMDB 与 Spotify 场景
- 不愿承担 Spotify 数据被清空风险的团队,初始化脚本会删除全部数据
这个 Agent 能做什么,适合哪些场景?
RestGPT 是论文《RestGPT: Connecting Large Language Models with Real-World RESTful APIs》的代码实现,用于让大语言模型控制真实应用。它采用迭代式、由粗到细的在线规划框架,并通过执行器调用 RESTful API。系统由 Planner、API selector 和 Executor 组成;Executor 进一步包含 Caller 与 Parser,后者会根据响应 schema 生成 Python 解析代码。仓库提供 TMDB 电影数据库和 Spotify 音乐播放器场景,并以命令行脚本运行;README 未说明长期运行服务、Web 界面或托管部署方式。
用户运行 python run.py 后输入 TMDB 或 Spotify 场景及自然语言指令。Planner 为当前步骤生成自然语言子任务,API selector 将其映射为更细的 API 调用计划;Executor 执行计划。Caller 依据 API 计划和 API 文档组织参数,Parser 依据响应 schema 生成 Python 代码来解析 API 响应。批量评测可用 python run_tmdb.py 顺序执行 RestBench-TMDB 指令;python run_spotify.py 用于 RestBench-Spotify,但执行前需手动修改 query_idx,并在设备上打开 Spotify。
- 研究人员在 TMDB 场景评估多步 API 规划时,可运行 RestBench-TMDB 的 100 条人工标注指令及其解题路径。
- 开发者需要把“查询今日最热门电影的导演”拆解为趋势查询与影片演职员查询时,可参考 TMDB 示例流程。
- Spotify 用户需要创建名为 “Love Mariah” 且包含三首 Mariah Carey 歌曲的播放列表时,可使用仓库展示的搜索、获取用户、创建播放列表和添加曲目的流程。
- 研究团队想研究自然语言子任务、API 选择、参数组织和响应解析如何串成 REST 调用链时,可使用该仓库的模块化框架。
- 需要对 TMDB 与 Spotify 两个真实场景的不同 API 路径长度进行比较时,可使用 RestBench 提供的统计和金标路径。
如何安装或部署这个 Agent?
安装已列出的依赖:pip install langchain colorama tiktoken spotipy openai。创建日志目录:mkdir logs。从 OpenAI 获取 OpenAI key,从 TMDB 和 Spotify 开发者文档获取相应密钥,并将自己的密钥填入 config.yaml;README 未提供 config.yaml 的字段格式或 Python 版本要求。
如何使用这个 Agent?
完成密钥配置后,运行 python run.py,然后输入场景(TMDB/Spotify)和指令。批量运行 TMDB 基准使用 python run_tmdb.py;运行 Spotify 基准使用 python run_spotify.py,并先手动修改 query_idx、在设备上打开 Spotify。可选的 python init_spotify.py 会移除 Spotify 中的所有数据,只有在明确需要初始化环境时才应运行。
这个 Agent 有哪些优点和局限?
- 将规划、API 选择、参数构造和响应解析拆分为明确模块,而不是只展示单次 API 调用。
- RestBench 覆盖 TMDB 和 Spotify 两个真实场景,并提供人工标注的金标解题路径。
- Parser 明确以响应 schema 为依据生成 Python 解析代码,覆盖了 REST 调用后的响应处理环节。
- 仓库提供交互式入口及 TMDB、Spotify 两个批量运行脚本。
- 运行依赖 OpenAI key,且 README 只列出 OpenAI 作为模型凭证来源。
- 可验证的场景仅为 TMDB 与 Spotify;没有文档说明如何接入其他 REST API 或应用。
- Spotify 基准需要设备上打开 Spotify,并要求用户手动修改
query_idx。 init_spotify.py会移除 Spotify 中的所有数据,初始化存在明显的数据风险。- README 未给出
config.yaml的字段格式、Python 版本或服务化部署说明。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| RestGPT 当前 | 42 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.4k | 2 年前 | Python | OpenAI API |
| zer0dex 本地双层记忆 | 84 · 表现良好 | 命令行工具免费 | ★ 60 | 2 天前 | Python | — |
| InPlan 交互式规划编辑器 | 81 · 表现良好 | 命令行工具免费版 + 付费版 | ★ 23 | 1 个月前 | TypeScript | Claude Code |
| NotebookLM Python 自动化套件 | 81 · 表现良好 | 命令行工具免费 + 模型费 | ★ 19k | 1 天前 | Python | Codex · Claude Code · Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 明确要求用户提供 OpenAI、TMDB、Spotify 的 API 密钥,并警告初始化 Spotify 环境会删除用户数据,这体现了对敏感数据和外部影响的关注。但代码中未发现权限最小化、用户确认、数据流透明、回滚或依赖安全的具体实现。扣分原因:缺少这些机制的代码证据。
证据显示:README 和代码结构一致,模块划分清晰,但依赖安装仅列出包名,未固定版本,且未提供故障消息的详细说明。扣分原因:依赖可用性未验证,故障处理文档不足。
证据显示:README 描述了面向研究者和开发者的使用场景,提供了 TMDB 和 Spotify 两个示例,并说明了能力边界(仅限 RESTful API 控制)。但触发精度(如 API 选择逻辑)和运行环境要求(如 Spotify 设备)未详细说明。扣分原因:环境适配和触发精度文档不足。
证据显示:README 结构清晰,包含安装说明、示例和引用,MIT 许可证明确。但缺少版本变更日志、命名稳定性说明和维护责任声明。扣分原因:版本管理和维护信息缺失。
证据显示:README 提供了使用示例和基准测试,输出为自然语言指令执行结果,具有边际价值。但未提供成本效益分析或性能数据。扣分原因:成本效益未量化。
证据显示:README 引用了 arXiv 论文,提供了基准测试数据,但未提供可复现的实验步骤或结果验证。扣分原因:事实与推断未明确区分,缺乏交叉验证。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 初始化 Spotify 环境会删除用户数据,需谨慎操作。
- 依赖未固定版本,可能存在供应链风险。
- API 密钥处理未明确,需确保安全存储。
常见问题
需要哪些凭证?
config.yaml。它能操作哪些应用?
运行会产生哪些外部调用?
Spotify 初始化安全吗?
python init_spotify.py 会移除 Spotify 中的所有数据。