{"id":"79f91d73-33f8-4f55-9483-2c2cf3869427","entityType":"agent","slug":"crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot","name":"AstraRag-agentic-rag-chatbot","canonicalUrl":"https://www.xpersona.co/agent/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot","canonicalPath":"/agent/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot","generatedAt":"2026-10-09T19:50:34.740Z","source":"GITHUB_OPENCLEW","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T07:13:46.010Z","emptyReason":null},"description":"A fully modular Agentic RAG Chatbot built using CrewAI , FastAPI , LlamaIndex , ChromaDB , and a Streamlit Frontend . 🚀 AstraRAG – Agentic RAG Chatbot A fully modular **Agentic RAG Chatbot** built using **CrewAI** , **FastAPI** , **LlamaIndex** , **ChromaDB** , and a **Streamlit Frontend** . This system combines: - 🔹 **Agentic reasoning** (CrewAI) - 🔹 **RAG pipeline** with Chroma vector database - 🔹 **FastAPI backend** for orchestration - 🔹 **Streamlit UI** for chatbot interaction - 🔹 **Clean architecture** (agents → tasks → s","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 10/9/2026.","installCommand":"git clone https://github.com/AshutoshRajGupta/AstraRag-agentic-rag-chatbot.git","sourceUrl":"https://github.com/AshutoshRajGupta/AstraRag-agentic-rag-chatbot","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/AshutoshRajGupta/AstraRag-agentic-rag-chatbot","kind":"source"}],"safetyScore":66,"overallRank":19.6,"popularityScore":8,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"A fully modular Agentic RAG Chatbot built using CrewAI , FastAPI , LlamaIndex , ChromaDB , and a Streamlit Frontend . 🚀 AstraRAG – Agentic RAG Chatbot A fully "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T07:13:46.010Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"medium","updatedAt":"2026-10-09T07:13:46.010Z","emptyReason":null},"stars":1,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"1 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T07:13:46.010Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T07:13:46.010Z","lastCrawledAt":"2026-10-09T07:13:46.010Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T07:13:46.010Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"git clone https://github.com/AshutoshRajGupta/AstraRag-agentic-rag-chatbot.git","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_OPENCLEW","generatedAt":"2026-10-09T19:50:34.740Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-ashutoshrajgupta-astrarag-agentic-rag-chatbot/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"high","updatedAt":"2026-10-09T07:13:46.010Z","emptyReason":null},"readme":"# 🚀 AstraRAG – Agentic RAG Chatbot\n\nA fully modular **Agentic RAG Chatbot** built using **CrewAI** , **FastAPI** , **LlamaIndex** , **ChromaDB** , and a **Streamlit Frontend** .\n\nThis system combines:\n\n- 🔹 **Agentic reasoning** (CrewAI)\n- 🔹 **RAG pipeline** with Chroma vector database\n- 🔹 **FastAPI backend** for orchestration\n- 🔹 **Streamlit UI** for chatbot interaction\n- 🔹 **Clean architecture** (agents → tasks → services → API → UI)\n\n---\n\n# 📸 Screenshots\n\n### 🔹 Streamlit UI\n\n![1766936010007](image/README/1766936010007.png)\n\n![1766936020505](image/README/1766936020505.png)\n\n### 🔹 Folder Structure\n\n![1766935981284](image/README/1766935981284.png)\n\n---\n\n# ✨ Features\n\n- 🤖 **Agentic Q&A chatbot** powered by CrewAI\n- 📄 **Document ingestion pipeline** with LlamaIndex\n- 🧠 **ChromaDB vector storage** with persistent embeddings\n- ⚡ **FastAPI backend** to connect agents with frontend\n- 🎨 **Streamlit frontend UI**\n- 🔍 **Search + RAG retrieval + agent reasoning**\n- 🧩 Modular file structure for scalability\n- 🛠 Detailed logging for debugging\n\n---\n\n# 🏗 Tech Stack\n\n### **Core**\n\n- Python 3.10+\n- CrewAI\n- LlamaIndex\n- FastAPI\n- Streamlit\n\n### **Vector DB**\n\n- **ChromaDB**\n\n### **Embeddings**\n\n- HuggingFace Embeddings\n\n### **Frontend**\n\n- Streamlit\n\n---\n\n# 📁 Project Folder Structure\n\n```\nAstraRAG-agentic-rag-chatbot/\n│\n├── docs_dir/                     # Raw input documents\n├── doc_vector_store/             # ChromaDB persistent embeddings\n│\n├── src/\n│   ├── agents_src/               # CrewAI agents & tasks\n│   │   ├── agents/\n│   │   ├── tasks/\n│   │   ├── crew.py\n│   │\n│   ├── rag_doc_ingestion/        # RAG ingestion pipeline (LlamaIndex)\n│   │   ├── ingest_docs.py\n│   │   ├── config/\n│   │\n│   ├── backend_src/              # FastAPI backend\n│   │   ├── api/\n│   │   ├── services/\n│   │   ├── config/\n│   │   ├── main.py\n│   │\n│   ├── frontend_src/             # Streamlit UI\n│       ├── main.py\n│       ├── config/\n│\n└── venv/\n```\n\n---\n\n# 🧠 RAG Ingestion Pipeline\n\nThis pipeline converts raw documents into searchable vector embeddings.\n\n### 🔹 Steps:\n\n1. **Load documents** from `docs_dir/`\n2. **Parse into text chunks** using LlamaIndex NodeParser\n3. **Generate embeddings** using HuggingFace Embeddings\n4. **Store embeddings** in ChromaDB (persistent directory)\n5. Create a **VectorStoreIndex**\n\n### ✨ Ingestion Code (Simplified)\n\n```python\nloader = SimpleDirectoryReader(input_dir=docs_dir)\ndocuments = loader.load_data()\n\nparser = SimpleNodeParser.from_defaults(chunk_size=1024, chunk_overlap=50)\nnodes = parser.get_nodes_from_documents(documents)\n\nvector_store = ChromaVectorStore(chroma_collection)\nstorage_context = StorageContext.from_defaults(vector_store=vector_store)\n\nindex = VectorStoreIndex(\n    nodes,\n    storage_context=storage_context,\n    embed_model=embed_model\n)\n```\n\n---\n\n# 🔄 Backend Architecture (FastAPI → Services → CrewAI → Response)\n\nThis is the heart of your system.\nHere is the clear workflow from frontend to backend to agent and back.\n\n---\n\n## 🔥 **Flow Overview**\n\n### **1️⃣ User sends a query (Streamlit → FastAPI)**\n\nStreamlit sends:\n\n```\nPOST /chat/answer\n```\n\nPayload:\n\n```json\n{\n  \"chat_history\": [{ \"role\": \"user\", \"content\": \"Explain Quantum physics\" }]\n}\n```\n\n---\n\n## **2️⃣ FastAPI Router Receives Request**\n\n```python\n@router.post(\"/chat/answer\")\ndef chat_answer(request: ChatHistoryRequest):\n    result = get_answer(chat_history)\n    return result\n```\n\n---\n\n## **3️⃣ Service Layer Processes Query**\n\n`services/chat.py`:\n\n```python\nlast_user_message = chat_history[-1]\nuser_query = last_user_message[\"content\"]\n\nresult = qa_crew.kickoff({\n    \"user_query\": user_query,\n    \"chat_history\": history_without_last\n})\n```\n\nThis prepares:\n\n- last user message\n- chat history (context)\n- input to CrewAI\n\n---\n\n## **4️⃣ Agentic Processing (CrewAI Agent + Task)**\n\nCrewAI receives `user_query` and `chat_history`\nThen:\n\n- 🧠 Uses LlamaIndex retriever\n- 🔍 Fetches top vector embeddings from Chroma\n- 📝 Writes reasoning trace\n- 🎯 Generates final answer\n\nCrew returns a structured dict:\n\n```json\n{\n  \"answer\": \"...\",\n  \"sources\": [\"doc1.txt\"],\n  \"tool_used\": \"retrieval\",\n  \"rationale\": \"Used RAG + agent reasoning\"\n}\n```\n\n---\n\n## **5️⃣ FastAPI Returns JSON to Frontend**\n\nBackend sends structured response.\n\n---\n\n## **6️⃣ Streamlit Renders UI**\n\nUI shows:\n\n- Assistant reply\n- Sources\n- Tool used\n- Rationale (inside expander)\n\n---\n\n# 📊 Request Flow Diagram (Mermaid)\n\n```mermaid\nsequenceDiagram\n    participant UI as Streamlit UI\n    participant API as FastAPI Backend\n    participant SRV as Service Layer\n    participant AG as CrewAI Agent\n    participant DB as ChromaDB\n\n    UI->>API: POST /chat/answer (chat_history)\n    API->>SRV: call get_answer(chat_history)\n    SRV->>AG: kickoff(user_query, history)\n    AG->>DB: retrieve relevant vectors\n    DB-->>AG: return embeddings\n    AG-->>SRV: final answer + sources\n    SRV-->>API: return result dict\n    API-->>UI: JSON response\n```\n\n---\n\n# 🧪 Running the Project\n\n## 1️⃣ Install dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n## 2️⃣ Run RAG ingestion\n\n```bash\npython src/rag_doc_ingestion/ingest_docs.py\n```\n\n## 3️⃣ Start FastAPI backend\n\n```bash\nuvicorn src.backend_src.main:app --reload\n```\n\n## 4️⃣ Start Streamlit frontend\n\n```bash\nstreamlit run src/frontend_src/main.py\n```\n\n---\n\n# 🗂 Environment Variables\n\nCreate `.env` file:\n\n```\nDOCUMENTS_DIR=docs_dir\nVECTOR_STORE_DIR=doc_vector_store\nCOLLECTION_NAME=astra_collection\n\nAPI_HOST=127.0.0.1\nAPI_PORT=8000\nCHAT_ENDPOINT_URL=http://127.0.0.1:8000/chat/answer\n```\n\n---\n\n# ⭐ Future Enhancements\n\n- Add multi-agent workflow\n- Add tool calling (browser, calculator, etc.)\n- Add authentication for backend\n- Deploy to cloud (AWS/GCP/Render/EC2)\n\n---\n\n# 🙌 About\n\nBuilt by **Ashutosh Raj Gupta**\nDesigned for **Agentic RAG + LLM engineering practice**\n","readmeExcerpt":"🚀 AstraRAG – Agentic RAG Chatbot A fully modular **Agentic RAG Chatbot** built using **CrewAI** , **FastAPI** , **LlamaIndex** , **ChromaDB** , and a **Streamlit Frontend** . This system combines: - 🔹 **Agentic reasoning** (CrewAI) - 🔹 **RAG pipeline** with Chroma vector database - 🔹 **FastAPI backend** for orchestration - 🔹 **Streamlit UI** for chatbot interaction - 🔹 **Clean architecture** (agents → tasks → s","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"AstraRAG-agentic-rag-chatbot/\n│\n├── docs_dir/                     # Raw input documents\n├── doc_vector_store/             # ChromaDB persistent embeddings\n│\n├── src/\n│   ├── agents_src/               # CrewAI agents & tasks\n│   │   ├── agents/\n│   │   ├── tasks/\n│   │   ├── crew.py\n│   │\n│   ├── rag_doc_ingestion/        # RAG ingestion pipeline (LlamaIndex)\n│   │   ├── ingest_docs.py\n│   │   ├── config/\n│   │\n│   ├── backend_src/              # FastAPI backend\n│   │   ├── api/\n│   │   ├── services/\n│   │   ├── config/\n│   │   ├── main.py\n│   │\n│   ├── frontend_src/             # Streamlit UI\n│       ├── main.py\n│       ├── config/\n│\n└── venv/"},{"language":"python","snippet":"loader = SimpleDirectoryReader(input_dir=docs_dir)\ndocuments = loader.load_data()\n\nparser = SimpleNodeParser.from_defaults(chunk_size=1024, chunk_overlap=50)\nnodes = parser.get_nodes_from_documents(documents)\n\nvector_store = ChromaVectorStore(chroma_collection)\nstorage_context = StorageContext.from_defaults(vector_store=vector_store)\n\nindex = VectorStoreIndex(\n    nodes,\n    storage_context=storage_context,\n    embed_model=embed_model\n)"},{"language":"text","snippet":"POST /chat/answer"},{"language":"json","snippet":"{\n  \"chat_history\": [{ \"role\": \"user\", \"content\": \"Explain Quantum physics\" }]\n}"},{"language":"python","snippet":"@router.post(\"/chat/answer\")\ndef chat_answer(request: ChatHistoryRequest):\n    result = get_answer(chat_history)\n    return result"},{"language":"python","snippet":"last_user_message = chat_history[-1]\nuser_query = last_user_message[\"content\"]\n\nresult = qa_crew.kickoff({\n    \"user_query\": user_query,\n    \"chat_history\": history_without_last\n})"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB OPENCLEW","editorialOverview":"A fully modular Agentic RAG Chatbot built using CrewAI , FastAPI , LlamaIndex , ChromaDB , and a Streamlit Frontend . 🚀 AstraRAG – Agentic RAG Chatbot A fully modular **Agentic RAG Chatbot** built using **CrewAI** , **FastAPI** , **LlamaIndex** , **ChromaDB** , and a **Streamlit Frontend** . This system combines: - 🔹 **Agentic reasoning** (CrewAI) - 🔹 **RAG pipeline** with Chroma vector database - 🔹 **FastAPI backend** for orchestration - 🔹 **Streamlit UI** for chatbot interaction - 🔹 **Clean architecture** (agents → tasks → s","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":382,"uniquenessScore":62,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T07:13:46.010Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T07:13:46.010Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T19:50:34.740Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_openclew","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}