Download src/db/postgres/vector_store.py from DataEyond/Agentic-Service-Data-Eyond-Catalog: direct link, hf CLI and curl.
- Browser
- Download file 1.13 kB
-
https://huggingface.co/spaces/DataEyond/Agentic-Service-Data-Eyond-Catalog/resolve/ae50194de0d72e5b8f551bb4325bec31bfa803be/src/db/postgres/vector_store.py
- Command line
-
hf download hf://spaces/DataEyond/Agentic-Service-Data-Eyond-Catalog@ae50194de0d72e5b8f551bb4325bec31bfa803be/src/db/postgres/vector_store.py
-
curl -L -o vector_store.py https://huggingface.co/spaces/DataEyond/Agentic-Service-Data-Eyond-Catalog/resolve/ae50194de0d72e5b8f551bb4325bec31bfa803be/src/db/postgres/vector_store.py
1.13 kB
| """PGVector store setup for document embeddings.""" | |
| from langchain_postgres import PGVector | |
| from langchain_openai import AzureOpenAIEmbeddings | |
| from src.config.settings import settings | |
| from src.db.postgres.connection import _pgvector_engine | |
| # Initialize embeddings | |
| embeddings = AzureOpenAIEmbeddings( | |
| azure_deployment=settings.azureai_deployment_name_embedding, | |
| openai_api_version=settings.azureai_api_version_embedding, | |
| azure_endpoint=settings.azureai_endpoint_url_embedding, | |
| api_key=settings.azureai_api_key_embedding | |
| ) | |
| # Use psycopg3 connection string (not asyncpg engine) with async_mode=True. | |
| # psycopg3 supports multi-statement SQL, which PGVector needs for | |
| # advisory_lock + CREATE EXTENSION vector. asyncpg rejects this as a prepared statement. | |
| vector_store = PGVector( | |
| embeddings=embeddings, | |
| connection=_pgvector_engine, | |
| collection_name="documents", | |
| use_jsonb=True, | |
| async_mode=True, | |
| create_extension=False, # Extension pre-created in init_db.py (avoids multi-statement asyncpg bug) | |
| ) | |
| def get_vector_store(): | |
| """Get the vector store instance.""" | |
| return vector_store | |