constants.py
1 """Shared constants used across multiple modules. 2 3 This module contains only constants that are truly shared across different 4 domains/modules. Domain-specific constants should be in their respective 5 modules (e.g., chunkers/constants.py, cli/constants.py, etc.). 6 """ 7 8 DEFAULT_ENCODING = "utf-8" 9 10 DEFAULT_RETRIEVAL_K = 5 11 12 DEFAULT_IMAGE_DESCRIPTION_PROMPT = ( 13 "You are an expert technical analyst converting visual data into text for a retrieval system. " 14 "Analyze the image exhaustively. Do not summarize; extract details." 15 "\n\n" 16 "Follow these strict rules based on image type:" 17 "\n" 18 "1. **Charts & Graphs:**\n" 19 " - State the Title, X-axis label, and Y-axis label.\n" 20 " - Transcribe the specific data points or values visible for each category/timeframe.\n" 21 " - Explicitly state the trend (e.g., 'Rising from 10% to 50%').\n" 22 "2. **Diagrams & Flowcharts:**\n" 23 " - Transcribe every text node/box in the image.\n" 24 " - Describe the relationships using logical flow (e.g., 'The process starts at [A], which splits into [B] and [C].').\n" 25 "3. **Tables (as images):**\n" 26 " - Convert the image data into a Markdown table format.\n" 27 "4. **Screenshots/UI:**\n" 28 " - List all visible menu items, buttons, and active fields.\n" 29 "\n" 30 "Output format: specific, dense, and factual. Avoid filler words." 31 ) 32 33 DEFAULT_IMAGE_DESCRIPTION_TIMEOUT = 60 # seconds