Spaces:
Sleeping
Sleeping
| title: PsTuts RAG | |
| emoji: π» | |
| colorFrom: yellow | |
| colorTo: indigo | |
| sdk: docker | |
| pinned: false | |
| license: mit | |
| short_description: Agentic RAG that interrogates the PsTuts dataset. | |
| Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference | |
| # π€ PsTuts RAG System | |
| An agentic RAG system for the PsTuts dataset that provides AI-powered answers to Adobe Photoshop questions using video tutorial transcripts. | |
| ## π¨ Visual Theme | |
| The application features a beautiful **sepia-toned color scheme** that gives it a vintage, artistic feel perfect for Adobe Photoshop tutorials: | |
| - π **Light Theme** (default): Warm cream and tan colors reminiscent of old photography | |
| - π **Dark Theme**: Rich coffee and amber tones for comfortable nighttime usage | |
| - πΌοΈ **Sepia Filter**: Subtle sepia treatment on images for visual consistency | |
| - β‘ **Smooth Transitions**: Elegant animations when switching between themes | |
| Users can toggle between light and dark variants using the theme switcher in the interface. | |
| ## π Getting Started | |
| 1. Install dependencies: | |
| ```bash | |
| # Basic installation (includes Jupyter support) | |
| pip install -e . | |
| # With development tools | |
| pip install -e ".[dev]" | |
| # With web server components | |
| pip install -e ".[web]" | |
| # With additional extras (numpy, ragas, tavily) | |
| pip install -e ".[extras]" | |
| # Full installation with all features | |
| pip install -e ".[dev,web,extras]" | |
| ``` | |
| 2. Run the app: | |
| ```bash | |
| chainlit run app.py | |
| ``` | |
| 3. Open your browser and navigate to `http://localhost:8000` | |
| ## π‘ Features | |
| - Retrieval-augmented generation (RAG) for Photoshop tutorials | |
| - Multi-agent system with team supervisor | |
| - Web search integration via Tavily | |
| - Semantic chunking for better context retrieval | |
| - Interactive chat interface through Chainlit | |
| ## βοΈ Configuration Options | |
| You can customize the behavior of PsTuts RAG using environment variables. Set these in your shell, `.env` file, or deployment environment. Here are the available options: | |
| | Env Var | Description | | |
| |---------|-------------| | |
| | `EVA_WORKFLOW_NAME` | π·οΈ Name of the EVA workflow. Default: `EVA_workflow` | | |
| | `EVA_LOG_LEVEL` | πͺ΅ Logging level for EVA. Default: `INFO` | | |
| | `TRANSCRIPT_GLOB` | π Glob pattern for transcript JSON files (supports multiple files separated by `:`). Default: `data/test.json` | | |
| | `EMBEDDING_MODEL` | π§ Name of the embedding model to use (default: custom fine-tuned snowflake model). Default: `mbudisic/snowflake-arctic-embed-s-ft-pstuts` | | |
| | `EVA_STRIP_THINK` | π If set (present in env), strips 'think' steps from EVA output. | | |
| | `EMBEDDING_API` | π API provider for embeddings (`OPENAI`, `HUGGINGFACE`, or `OLLAMA`). Default: `HUGGINGFACE` | | |
| | `LLM_API` | π€ API provider for LLM (`OPENAI`, `HUGGINGFACE`, or `OLLAMA`). Default: `OLLAMA` | | |
| | `MAX_RESEARCH_LOOPS` | π Maximum number of research loops to perform. Default: `3` | | |
| | `LLM_TOOL_MODEL` | π οΈ Name of the LLM model to use for tool calling. Default: `smollm2:1.7b-instruct-q2_K` | | |
| | `N_CONTEXT_DOCS` | π Number of context documents to retrieve for RAG. Default: `2` | | |
| | `EVA_SEARCH_PERMISSION` | π Permission for search (`yes`, `no`, or `ask`). Default: `no` | | |
| | `EVA_DB_PERSIST` | πΎ Path or flag for DB persistence. Default: unset | | |
| | `EVA_REINITIALIZE` | π If true, reinitializes EVA DB. Default: `False` | | |
| | `THREAD_ID` | π§΅ Thread ID for the current session. Default: unset | | |
| Set these variables to control model selection, logging, search permissions, and more. For advanced usage, see the developer documentation. | |