📚 Upload. 🌐 Link. ❓ Ask. 💡 Answer.
Meet Askie – your curious companion, not just a bot but your knowledge champion!
Have a doc or link to scan?
Askie's here to lend a hand.
PDF or a website page,
She’ll read it all, word by phrase.
Askie is a Retrieval-Augmented Generation (RAG) based chatbot that allows users to:
-
- Upload a PDF or enter a URL
-
- Automatically chunk and vectorize the content using FAISS + HuggingFace Embeddings
-
- Build a retrieval chain that fetches relevant chunks based on your queries
-
- Generate natural, contextual answers using the Mistral model via Ollama
-
- View the exact source documents used to answer your query
-
- Optionally log interactions using Arize AI for observability
| Component | Tech Used |
|---|---|
| LLM | Mistral via Ollama (Local) |
| Embeddings | sentence-transformers/all-MiniLM-L6-v2 |
| Vector Store | FAISS |
| Chunking | RecursiveCharacterTextSplitter |
| PDF Parsing | PyPDFLoader |
| Web Scraping | WebBaseLoader |
| Frontend | Streamlit |
| Observability | Arize AI (optional) |
Askie/
├── app.py # Streamlit frontend
├── rag_pipeline.py # RAG chain logic
├── utils/
│ └── chunking.py # Chunking logic for PDF & URLs
├── .env # Arize API keys and configs (should be excluded from GitHub)
├── data/ # Uploaded PDF files (usually excluded or kept empty)
└── README.md # Project documentation- Upload a
.pdffile OR enter a webpage URL. - Askie reads and parses the content.
- The content is chunked into small segments using
RecursiveCharacterTextSplitter. - Each chunk is converted into vector embeddings using
HuggingFaceEmbeddings.
- Chunks are stored in a FAISS vector store.
- A retriever fetches the most relevant chunks when a question is asked.
- Mistral LLM via Ollama generates an answer based on these chunks.
- Askie responds to your question in natural language.
- Displays source document chunks used in the response.
- (Optional) Logs prompt, response, and metadata to Arize.
- Ollama installed and running locally
pip install -r requirements.txtRun Locally: streamlit run app.py
🙌 Made With Love By Aarya Shetiye