import os from langchain_huggingface import HuggingFaceEmbeddings from langchain_postgres import PGVector from dotenv import load_dotenv load_dotenv() def get_embeddings(): """Initialise et retourne le modèle d'embeddings BAAI/bge-m3.""" return HuggingFaceEmbeddings( model_name="BAAI/bge-m3", model_kwargs={'device': 'cpu'}, encode_kwargs={'normalize_embeddings': True} ) def get_vector_store(collection_name: str = "rh_cgi_vectors"): """Connecte et retourne l'instance PGVector connectée à la base de données.""" db_url = os.getenv("DATABASE_URL") if not db_url: raise ValueError("Erreur : La variable DATABASE_URL est introuvable dans le fichier .env") embeddings = get_embeddings() return PGVector( embeddings=embeddings, collection_name=collection_name, connection=db_url, use_jsonb=True, create_extension=False )