Logo Lanfrica

nebats2/amharic-rag

Domain:

natural language processing

Record type:

software
Creator:
neb
Host:
Amharic Rag AmharicRag is a ready to ship FastAPI application that processes PDF documents, detect amharic and english languages, converts them into vector embeddings, and stores them in a Dockerized Qdrant vector database. This enables accurate and efficient document retrieval to provide context for AI-powered chat prompts. Core Functions are Configuring OpenAI chat(api key) Uploading Zip file for PDF traversing, and proccessing Detecting and splitting Amharic and English texts in the document content Vectorizing and embedding to a Qdrant Database (on-premises setup) Retrieval and chat to LLM model(OpenAI) Caching and embedding QA (question and answers) based on rewards for efficient document retrieval and chat You must set and configure your OpenAI api key and model for chating. Embedding and vector store are on-premises ollama and qdrant vector db. please follow the installation steps properly Authentications The API relies on an OAuth2 Jwt token for user authentication. For simplicity, only one root user is available, and you can make changes to the username, and hashed and raw password under app/settings/.env. Once Authentication : Bearer =jwt_token token at the header is required. Uploading Documents Documents can only be uploaded as a Zip file with a pdf document type only. The zip file can have one or more sub-directories and/or pdf files inside. The uploaded zip files will be temporarly stored in the app/data/upload directory for further processing and embedding. Vectorizing and Embedding Text splitting, vectorization and embedding parameters are configuratble under the app/settings/.env . You can make changes according to the models, splitting, and embedding requirements. Ollama is the emebeddings and qdrant as main vector store, all installed and run inside the docker environment (on-premises). Before vectorization, the contents are separated to amharic and english texts for better embedding and optimal vectorization. OpenAI configuration …

Languages