Spaces:
Sleeping
Sleeping
| import os | |
| from dotenv import load_dotenv | |
| # Change to: | |
| try: | |
| load_dotenv("../.env", override=True) | |
| except: | |
| pass # Ignore if .env file doesn't exist (like on Hugging Face) | |
| class Settings: | |
| # API Keys | |
| OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") | |
| MONGO_URI = os.environ.get("MONGO_URI") | |
| NEON_DB_URL = os.environ.get("NEON_DB_URL") | |
| NEON_END_POINT = os.getenv("NEON_END_POINT") | |
| # Database | |
| # DATABASE_URL = NEON_END_POINT | |
| # Model Configurations | |
| EMBEDDING_MODEL = "text-embedding-ada-002" | |
| CHAT_MODEL = "gpt-4o-mini" | |
| CHAT_MODEL_2 = "gpt-3.5-turbo" | |
| CHAT_TEMPERATURE = 0.1 | |
| CHAT_MAX_TOKENS = 2000 | |
| # Vector Search | |
| VECTOR_INDEX_NAME = "vector_index" | |
| TEXT_KEY = "contenu" | |
| EMBEDDING_KEY = "vecteur_embedding" | |
| # Collections | |
| BENIN_COLLECTION = "legal_documents" | |
| MADAGASCAR_COLLECTION = "legal_documents_madagascar" | |
| DATABASE_NAME = "legal_db" | |
| # Search Parameters | |
| MAX_SEARCH_RESULTS = 10 | |
| MAX_CONVERSATION_HISTORY = 8 | |
| def validate(self): | |
| missing = [] | |
| if not self.OPENAI_API_KEY: | |
| missing.append("OPENAI_API_KEY") | |
| if not self.MONGO_URI: | |
| missing.append("MONGO_URI") | |
| if not self.NEON_DB_URL: | |
| missing.append("NEON_DB_URL") | |
| if not self.NEON_END_POINT: | |
| missing.append("NEON_END_POINT") | |
| if missing: | |
| raise ValueError(f"Missing environment variables: {', '.join(missing)}") | |
| settings = Settings() |