DemoGPT AgentHub

Generate Streamlit apps from prompts and compose Python agents with tools and RAG.

Stars
★ 1.9k
Last updated
5mo ago
License
MIT
Primary language
Python

At a glance

Works with
Portable with changesOpenAI API
You'll need
PythonpipStreamlitShell / CLINetwork accessLocal filesystem
Typical use
A Python developer prototyping an interactive product idea can submit an instruction and title to DemoGPT and receive staged output culminating in Streamlit code.
Main limitation
The documented model interface centers on OpenAIChatModel and examples use gpt-3.5-turbo or gpt-4o-mini; no configuration path for another provider is shown.

What does this agent do, and when should you use it?

DemoGPT is a Python project with a DemoGPT pipeline for generating LangChain and Streamlit applications from natural-language instructions, plus DemoGPT AgentHub for tool-using agents. Its generation pipeline plans work, creates tasks, produces code snippets, and assembles final code, returning stage JSON and final Streamlit code. AgentHub exposes ToolCallingAgent, ReactAgent, BaseRAG, OpenAIChatModel, BaseTool, and a set of built-in tools. It can be installed with pip and launched with demogpt, imported as a Python library, or run from source with Streamlit. BaseRAG can add PDF, TXT, CSV, and JSON files to Chroma, Pinecone, or FAISS vector stores.

The Python interface creates DemoGPT(model_name="gpt-3.5-turbo"), accepts an instruction and title, and yields JSON for each generation stage; the completed stage includes final code. The documented pipeline generates a plan, derives tasks from the plan and instruction, turns tasks into code snippets, and assembles a Streamlit application. In AgentHub, developers subclass BaseTool and implement run, then provide those tools and an OpenAIChatModel to ToolCallingAgent or ReactAgent; documented built-ins include TavilySearchTool, WeatherTool, PythonTool, BashTool, WikipediaTool, ArxivTool, and YoloTool. BaseRAG reads PDF, TXT, CSV, and JSON through add_files, stores and retrieves content with chroma, pinecone, or faiss, and can itself be supplied as a ReactAgent tool.

  1. A Python developer prototyping an interactive product idea can submit an instruction and title to DemoGPT and receive staged output culminating in Streamlit code.
  2. A developer building question answering over internal documents can index PDF, TXT, CSV, or JSON files with BaseRAG and query the resulting store.
  3. A developer combining web search, weather lookup, and calculation in one workflow can pass TavilySearchTool, WeatherTool, and PythonTool to ToolCallingAgent or ReactAgent.
  4. A Python team with a domain-specific function can subclass BaseTool, implement name, description, and run, then register the tool with an agent.
  5. A developer who needs object detection for an image URL can use YoloTool with ReactAgent to obtain detected objects and coordinates.

How do you install or deploy this agent?

Install the package:

pip install demogpt

Install from source:

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

pip install .

The documented Python examples use OpenAIChatModel. If OPENAI_API_KEY is not set in the environment, provide the key through the DemoGPT openai_api_key argument.

How do you use this agent?

After package installation, run:

demogpt

Use the library:

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)

Run the source UI:

streamlit run demogpt/app.py

For a tool-calling agent, construct ToolCallingAgent or ReactAgent with tool instances and OpenAIChatModel(model_name="gpt-4o-mini"), then call agent.run(query).

What are this agent's strengths and limitations?

Pros
  • It combines a prompt-to-Streamlit code-generation pipeline with a programmable AgentHub instead of offering only a chat interface.
  • BaseRAG explicitly supports PDF, TXT, CSV, and JSON inputs plus Chroma, Pinecone, and FAISS vector-store choices.
  • The BaseTool inheritance point lets developers add custom tools directly to ToolCallingAgent and ReactAgent.
  • The documented tool set spans search, weather, Python, Bash, academic search, URL requests, and YOLO image detection.
