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
- 7mo ago
- License
- MIT
- Primary language
- Python
- FA score
- 40/100 · Major gaps
At a glance
- How it runs
- Works with
- Portable with changesOpenAI API
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- 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.
- Not a fit if
- Teams avoiding OpenAI APIs; only OpenAIChatModel configuration is documented
- Users needing production-stable RAG; examples reset and write a local vectorstore path
- Source review
- 40/100 · Major gaps 2 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 | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| DemoGPT AgentHub This agent | 40 · Major gaps | CLIFree + model costs | ★ 1.9k | 7mo ago | Python | OpenAI API |
| LangChain & LangGraph Agent Course | 43 · Major gaps | CLIFree + model costs | ★ 1.8k | 8d ago | — | — |
| ai4j — Java AI Agentic SDK | 60 · Some gaps | Library / SDKFree + model costs | ★ 439 | 26d ago | Java | OpenAI API · Claude API |
| Agent Craft | 52 · Major gaps | CLIFree + model costs | ★ 536 | 12d ago | Python | OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
The app asks users for an OpenAI API key and uses it for model calls; the input is masked, but the supplied material does not explain key storage, transmission, or protection. The README lists Bash, Python, URL-request, search, and RAG tools, without showing permission limits, per-action confirmation, data-flow details, or rollback safeguards, so credit is limited. The license and pyproject.toml provide authorship clues, but publisher identity is unverified and attribution and maintenance paths remain incomplete. Several dependencies use wildcard versions, and the material gives no security policy or mitigation.
The material includes model and RAG test examples and dependency declarations, but the tests depend on external models/APIs and static evidence cannot establish that they run or are reproducible. README examples, product descriptions, and code interfaces show signs of version or behavior inconsistency. The app displays initialization errors as warnings, but documents little about other errors or failure handling.
The README targets developers building LLM applications and covers custom tools, models, agents, RAG, and vision tasks, giving useful audience and scenario coverage. The material does not clearly define autonomy permissions or usage boundaries. Model selection and an API-base input show some adaptability, while environment and deployment requirements and trigger conditions are only lightly described.
The README has a table of contents, installation steps, and many examples; pyproject.toml specifies package name, version, and MIT license, and the license text is complete. The supplied material lacks a clear change history, limitations, and a definite maintenance owner or update path, so those areas receive partial credit.
Examples show tool use, RAG, code generation, and structured output, supporting the product's value for quickly building agent applications. The README gives concrete sample outputs, but provides little evidence about costs, resource use, or review needed before running generated code, limiting the cost-benefit score.
Some claims are supported by README examples, package metadata, application code, and test files, but sample outputs and promotional claims are not sufficiently corroborated across those sources. Test files are static evidence and do not establish runtime results; factual descriptions, examples, and forward-looking claims are not consistently distinguished.
- 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: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Review permissions and side effects before running generated apps or enabling Bash, Python, and network-request tools; the material does not describe per-action confirmation or rollback.
- The app collects keys in a password field, but the material does not explain storage or transmission. Several dependencies use wildcard versions; assess and pin dependencies before adoption.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
DemoGPT v1.2.6 🚀 Release Notes --- Overview We're back with DemoGPT version 1.2.6, further enhancing our module capabilities and providing significant bug fixes. This release brings a Python module to spawn more generic app ideas, addresses issues in the Document loader and Finalizer modules, and paves the way for Azure-based URLs with OpenAI. Plus, there's an exciting addition for chat model feedback! Python Module for Generic Apps …View on GitHub ↗ -
Release notes excerpt
DemoGPT v1.2.5 🚀 Release Notes Overview Exciting times ahead! We're delighted to roll out DemoGPT version 1.2.5. This release introduces the ability to generate chat-based applications, streamlines OpenAI API Key integration, and includes several document-related bug fixes. Generate Chat-Based Applications With DemoGPT v1.2.5, you can now generate chat-based applications right from your prompts! Your generated chat applications will include a rich set of features that allow for dynamic, real-time conversations. OpenAI API Key Integration …View on GitHub ↗ -
Release notes excerpt
DemoGPT v1.2.4 🚨 Release Notes Overview We're thrilled to announce the release of DemoGPT v1.2.4! This new version brings a customization property. Editing The Generated Code Now, after you generate the code from your prompt, there is an Edit button under the code. Once you press it, you will be able to change the code and play however you like. Once you are done, press Save & Rerun button, it will rerender the code and open up the new app. Bug Fixes & Improvements …View on GitHub ↗
FAQ
Does it require OpenAI credentials?
Which files and vector stores does RAG support?
Does RAG modify local storage?
Can I add a custom business tool?
Thanks — we use this to improve the page.