LegalLens-API / app /core /config.py
negi2725's picture
Update app/core/config.py
d54f69e verified
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()