DemoGPT AgentHub
Generate Streamlit apps from prompts and compose Python agents with tools and RAG.
- Source repo
- melih-unsal/DemoGPT
- Stars
- ★ 1.9k
- Last updated
- 5mo ago
- License
- MIT
- Primary language
- Python
- FA score
- 30/100 · Major gaps
At a glance
- Works with
- Portable with changesOpenAI API
- You'll need
- 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.
- Source review
- 30/100 · Major gaps 8 safety controls not found
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.
- A Python developer prototyping an interactive product idea can submit an instruction and title to DemoGPT and receive staged output culminating in Streamlit code.
- A developer building question answering over internal documents can index PDF, TXT, CSV, or JSON files with BaseRAG and query the resulting store.
- A developer combining web search, weather lookup, and calculation in one workflow can pass TavilySearchTool, WeatherTool, and PythonTool to ToolCallingAgent or ReactAgent.
- A Python team with a domain-specific function can subclass BaseTool, implement name, description, and run, then register the tool with an agent.
- 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 demogptInstall from source:
git clone https://github.com/melih-unsal/DemoGPT.git
cd DemoGPTpip 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.pyFor 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?
- 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.
- 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?
Why each dimension lost points
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.
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.
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.
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.
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.
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.
- 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.