Spaces:
Sleeping
Sleeping
| 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ı", | |
| } | |