RestGPT

让大语言模型通过 REST API 完成电影与音乐应用任务。

Star 数
★ 1.4k
最近更新
2 年前
License
MIT
主语言
Python

30 秒速览

运行形态
命令行工具
可在哪里用
平台专用OpenAI API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
langchaincoloramatiktokenspotipyopenaiShell / 命令行网络访问本地文件系统
典型场景
研究人员在 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。

  1. 研究人员在 TMDB 场景评估多步 API 规划时,可运行 RestBench-TMDB 的 100 条人工标注指令及其解题路径。
  2. 开发者需要把“查询今日最热门电影的导演”拆解为趋势查询与影片演职员查询时,可参考 TMDB 示例流程。
  3. Spotify 用户需要创建名为 “Love Mariah” 且包含三首 Mariah Carey 歌曲的播放列表时,可使用仓库展示的搜索、获取用户、创建播放列表和添加曲目的流程。
  4. 研究团队想研究自然语言子任务、API 选择、参数组织和响应解析如何串成 REST 调用链时,可使用该仓库的模块化框架。
  5. 需要对 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?

FollowAgents 源码审查 · FARS-2.1
缺口较多
42/ 100 五分制 2.1 / 5
信任安全 7/29
可靠稳定 6/14
适用触发 9/18
规范维护 9/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

证据显示:README 明确要求用户提供 OpenAI、TMDB、Spotify 的 API 密钥,并警告初始化 Spotify 环境会删除用户数据,这体现了对敏感数据和外部影响的关注。但代码中未发现权限最小化、用户确认、数据流透明、回滚或依赖安全的具体实现。扣分原因:缺少这些机制的代码证据。

可靠稳定6 / 14 · 2.1/5

证据显示:README 和代码结构一致,模块划分清晰,但依赖安装仅列出包名,未固定版本,且未提供故障消息的详细说明。扣分原因:依赖可用性未验证,故障处理文档不足。

适用触发9 / 18 · 2.5/5

证据显示:README 描述了面向研究者和开发者的使用场景,提供了 TMDB 和 Spotify 两个示例,并说明了能力边界(仅限 RESTful API 控制)。但触发精度(如 API 选择逻辑)和运行环境要求(如 Spotify 设备)未详细说明。扣分原因:环境适配和触发精度文档不足。

规范维护9 / 18 · 2.5/5

证据显示:README 结构清晰,包含安装说明、示例和引用,MIT 许可证明确。但缺少版本变更日志、命名稳定性说明和维护责任声明。扣分原因:版本管理和维护信息缺失。

有效结果7 / 13 · 2.7/5

证据显示:README 提供了使用示例和基准测试,输出为自然语言指令执行结果,具有边际价值。但未提供成本效益分析或性能数据。扣分原因:成本效益未量化。

证据核验4 / 8 · 2.5/5

证据显示:README 引用了 arXiv 论文,提供了基准测试数据,但未提供可复现的实验步骤或结果验证。扣分原因:事实与推断未明确区分,缺乏交叉验证。

风险与缓解建议
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 初始化 Spotify 环境会删除用户数据,需谨慎操作。
  • 依赖未固定版本,可能存在供应链风险。
  • API 密钥处理未明确,需确保安全存储。
证据充分度:低 评估于 2026年8月9日 审查版本 d99012860cb4
评估证据 README.mdLICENSE
查看完整评分方法 →

常见问题

需要哪些凭证?
需要 OpenAI key、TMDB key 和 Spotify key,并填入 config.yaml。
它能操作哪些应用?
README 明确提供 TMDB 电影数据库和 Spotify 音乐播放器两个场景。
运行会产生哪些外部调用?
系统通过 Executor 调用 RESTful API;因此需要网络连接及相应服务的有效凭证。
Spotify 初始化安全吗?
不安全操作。README 警告 python init_spotify.py 会移除 Spotify 中的所有数据。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents