brestok's picture
update prompts
2f1af0f
raw
history blame
1.54 kB
import os
import pathlib
from functools import lru_cache
import faiss
import motor.motor_asyncio
from dotenv import load_dotenv
from openai import AsyncClient
load_dotenv()
class BaseConfig:
BASE_DIR: pathlib.Path = pathlib.Path(__file__).parent.parent.parent
STATIC_DIR = "static"
SECRET_KEY = os.getenv('SECRET')
DB_CLIENT = motor.motor_asyncio.AsyncIOMotorClient(os.getenv("MONGO_DB_URL")).AtlasCluster
OPENAI_CLIENT = AsyncClient(api_key=os.getenv('OPENAI_API_KEY'))
SEMANTIC_INDEX = faiss.read_index(str(pathlib.Path(__file__).parent.parent.parent / 'indexes' / 'entities.index'))
INTRO_MESSAGE = """Hoi! Wat fijn dat je hier bent. Ik ben je assistent en help je graag met het vinden van de juiste zorg of behandeling. Of het nu gaat om EMDR, de slapende honden-methode, of zorg voor een specifieke situatie, ik heb alle kennis in huis om je verder te helpen. Je kunt me alles vragen over behandelingen, doelgroepen en locaties. Hoe kan ik je vandaag helpen?"""
class DevelopmentConfig(BaseConfig):
Issuer = "http://localhost:8000"
Audience = "http://localhost:3000"
class ProductionConfig(BaseConfig):
Issuer = ""
Audience = ""
@lru_cache()
def get_settings() -> DevelopmentConfig | ProductionConfig:
config_cls_dict = {
'development': DevelopmentConfig,
'production': ProductionConfig,
}
config_name = os.getenv('FASTAPI_CONFIG', default='development')
config_cls = config_cls_dict[config_name]
return config_cls()
settings = get_settings()