A FastAPI-based Retrieval-Augmented Generation (RAG) API for document retrieval using vector embeddings.
This API provides endpoints for querying document databases using semantic search. It uses vector embeddings and FAISS for similarity search to retrieve relevant documents based on user queries.
- Document querying with semantic search
- Database management endpoints
- Vector similarity search using FAISS
- MongoDB integration for document storage
- Embedding service integration
- Install dependencies:
pip install -r requirements.txt- Configure the application by creating a
config.jsonfile in the project root with the following structure:
{
"embedding_url": "your_embedding_service_url",
"embedding_model": "your_model_name",
"embedding_apiKey": "your_api_key",
"mongodb_url": "your_mongodb_connection_string",
"mongodb_database": "copilot",
"mongodb_collection": "ragList"
}- Run the application:
uvicorn app.main:app --host 0.0.0.0 --port 8000/health- Health check endpoint/databases- Database management endpoints/query/{database_name}- Query a RAG database for relevant documents
- FastAPI
- MongoDB
- FAISS
- Pydantic
- Uvicorn