Initial commit of the RAG API application

هذا الالتزام موجود في:
2025-09-16 16:20:12 +03:00
الأصل 6b544cb36e
التزام b1cf9ca408
9 ملفات معدلة مع 841 إضافات و57 حذوفات

34
README.md Normal file
عرض الملف

@@ -0,0 +1,34 @@
# Ghaymah Docs RAG API
This project implements a Retrieval-Augmented Generation (RAG) API using FastAPI to answer questions about Ghaymah Cloud documentation. It features a sophisticated two-stage retrieval process involving an initial vector search followed by a more precise re-ranking step to ensure high-quality answers.
## Key Features
- **FastAPI Backend:** A robust and fast API for serving the RAG pipeline.
- **Two-Stage Retrieval:**
1. **Initial Search:** Uses `sentence-transformers` to perform a broad vector search and retrieve an initial set of candidate documents.
2. **Re-ranking:** Employs a `CrossEncoder` model to re-rank the initial candidates for greater relevance and precision.
- **Dockerized:** Comes with a `Dockerfile` for easy, repeatable deployment on any platform that supports containers.
- **Visualization:** Includes a `rerank_test.html` page to visually compare the results before and after the re-ranking step.
## Getting Started
### Prerequisites
- Docker
- A Git client
### Deployment
This application is designed to be deployed as a Docker container. It can be deployed via a Git-based workflow on a platform like Ghaymah Cloud.
1. **Push to Git:** Push the code to a GitHub or GitLab repository.
2. **Connect Platform:** Connect your cloud platform to the Git repository.
3. **Build and Deploy:** The platform will use the included `Dockerfile` to automatically build and deploy the application.
### Configuration
The application requires the following environment variables to be set in the deployment environment:
- `GITPASHA_HOST`: The URL for the remote vector store (GitPasha).
- `OPENAI_API_KEY`: Your API key for the LLM provider (e.g., OpenAI).