Limitations
  • The documented model interface centers on OpenAIChatModel and examples use gpt-3.5-turbo or gpt-4o-mini; no configuration path for another provider is shown.
  • The OpenAI examples require OPENAI_API_KEY or openai_api_key, while external search, weather, and URL tools also depend on network access.
  • The RAG example writes a vector store at persistent_path, and reset_vectorstore=True removes an existing store, so storage paths need review before use.
  • The to-do list still includes remaining LangChain tasks, self-refinement, Gorilla, Rapid API, Llama2, and a public retrieval database.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Stars Updated Language Full support on
DemoGPT AgentHub This agent 30 · Major gaps ★ 1.9k 5mo ago Python OpenAI API
LangChain & LangGraph Agent Course 32 · Major gaps ★ 1.7k 21d ago
ai4j — Java AI Agentic SDK 52 · Major gaps ★ 429 4d ago HTML OpenAI API · Claude API
Agent Craft 49 · Major gaps ★ 492 today Python OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
30/ 100 5-point scale 1.5 / 5
Trust 0/29
Reliability 3/14
Adaptability 8/18
Convention 9/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust0 / 29 · 0.0/5

Evidence shows: The repository provides no documentation on permission management, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. All trust-related criteria are unsupported, hence score 0.

Reliability3 / 14 · 1.1/5

Evidence shows: README and code examples are mostly consistent in tool names and usage, but there are inconsistencies such as undefined variables in examples (e.g., search_tool, weather_tool), and tests only cover LLM and RAG, not other components. Dependencies are declared in pyproject.toml but without version pinning or security audit. Failure messages are not documented. Therefore, self_consistency scores 1, dependency_availability scores 1, and failure_messages scores 0.

Adaptability8 / 18 · 2.2/5

Evidence shows: README provides multiple usage scenarios (e.g., creating tools, using ReactAgent, RAG) with examples, so audience_and_scenarios scores 2. capability_boundaries is partially described, such as tool list and RAG support, but boundaries are not explicit. trigger_precision is only shown via examples, not systematically. environment_fit only mentions Python version and dependencies, not detailed. Hence, capability_boundaries, trigger_precision, and environment_fit each score 1.

Convention9 / 18 · 2.5/5

Evidence shows: README has a clear structure with table of contents, installation, usage, so information_architecture scores 2. install_notes provides pip and source installation instructions, scoring 2. naming_stability is not explicitly stated, but version numbers exist, scoring 1. examples_and_faq provides multiple examples but no FAQ, scoring 2. known_limitations is not explicitly listed, scoring 1. license is MIT, scoring 2. versioning_changelog is absent, scoring 1. maintenance_responsibility is not explicit, scoring 1.

Effectiveness7 / 13 · 2.7/5

Evidence shows: output_usability is demonstrated via examples showing output format, scoring 2. marginal_value provides automated agent generation capability but lacks comparison with other tools, scoring 2. cost_benefit lacks performance or cost data, scoring 1.

Verifiability3 / 8 · 1.9/5

Evidence shows: claim_traceability is partial; README claims are not backed by specific evidence, scoring 1. cross_source_corroboration lacks external validation, scoring 1. fact_inference_separation does not clearly distinguish facts from inferences, scoring 1.

Risks and how to mitigate them
  • Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
  • Example code uses undefined variables (e.g., search_tool, weather_tool), which may cause failures when copied and run.
  • Dependencies are not pinned, posing supply chain security risks.
  • No security audit or least-privilege guidance is provided; caution is advised when using built-in tools like BashTool and PythonTool.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision aca748b71345
See the full review method →

FAQ

Does it require OpenAI credentials?
The documented DemoGPT and AgentHub examples use OpenAI models. If OPENAI_API_KEY is not set, the README says to supply a key through openai_api_key.
Which files and vector stores does RAG support?
The BaseRAG example supports PDF, TXT, CSV, and JSON files, with chroma, pinecone, or faiss as the vectorstore.
Does RAG modify local storage?
Yes. The example writes the vector store to persistent_path; with reset_vectorstore=True, its shown output removes the existing rag_chroma vector store.
Can I add a custom business tool?
Yes. Subclass BaseTool, set name and description, implement run, and pass the resulting instance to ToolCallingAgent or ReactAgent.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents