/ src / constants.py
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