Sawaal Jawab is a Llama Index and FastAPI based RAG (Retrieval-Augmented Generation) application that brings you face-to-face with your favorite personalities, allowing you to engage in captivating conversations and ask them anything you desire. Powered by Groq as LLM and advanced RAG techniques achieved with Llama Index, this project aims to adapt the personality's information from a provided URL, creating a dynamic and immersive Q&A experience.
- Personality Adaptation: Sawal Jawab seamlessly adapts to any personality's information provided via a URL, allowing you to interact with a wide range of famous individuals, from celebrities to thought leaders.
- Advanced RAG Techniques: Using techniques like Hybrid Search, colBERT Reranking, Query Expansion to retreive the most relevant context achieved with the help of Llama Index
- Interactive Q&A: Engage in real-time conversations powered by Groq with your favorite personalities, asking them questions and receiving thoughtful and personalized responses.
Ex 1: Jin Sakai from Ghost of Tsushima
Mobile Preview
Mobile Preview
- User Interface: A user-friendly web interface for Sawaal Jawab is currently in development. This will allow users to interact with the application through a smooth and appealing UI.
- Qdrant: Main Vector Database used for storing and retreiving context.
- Ollama: Used for generating embeddings from 'mxbai-large' model for vector database.
- Groq API: Utilized as the Large Language Model (LLM) provider for generating responses.
To get started with Sawal Jawab, follow these steps:
- Clone the repository:
git clone https://github.com/azain47/sawaal-jawab.git
- Navigate to the project directory:
cd sawaal-jawab
- Install dependencies:
conda create --name <env> --file requirements.txt
- Activate the env:
conda activate <env>
- Edit the .env file with
GROQ_API_KEY = <your-api-key>
- Run the command :
fastapi dev app.py
orfastapi run app.py
- Open the browser window and type
http://localhost:8000
- You can interact with the API using tools like Postman, Bruno, or the built-in Swagger UI (
http://localhost:8000/docs
).
- Run the command :
streamlit run ui.py
- Open the browser window with the url
http://localhost:8501
- Add a personality with a name and any wiki page with their info
- Start asking questions and enjoy the conversation!
Contributions from the community are always welcomed!!
Made with ❤️ by Azain!