Spaces:
Sleeping
Sleeping
| import os | |
| from typing import Optional | |
| from pydantic_settings import BaseSettings | |
| class Settings(BaseSettings): | |
| api_title: str = "Legal RAG Analysis API" | |
| api_version: str = "1.0.0" | |
| debug: bool = False | |
| gemini_api_key: str = os.getenv("GEMINI_API_KEY", "") | |
| gemini_model: str = "gemini-2.5-flash" | |
| legal_bert_model_path: str = os.environ.get("MODEL_PATH", "/tmp/legalbert_model") | |
| faiss_indexes_base_path: str = os.environ.get("FAISS_INDEX_PATH", "/tmp/faiss_indexes") | |
| constitution_index_path: str = f"{faiss_indexes_base_path}/constitution_bgeLarge.index" | |
| constitution_chunks_path: str = f"{faiss_indexes_base_path}/constitution_chunks.json" | |
| ipc_index_path: str = f"{faiss_indexes_base_path}/ipc_bgeLarge.index" | |
| ipc_chunks_path: str = f"{faiss_indexes_base_path}/ipc_chunks.json" | |
| ipc_case_index_path: str = f"{faiss_indexes_base_path}/ipc_case_flat.index" | |
| ipc_case_chunks_path: str = f"{faiss_indexes_base_path}/ipc_case_chunks.json" | |
| statute_index_path: str = f"{faiss_indexes_base_path}/statute_index.faiss" | |
| statute_chunks_path: str = f"{faiss_indexes_base_path}/statute_chunks.pkl" | |
| qa_index_path: str = f"{faiss_indexes_base_path}/qa_faiss_index.idx" | |
| qa_chunks_path: str = f"{faiss_indexes_base_path}/qa_text_chunks.json" | |
| case_law_index_path: str = f"{faiss_indexes_base_path}/case_faiss.index" | |
| case_law_chunks_path: str = f"{faiss_indexes_base_path}/case_chunks.pkl" | |
| sentence_transformer_model: str = "BAAI/bge-large-en-v1.5" | |
| top_k_results: int = 5 | |
| max_unique_chunks: int = 10 | |
| confidence_threshold: float = 0.6 | |
| class Config: | |
| env_file = ".env" | |
| case_sensitive = False | |
| settings = Settings() | |