Spaces:
Runtime error
Runtime error
File size: 1,863 Bytes
2d155f8 816825a 2d155f8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
---
title: RAG-Document-System
sdk: docker
---
# RAG Document System
A simple document interaction system using Retrieval-Augmented Generation (RAG) with Streamlit and Google's Gemini AI.
## Features
- Upload text documents (.txt files)
- Ask questions about your documents
- Get AI-powered answers with source citations
- Persistent vector database storage
- Clean web interface
## Setup
### With Docker (Recommended)
1. Clone the repository:
```bash
git clone https://github.com/tusiim3/RAG-Document-System.git
cd RAG-Document-System
```
2. Copy `.env.example` to `.env` and add your Google API key:
```bash
cp .env.example .env
```
3. Run with Docker Compose:
```bash
docker-compose up --build
```
4. Open http://localhost:8501 in your browser
### Without Docker
1. Clone the repository:
```bash
git clone https://github.com/tusiim3/RAG-Document-System.git
cd RAG-Document-System
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Copy `.env.example` to `.env` and add your Google API key:
```bash
cp .env.example .env
```
4. Run the application:
```bash
streamlit run app.py
```
5. Open http://localhost:8501 in your browser
## Environment Variables
Required in `.env` file:
- `GOOGLE_API_KEY` - Your Google API key for Gemini
- `CHUNK_SIZE` - Text chunk size (default: 1000)
- `CHUNK_OVERLAP` - Chunk overlap (default: 200)
- `EMBEDDING_MODEL` - Embedding model name
- `LLM_TEMPERATURE` - AI response temperature (default: 0.3)
## Usage
1. Upload a text document using the file uploader
2. Wait for document processing to complete
3. Ask questions about the document in the chat interface
4. View source documents for each answer
## Technology Stack
- Streamlit for web interface
- LangChain for document processing
- ChromaDB for vector storage
- Google Gemini for AI responses
- Docker for containerization
## |