Personal Project

Enhancing Digital Consciousness with Soulkiller

Fine Tuned RAG model about me.

Client
Personal
Year
2024

Enhancing Digital Consciousness with Soulkiller

The Soulkiller system is a Retrieval Augmented Generation (RAG) model implemented as a Flask-based API. It's designed to provide intelligent responses to user queries by leveraging a fine-tuned language model and a custom knowledge base.

The Soulkiller RAG model uses information retrieval by combining a fine-tuned LLaMA model with a custom FAISS vector store, significantly enhancing response accuracy and relevance for queries about Anish Krishnan's professional background.

Key Features:

  • Fine-tuned LLaMA model for generating contextually relevant responses
  • FAISS vector store for efficient similarity search in the knowledge base
  • Custom knowledge base focused on Anish Krishnan's professional information
  • Flask-based API with CORS support for cross-origin requests
  • Error handling and request logging for improved debugging and maintenance
  • Extraction of best answers from model outputs for concise responses

The Soulkiller project addresses the challenge of providing accurate and contextual responses to queries about Anish Krishnan's professional background. The system employs a multi-faceted approach, utilizing a fine-tuned language model and a custom retrieval system to ensure relevant and informative responses.

The core functionality of the Soulkiller model involves processing user queries through a RAG pipeline. When a query is received, the system first retrieves relevant information from the FAISS vector store, which contains embedded representations of key information about Anish Krishnan. This retrieved context is then used to augment the query before passing it to the fine-tuned LLaMA model for response generation.

The project incorporates several advanced techniques, including:

  • Using PEFT (Parameter-Efficient Fine-Tuning) for the LLaMA model
  • Implementing a custom embedding model (sentence-transformers/all-MiniLM-L6-v2) for text representation
  • Utilizing the LangChain library for seamless integration of retrieval and generation components

After retrieval and generation, the system processes the model's output to extract the most relevant part of the response, ensuring concise and focused answers to user queries.

The final output of the system is a JSON response containing the extracted answer. This comprehensive approach ensures accurate handling of queries related to Anish Krishnan's professional background, providing relevant and contextual information to users interacting with the API.

You can try out the project through the chat window!

Chat with Anish