Complete Migration
This commit is contained in:
75
constants.py
Normal file
75
constants.py
Normal file
@@ -0,0 +1,75 @@
|
||||
from typing import Dict, List
|
||||
|
||||
# tweet configuration
|
||||
TWEET_MAX_LENGTH = 280
|
||||
TWEET_TRUNCATION_SUFFIX = "..."
|
||||
TWEET_TRUNCATION_LENGTH = TWEET_MAX_LENGTH - len(TWEET_TRUNCATION_SUFFIX)
|
||||
|
||||
# score configuration
|
||||
MIN_SCORE = 1
|
||||
MAX_SCORE = 9
|
||||
DEFAULT_SCORE = 5
|
||||
|
||||
# file paths
|
||||
CATEGORIES_FILE = "categories.json"
|
||||
SETTINGS_FILE = "settings.json"
|
||||
HISTORY_FILE = "input_history.json"
|
||||
|
||||
# history configuration
|
||||
MAX_HISTORY_ITEMS = 50 # maximum number of historical inputs to store
|
||||
|
||||
# model configuration
|
||||
DEFAULT_MODEL = "openrouter/anthropic/claude-sonnet-4.5"
|
||||
|
||||
AVAILABLE_MODELS: Dict[str, str] = {
|
||||
"Claude Sonnet 4.5": "openrouter/anthropic/claude-sonnet-4.5",
|
||||
"Opus 4.1": "openrouter/anthropic/claude-opus-4.1",
|
||||
"Gemini 2.5 Flash": "openrouter/google/gemini-2.5-flash",
|
||||
"Gemini 2.5 Flash Lite": "openrouter/google/gemini-2.5-flash-lite",
|
||||
"Gemini 2.5 Pro": "openrouter/google/gemini-2.5-pro",
|
||||
"GPT-5": "openrouter/openai/gpt-5"
|
||||
}
|
||||
|
||||
# openrouter API configuration
|
||||
OPENROUTER_API_BASE = "https://openrouter.ai/api/v1"
|
||||
OPENROUTER_MAX_TOKENS = 4096
|
||||
OPENROUTER_TEMPERATURE = 0.7
|
||||
|
||||
# optimization defaults
|
||||
DEFAULT_ITERATIONS = 10
|
||||
DEFAULT_PATIENCE = 5
|
||||
DEFAULT_USE_CACHE = True
|
||||
|
||||
# default evaluation categories
|
||||
DEFAULT_CATEGORIES: List[str] = [
|
||||
"Engagement potential - how likely users are to like, retweet, or reply",
|
||||
"Clarity and readability - how easy the tweet is to understand",
|
||||
"Emotional impact - how well the tweet evokes feelings or reactions",
|
||||
"Relevance to target audience - how well it resonates with intended readers"
|
||||
]
|
||||
|
||||
# error messages
|
||||
ERROR_PARSING = "Default evaluation due to parsing error"
|
||||
ERROR_VALIDATION = "Default evaluation due to validation error"
|
||||
ERROR_GENERATION = "Tweet generation failed"
|
||||
ERROR_EVALUATION = "Tweet evaluation failed"
|
||||
ERROR_DSPy_INIT = "DSPy initialization failed"
|
||||
ERROR_NO_API_KEY = "OPENROUTER_API_KEY environment variable is required"
|
||||
ERROR_SAVE_CATEGORIES = "Failed to save categories"
|
||||
ERROR_LOAD_CATEGORIES = "Failed to load categories"
|
||||
ERROR_SAVE_SETTINGS = "Failed to save settings"
|
||||
ERROR_LOAD_SETTINGS = "Failed to load settings"
|
||||
ERROR_SAVE_HISTORY = "Failed to save input history"
|
||||
ERROR_LOAD_HISTORY = "Failed to load input history"
|
||||
|
||||
# cache configuration
|
||||
CACHE_ENABLE_MEMORY = True
|
||||
CACHE_ENABLE_DISK = True
|
||||
|
||||
# iteration display
|
||||
ITERATION_SLEEP_TIME = 0.1 # seconds
|
||||
|
||||
# truncation display
|
||||
CATEGORY_DISPLAY_MAX_LENGTH = 30
|
||||
CATEGORY_DISPLAY_TRUNCATION = "..."
|
||||
CATEGORY_IMPROVEMENT_MAX_LENGTH = 50
|
||||
Reference in New Issue
Block a user