Spaces:
Running
Running
| title: Developer Docs Chat | |
| emoji: π | |
| colorFrom: indigo | |
| colorTo: blue | |
| sdk: gradio | |
| sdk_version: "5.35.0" | |
| app_file: app.py | |
| pinned: false | |
| # π Dev Docs Chat | |
| A powerful RAG (Retrieval-Augmented Generation) system that allows you to upload documents, ingest content from URLs, and ask questions about your knowledge base with AI-powered answers. | |
| ## π Features | |
| ### π **Document Support** | |
| - **PDF Files**: Extract and process PDF documents | |
| - **Text Files**: Plain text document processing | |
| - **Markdown Files**: Structured markdown with proper parsing | |
| - **URL Ingestion**: Fetch and process content from web URLs | |
| ### π― **Core Functionality** | |
| - **Smart Search**: Vector-based semantic search across your documents | |
| - **AI-Powered Q&A**: Get intelligent answers based on your content | |
| - **Conversational Memory**: Maintains context across multiple questions | |
| ### ποΈ **Data Management** | |
| - **File Upload**: Drag-and-drop interface for document ingestion | |
| - **URL Ingestion**: Process web content with progress indicators | |
| - **Delete Operations**: Remove files, URLs, and their embeddings | |
| - **Bulk Clear**: Reset entire knowledge base with one click | |
| ## π οΈ Installation | |
| ### Prerequisites | |
| - Python 3.10+ | |
| - pip package manager | |
| ### Setup Instructions | |
| 1. **Clone the repository** | |
| ```bash | |
| git clone <repository-url> | |
| cd dev_docs_chat | |
| ``` | |
| 2. **Create virtual environment** | |
| ```bash | |
| python -m venv venv | |
| source venv/bin/activate # On Windows: venv\Scripts\activate | |
| ``` | |
| 3. **Install dependencies** | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| 4. **Set up environment variables** | |
| Create a `.env` file in the project root: | |
| ```env | |
| GROQ_API_KEY=your_groq_api_key_here | |
| GROQ_API_BASE=https://api.groq.com/openai/v1 | |
| ``` | |
| 5. **Get API Key** | |
| - Sign up at [Groq](https://console.groq.com/) | |
| - Generate an API key | |
| - Add it to your `.env` file | |
| ## π Usage | |
| ### Starting the Application | |
| ```bash | |
| python app.py | |
| ``` | |
| The application will be available at `http://127.0.0.1:7860` | |
| ## π Project Structure | |
| ``` | |
| dev-docs-chat/ | |
| βββ app.py # Main Gradio application | |
| βββ qa_pipeline.py # Question-answering logic | |
| βββ ingestion.py # Document ingestion logic | |
| βββ requirements.txt # Python dependencies | |
| βββ .env # Environment variables (create this) | |
| βββ chroma_db/ # Vector database storage | |
| βββ uploads/ # Uploaded file storage | |
| βββ ingested_urls.txt # List of ingested URLs | |
| βββ README.md # This file | |
| ``` | |
| ## π§ Technical Details | |
| ### **Architecture** | |
| - **Vector Database**: ChromaDB for efficient similarity search | |
| - **Embeddings**: HuggingFace sentence-transformers | |
| - **LLM**: Groq's fast LLM for quick responses | |
| - **Framework**: Gradio for web interface | |
| ## π― Use Cases | |
| ### **π Documentation Assistant** | |
| - Upload project documentation and README files | |
| - Ask questions about implementation details | |
| - Get instant answers about your codebase | |
| ### **π Research Tool** | |
| - Ingest research papers and technical articles | |
| - Ask questions about new technologies | |
| - Stay updated with industry trends | |
| ### **π Learning Platform** | |
| - Upload tutorials and educational content | |
| - Ask questions about complex topics | |
| - Get personalized explanations | |
| ## π Future Enhancements | |
| - [ ] **Streaming Responses**: Real-time answer generation | |
| - [ ] **File Type Support**: Excel, Word, PowerPoint documents | |
| - [ ] **Advanced Search**: Filters and date-based search | |
| - [ ] **Export Features**: Save conversations and answers | |
| - [ ] **User Authentication**: Multi-user support | |
| - [ ] **API Endpoints**: REST API for integration | |
| ## π€ Contributing | |
| 1. Fork the repository | |
| 2. Create a feature branch | |
| 3. Make your changes | |
| 4. Add tests if applicable | |
| 5. Submit a pull request | |
| ## π License | |
| This project is licensed under the MIT License - see the LICENSE file for details. | |
| ## π Acknowledgments | |
| - **LangChain**: For the RAG framework | |
| - **ChromaDB**: For vector storage | |
| - **Gradio**: For the web interface | |
| - **Groq**: For fast LLM inference | |
| - **HuggingFace**: For embedding models | |
| --- | |
| **Made with β€οΈ by Govind Kurapati** | |