--- title: Paul Graham Essay Bot emoji: 🐠 colorFrom: pink colorTo: pink sdk: docker pinned: false --- # 🔍 Open Source RAG with Hugging Face Enpoints ![Open Source](https://img.shields.io/badge/Open%20Source-Models-brightgreen) ![LangChain](https://img.shields.io/badge/Built%20with-LangChain-blue) ![Chainlit](https://img.shields.io/badge/UI-Chainlit-orange) ![HuggingFace](https://img.shields.io/badge/Deployed%20on-HuggingFace-yellow) ## 📝 About Welcome to this **Paul Graham Essay Bot** - a friendly AI-powered system that demonstrates the power of Retrieval Augmented Generation using completely open source models! This application leverages modern AI technology to provide intelligent answers to your questions based on a collection of essays by Paul Graham, covering topics such as programming languages, startup culture, spam filtering, design principles, and the philosophy of hacking and innovation. ## ✨ Features - **Open Source Models**: Powered by NousResearch/Meta-Llama-3.1-8B-Instruct for text generation and Snowflake/snowflake-arctic-embed-m for embeddings - **HuggingFace Integration**: Models deployed as serving endpoints on HuggingFace - **Intelligent Retrieval**: Utilizes RAG (Retrieval Augmented Generation) for accurate and contextual responses - **Fast & Responsive**: Async processing for quick responses even with large document collections - **Content-Focused**: Explore ideas and concepts from the essays, not just information about the author ## 🔧 How It Works Behind the scenes, this application: 1. **Loads and Processes Documents**: Breaks down essay content into manageable chunks 2. **Creates Embeddings**: Converts text into numerical representations using Snowflake/snowflake-arctic-embed-m 3. **Builds a Vector Database**: Stores the embeddings in a FAISS vector store for efficient retrieval 4. **Retrieves Relevant Content**: Finds the most relevant essay sections based on your questions 5. **Generates Thoughtful Responses**: Uses Meta-Llama-3.1-8B-Instruct to craft helpful answers based on the retrieved content ## 🤔 Example Questions - "What are some key strategies for starting a successful startup?" - "Why is Silicon Valley considered a hub for tech innovation?" - "How can good design improve user experience in technology products?" ## 🛠️ Technical Details This application uses: - **LangChain**: For document processing and orchestrating the RAG pipeline - **FAISS**: For efficient vector similarity search - **HuggingFace Endpoints**: - NousResearch/Meta-Llama-3.1-8B-Instruct for text generation - Snowflake/snowflake-arctic-embed-m for embeddings - **Chainlit**: For the interactive chat interface - **Hugging Face Spaces**: For deployment and hosting Happy exploring the fascinating content with open source AI! 📚✨ ### HuggingFace Endpoint Usage LLM Endpoint ![LLM Endpoint Usage](llm_endpoint_usage.jpeg) Embedding Endpoint ![Embedding Endpoint Usage](embedding_endpoint_usage.jpeg)