sherlock / README.md
jakewatson
working with streaming
427fc13
|
Raw
History Blame Contribute Delete
1.53 kB
---
title: Sherlock RAG
emoji: ๐Ÿ•ต๏ธ
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false
---
# Sherlock RAG ๐Ÿ•ต๏ธ
A specialized Chainlit application implementing a Retrieval-Augmented Generation (RAG) pipeline. This assistant is designed to query private project documentation and resumes to provide context-aware answers using high-performance LLMs.
## ๐Ÿ—๏ธ Architecture
This project follows a decoupled data-and-code architecture:
- **Application Logic**: Hosted on GitHub and deployed to Hugging Face Spaces via Docker.
- **Knowledge Base**: Private PDF documents stored in a separate Hugging Face Dataset (`jakewatson91/sherlock-rag-docs`).
- **Sync Mechanism**: The app uses `huggingface_hub` to sync documents at runtime, bypassing Git LFS limitations and keeping the code repository lightweight.
## ๐Ÿ› ๏ธ Tech Stack
- **UI/UX**: [Chainlit](https://docs.chainlit.io/)
- **Orchestration**: [LangChain](https://python.langchain.com/)
- **LLM**: Moonshot AI (Kimi-k2) via [Groq](https://groq.com/)
- **Embeddings**: Google Generative AI (`text-embedding-004`)
- **Data**: From HuggingFace Dataset `huggingface_hub` (Snapshot Download)
## ๐Ÿš€ Getting Started
### Prerequisites
- Python 3.11+
- A Hugging Face **Write** Token
- API Keys for:
- Groq (Moonshot AI)
- Google Generative AI (Embeddings)
### Environment Variables
Create a `.env` file in the root directory:
```env
HF_TOKEN=your_huggingface_write_token
GROQ_API_KEY=your_groq_api_key
GOOGLE_API_KEY=your_google_api_key
```