Summary
Designed and implemented a highly efficient relational database schema in MySQL for an application that supports seamless interaction with multiple large language models (LLMs).
Used RAG(Retrieval-Augmented Generation) over the chat history embeddings that are stored in a vector database to search for a closest chunk and pass as a context along with the user prompt for accurate responses.
Implemented Knowledge Directories which is a collection of embeddings stored in Qdrant database of the files uploaded by the user which are used when user wants response for the query using the knowledge of directory.
Optimized database structure for fast retrieval and storage of chat history, ensuring scalability and performance.
Created normalized data models to reduce redundancy and improve data integrity across various application components. Applied best practices for normalization (up to 3NF) to ensure consistency and data quality.
Created services in Python using FastAPI, SQLAlchemy and MySQL, for user authentication using OAUth2, for storing and retrieval of chat history and sessions, for fetching the available models based on multi-tenant policy.
Created user service for file upload and retrieval using pre-signed URL from AWS S3 bucket
Optimized the architecture of a service which fetches the images which reduced the AWS Infra cost by 20%.
Created notification services using Spring Boot, AWS SNS, and Firebase.
Highlights
Technologies Used: Flutter, FastAPI, Qdrant, SQLAlchemy, Uvicorn, Python, AWS, MySQL, Spring Boot.