Spaces:
Sleeping
Sleeping
File size: 1,771 Bytes
9844436 d54f69e 9844436 d54f69e 9844436 d54f69e 47f9265 d54f69e 9844436 d54f69e 9844436 d54f69e 9844436 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
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()
|