CoolFace
Apppublic

mbudisic/PsTuts-RAG

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
App README

GitHub tag (latest by date)

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.

๐Ÿค— HuggingFace is updated from Github.

๐Ÿš€ Getting Started

  1. 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]"
  1. 1.Run the app:
bash
chainlit run app.py
  1. 1.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
  • โ€”๐ŸŒ Web Search Permission Control: You can now set whether the AI is allowed to perform web searches directly from the chat settings (top right โš™๏ธ). Choose between "Ask every time", "Always allow", or "Never allow" for full control!

โš™๏ธ 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 VarDescription
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. Can also be set in the chat UI!
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.