DemoGPT AgentHub

从提示生成 Streamlit 应用,并可组合工具与 RAG 构建 Python 智能体。

Star 数
★ 1.9k
最近更新
5 个月前
License
MIT
主语言
Python

30 秒速览

可在哪里用
兼容但需适配OpenAI API
开始前需要
PythonpipStreamlitShell / 命令行网络访问本地文件系统
典型场景
希望把产品想法快速变成可运行 Streamlit 原型的 Python 开发者,可用 DemoGPT 的 instruction、title 和阶段式代码输出生成应用代码。
主要局限
文档中的主要模型接口是 OpenAIChatModel,示例使用 gpt-3.5-turbo 或 gpt-4o-mini,未给出其他提供商的适配配置。

这个 Agent 能做什么,适合哪些场景?

DemoGPT 是一个 Python 项目,包含用于从自然语言指令生成 LangChain 与 Streamlit 应用的 DemoGPT 管道,以及用于构建工具调用智能体的 DemoGPT AgentHub。其生成管道依次执行计划生成、任务创建、代码片段生成和最终代码组装,并以阶段 JSON 和最终 Streamlit 代码作为输出。AgentHub 提供 ToolCallingAgent、ReactAgent、BaseRAG、OpenAIChatModel、BaseTool 及一组内置工具。项目既可通过 pip 安装后运行 demogpt,也可作为 Python 库调用,或从源码用 Streamlit 启动。RAG 可将 PDF、TXT、CSV、JSON 文件加入向量库,并在 Chroma、Pinecone 或 FAISS 之间选择。

DemoGPT 的 Python 接口通过 DemoGPT(model_name="gpt-3.5-turbo") 接收 instruction 和 title,并在迭代过程中产出各生成阶段的 JSON;完成阶段提供最终 code。生成流程包括计划生成、由计划和指令创建任务、将任务转换为代码片段,以及组装最终的 Streamlit 应用代码。AgentHub 中可继承 BaseTool 编写 run 方法,再将工具和 OpenAIChatModel 传给 ToolCallingAgent 或 ReactAgent;README 列出的内置工具包括 TavilySearchTool、WeatherTool、PythonTool、BashTool、WikipediaTool、ArxivTool 与 YoloTool 等。BaseRAG 可通过 add_files 读取 PDF、TXT、CSV、JSON,使用 chroma、pinecone 或 faiss 向量库保存和检索内容;它也可作为 ReactAgent 的一个工具。

  1. 希望把产品想法快速变成可运行 Streamlit 原型的 Python 开发者,可用 DemoGPT 的 instruction、title 和阶段式代码输出生成应用代码。
  2. 需要为内部知识库问答加入文档检索的开发者,可用 BaseRAG 索引 PDF、TXT、CSV 或 JSON,再通过 run 查询内容。
  3. 要把搜索、天气和计算组合到一个问答工作流中的开发者,可将 TavilySearchTool、WeatherTool 和 PythonTool 传给 ToolCallingAgent 或 ReactAgent。
  4. 需要接入自有业务函数的 Python 团队,可继承 BaseTool,定义名称、描述和 run 方法,再把实例注册给智能体。
  5. 需要对图片 URL 做目标识别的开发者,可使用 YoloTool 配合 ReactAgent 获取检测到的对象和坐标。

如何安装或部署这个 Agent?

安装包:

pip install demogpt

从源码安装:

git clone https://github.com/melih-unsal/DemoGPT.git
cd DemoGPT

pip install .

README 的 Python 示例使用 OpenAIChatModel;若环境变量中没有 OPENAI_API_KEY,需要在 DemoGPT 初始化时通过 openai_api_key 参数提供密钥。

如何使用这个 Agent?

安装包后可运行:

demogpt

作为库使用:

from demogpt import DemoGPT
agent = DemoGPT(model_name="gpt-3.5-turbo")

for phase in agent(instruction="Your instruction here", title="Your title here"):

print(phase)

从源码启动界面:

streamlit run demogpt/app.py

要创建工具调用智能体,可用 OpenAIChatModel(model_name="gpt-4o-mini") 与工具实例创建 ToolCallingAgent 或 ReactAgent,然后调用 agent.run(query)。

这个 Agent 有哪些优点和局限?

优点
  • 同时提供提示到 Streamlit 代码的生成管道和可编程的 AgentHub,而非只提供单一聊天入口。
  • BaseRAG 明确支持 PDF、TXT、CSV、JSON 输入,以及 Chroma、Pinecone、FAISS 三种向量库选项。
  • BaseTool 的继承式扩展点使自定义工具可直接接入 ToolCallingAgent 和 ReactAgent。
  • README 列出搜索、天气、Python、Bash、学术检索、网页请求和 YOLO 图像检测等可组合工具。
