Spaces:
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
- Install dependencies:
# 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]"
- Run the app:
chainlit run app.py
- 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.