acb / src /config.py
ktek's picture
Added env variable for current dealer id
5e91de7
Raw
History Blame Contribute Delete
5.55 kB
import os
from pathlib import Path
from dotenv import load_dotenv
load_dotenv()
BASE_DIR = Path(__file__).parent.parent
EMBEDDING_MODEL_NAME = "intfloat/multilingual-e5-small"
EMBEDDING_DIMENSION = 384
RERANKER_MODEL_NAME = "ms-marco-MiniLM-L-12-v2"
LLM_MODELS = {
"Llama 3.3 70B": "llama-3.3-70b-versatile",
"Llama 3.1 8B": "llama-3.1-8b-instant",
"GPT OSS 120B": "openai/gpt-oss-120b",
"GPT OSS 20B": "openai/gpt-oss-20b"
}
DEFAULT_LLM_MODEL = "llama-3.3-70b-versatile"
CHUNK_SIZE = 1000
CHUNK_OVERLAP = 200
TOP_K_INITIAL = 15
TOP_K_RERANKED = 5
ENABLE_QUERY_REWRITING = os.getenv("ENABLE_QUERY_REWRITING", "true").lower() == "true"
DUAL_QUERY_MERGE_STRATEGY = "score"
MIN_HISTORY_FOR_REWRITE = 1
MAX_HISTORY_TURNS_FOR_REWRITE = 3
MAX_CONTENT_LENGTH_FOR_REWRITE = 500
QUERY_REWRITE_MODEL = "llama-3.1-8b-instant"
QUERY_REWRITE_TEMPERATURE = 0.1
QUERY_REWRITE_MAX_TOKENS = 100
QUERY_REWRITE_TIMEOUT = 5
CONVERSATION_SUMMARIZATION_ENABLED = os.getenv("CONVERSATION_SUMMARIZATION_ENABLED", "true").lower() == "true"
CONVERSATION_MAX_TURNS_BEFORE_SUMMARY = int(os.getenv("CONVERSATION_MAX_TURNS_BEFORE_SUMMARY", "10"))
CONVERSATION_SUMMARY_MODEL = os.getenv("CONVERSATION_SUMMARY_MODEL", "llama-3.1-8b-instant")
ENABLE_INTENT_BASED_CONTEXT_FILTERING = os.getenv("ENABLE_INTENT_BASED_CONTEXT_FILTERING", "true").lower() == "true"
QUERY_REWRITE_CACHE_SIZE = int(os.getenv("QUERY_REWRITE_CACHE_SIZE", "1000"))
QUERY_REWRITE_CACHE_TTL_SECONDS = int(os.getenv("QUERY_REWRITE_CACHE_TTL_SECONDS", "3600"))
METRICS_RETENTION_HOURS = int(os.getenv("METRICS_RETENTION_HOURS", "168"))
METRICS_AGGREGATION_INTERVAL_MINUTES = int(os.getenv("METRICS_AGGREGATION_INTERVAL_MINUTES", "5"))
ENTITY_CONTEXT_EXPIRY_TURNS = int(os.getenv("ENTITY_CONTEXT_EXPIRY_TURNS", "10"))
ENTITY_CONTEXT_EXPIRY_SECONDS = int(os.getenv("ENTITY_CONTEXT_EXPIRY_SECONDS", "600"))
ENTITY_CONTEXT_SECONDARY_RETENTION_TURNS = int(os.getenv("ENTITY_CONTEXT_SECONDARY_RETENTION_TURNS", "5"))
QDRANT_PATH = str(BASE_DIR / "qdrant_db")
COLLECTION_NAME = "documents_tr"
USE_MEMORY_MODE = False
DATABASE_CONFIG = {
"enabled": os.getenv("DATABASE_ENABLED", "false").lower() == "true",
"type": os.getenv("DATABASE_TYPE", "sqlite"),
"host": os.getenv("DATABASE_HOST", "localhost"),
"port": int(os.getenv("DATABASE_PORT", "5432")),
"name": os.getenv("DATABASE_NAME", ""),
"user": os.getenv("DATABASE_USER", ""),
"password": os.getenv("DATABASE_PASSWORD", ""),
"path": os.getenv("DATABASE_PATH", str(BASE_DIR / "data" / "test_database.db")),
"pool_min_size": int(os.getenv("DATABASE_POOL_MIN", "1")),
"pool_max_size": int(os.getenv("DATABASE_POOL_MAX", "10")),
"pool_timeout": int(os.getenv("DATABASE_POOL_TIMEOUT", "30")),
"query_timeout": int(os.getenv("DATABASE_QUERY_TIMEOUT", "10")),
}
DEALER_ACCESS_CONFIG = {
"enabled": os.getenv("DEALER_ACCESS_ENABLED", "true").lower() == "true",
"current_dealer_id": int(os.getenv("DEALER_CURRENT_ID", "82")),
}
LOGGING_CONFIG = {
"level": os.getenv("LOG_LEVEL", "INFO"),
"structured": os.getenv("LOG_STRUCTURED", "false").lower() == "true",
"log_file": os.getenv("LOG_FILE", None),
"max_history": int(os.getenv("METRICS_MAX_HISTORY", "1000")),
}
GROQ_API_KEY = os.getenv("GROQ_API_KEY", "")
APP_PASSWORD = os.getenv("APP_PASSWORD", "")
UI_TEXTS = {
"title": "Atlas ChatBot",
"subtitle": "Dokümanlarınızı yükleyin ve sorularınızı sorun",
"upload_label": "PDF Dosyalarını Yükle",
"upload_help": "Birden fazla PDF dosyası seçebilirsiniz",
"process_button": "Dokümanları İşle",
"processing": "İşleniyor...",
"model_select": "LLM Modeli Seç",
"rerank_toggle": "Gelismiş Arama (Reranking)",
"rerank_help": "FlashRank ile sonuçları yeniden sırala",
"query_placeholder": "Sorunuzu buraya yazın...",
"ask_button": "Sor",
"sources_label": "Kullanılan Kaynaklar",
"no_docs": "Henüz doküman yüklenmedi.",
"processing_complete": "{count} doküman başarıyla işlendi!",
"chunk_count": "Toplam {count} metin parçası oluşturuldu",
"error_api_key": "GROQ_API_KEY bulunamadı.",
"thinking": "Düşünüyorum...",
"search_standard": "Standart Arama",
"search_advanced": "Gelişmiş Arama (Reranking)",
"base_docs_loading": "Yükleniyor...",
"base_docs_label": "Yüklenmiş Dokümanlar",
"debug_original_query": "Orijinal Soru",
"debug_search_query": "Arama Sorgusu",
"debug_is_follow_up": "Takip Sorusu",
"debug_rewrite_method": "Yeniden Yazma Yontemi",
"debug_rewrite_time": "İşlem Süresi",
"debug_query_rewriting": "Sorgu Genişletme",
"debug_dual_query": "Cift Sorgu Arama",
"debug_dual_query_original_count": "Orijinal Sonuç",
"debug_dual_query_rewritten_count": "Yeniden Yazılan Sonuç",
"debug_dual_query_merged_count": "Birleştirilen Sonuç",
"debug_dual_query_strategy": "Birleştirme Stratejisi",
"data_source_label": "Veri Kaynagi",
"data_source_documents": "Dokümanlar",
"data_source_database": "Veritabanı",
"data_source_hybrid": "Hibrit (Her Ikisi)",
"data_source_auto": "Otomatik",
"database_enabled": "Veritabanı Erişimi",
"database_enabled_help": "Veritabanı sorgularını etkinleştir",
"db_query_indicator": "Veritabanı",
"doc_query_indicator": "Dokümanlar",
"hybrid_query_indicator": "Hibrit",
"execution_time_label": "İşlem Süresi",
"sql_query_label": "SQL Sorgusu",
"db_results_label": "Veritabanı Sonuçları",
}