局限
  • 文档中的主要模型接口是 OpenAIChatModel,示例使用 gpt-3.5-turbo 或 gpt-4o-mini,未给出其他提供商的适配配置。
  • 使用 OpenAI 示例时需要 OPENAI_API_KEY 或 openai_api_key;外部搜索、天气及 URL 工具也意味着网络依赖。
  • RAG 示例会在 persistent_path 写入向量库,且 reset_vectorstore=True 会移除已有向量库,采用前需审查存储路径。
  • 待办事项仍列有剩余 LangChain 任务、自我改进策略、Gorilla、Rapid API、Llama2 和公共检索数据库等未完成工作。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
DemoGPT AgentHub 当前 30 · 缺口较多 ★ 1.9k 5 个月前 Python OpenAI API
LangChain 与 LangGraph 智能体实战课 32 · 缺口较多 ★ 1.7k 21 天前
ai4j — Java AI Agentic 开发套件 52 · 缺口较多 ★ 429 4 天前 HTML OpenAI API · Claude API
Agent Craft 智能体教程 49 · 缺口较多 ★ 492 今天 Python OpenAI API

FollowAgents 如何评估这个 Agent?

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

证据显示:仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均未得到支持,因此得分为0。

可靠稳定3 / 14 · 1.1/5

证据显示:README和代码示例在工具名称和用法上基本一致,但存在不一致之处,如示例中使用了未定义的变量(如search_tool、weather_tool),且测试文件仅覆盖了LLM和RAG,未覆盖其他组件。依赖声明在pyproject.toml中,但未提供版本锁定或安全审计。失败消息未在文档中说明。因此,self_consistency得分为1,dependency_availability得分为1,failure_messages得分为0。

适用触发8 / 18 · 2.2/5

证据显示:README提供了多种使用场景(如创建工具、使用ReactAgent、RAG等),并给出了示例,因此audience_and_scenarios得分为2。capability_boundaries仅部分说明,如工具列表和RAG支持,但未明确边界。trigger_precision仅通过示例展示,未系统说明。environment_fit仅提及Python版本和依赖,未详细说明。因此,capability_boundaries、trigger_precision、environment_fit各得1分。

规范维护9 / 18 · 2.5/5

证据显示:README结构清晰,包含目录、安装、使用等,因此information_architecture得分为2。install_notes提供了pip安装和源码安装说明,得分为2。naming_stability未明确说明,但版本号存在,得分为1。examples_and_faq提供了多个示例,但无FAQ,得分为2。known_limitations未明确列出,得分为1。license为MIT,得分为2。versioning_changelog未提供,得分为1。maintenance_responsibility未明确,得分为1。

有效结果7 / 13 · 2.7/5

证据显示:output_usability通过示例展示了输出格式,得分为2。marginal_value提供了自动化生成Agent的能力,但未与其他工具对比,得分为2。cost_benefit未提供性能或成本数据,得分为1。

证据核验3 / 8 · 1.9/5

证据显示:claim_traceability部分,README中的声明未提供具体证据,得分为1。cross_source_corroboration未提供外部验证,得分为1。fact_inference_separation未明确区分事实和推断,得分为1。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 示例代码中使用了未定义的变量(如search_tool、weather_tool),可能导致用户复制后运行失败。
  • 依赖未固定版本,存在供应链安全风险。
  • 未提供安全审计或权限最小化说明,使用内置工具(如BashTool、PythonTool)时需谨慎。
证据充分度: 评估于 2026年8月9日 审查版本 aca748b71345
查看完整评分方法 →

常见问题

它是否需要 OpenAI 凭据?
README 的 DemoGPT 和 AgentHub 示例使用 OpenAI 模型;未设置 OPENAI_API_KEY 时,需要通过 openai_api_key 参数传入密钥。
RAG 可以处理哪些文件和向量库?
BaseRAG 示例支持添加 PDF、TXT、CSV、JSON 文件,并支持 chroma、pinecone、faiss 作为 vectorstore。
RAG 会改动本地文件吗?
会。示例将向量库写入 persistent_path;当 reset_vectorstore=True 时,示例显示会移除已有的 rag_chroma 向量库。
能否接入自定义业务工具?
可以。继承 BaseTool,设置 name 和 description,并实现 run 方法;随后将工具实例传给 ToolCallingAgent 或 ReactAgent。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents