feat: Add config support for pgvector
Added config support for using pgvector Feature #COG-170
This commit is contained in:
parent
028f0b5100
commit
d68a3be32e
7 changed files with 13 additions and 8 deletions
|
|
@ -7,19 +7,19 @@ GRAPHISTRY_PASSWORD=
|
|||
|
||||
SENTRY_REPORTING_URL=
|
||||
|
||||
GRAPH_DATABASE_PROVIDER="neo4j" # or "networkx"
|
||||
GRAPH_DATABASE_PROVIDER="neo4j" # "neo4j" or "networkx"
|
||||
# Not needed if using networkx
|
||||
GRAPH_DATABASE_URL=
|
||||
GRAPH_DATABASE_USERNAME=
|
||||
GRAPH_DATABASE_PASSWORD=
|
||||
|
||||
VECTOR_ENGINE_PROVIDER="qdrant" # or "weaviate" or "lancedb"
|
||||
VECTOR_ENGINE_PROVIDER="qdrant" # or "qdrant", "pgvector", "weaviate" or "lancedb"
|
||||
# Not needed if using "lancedb"
|
||||
VECTOR_DB_URL=
|
||||
VECTOR_DB_KEY=
|
||||
|
||||
# Database provider
|
||||
DB_PROVIDER="sqlite" # or "postgres"
|
||||
DB_PROVIDER="sqlite" # "sqlite" or "postgres"
|
||||
|
||||
# Database name
|
||||
DB_NAME=cognee_db
|
||||
|
|
|
|||
|
|
@ -190,11 +190,11 @@ Cognee supports a variety of tools and services for different operations:
|
|||
|
||||
- **Local Setup**: By default, LanceDB runs locally with NetworkX and OpenAI.
|
||||
|
||||
- **Vector Stores**: Cognee supports Qdrant and Weaviate for vector storage.
|
||||
- **Vector Stores**: Cognee supports LanceDB, Qdrant, PGVector and Weaviate for vector storage.
|
||||
|
||||
- **Language Models (LLMs)**: You can use either Anyscale or Ollama as your LLM provider.
|
||||
|
||||
- **Graph Stores**: In addition to LanceDB, Neo4j is also supported for graph storage.
|
||||
- **Graph Stores**: In addition to NetworkX, Neo4j is also supported for graph storage.
|
||||
|
||||
- **User management**: Create individual user graphs and manage permissions
|
||||
|
||||
|
|
|
|||
|
|
@ -362,7 +362,7 @@ class LLMConfig(BaseModel):
|
|||
apiKey: str
|
||||
|
||||
class VectorDBConfig(BaseModel):
|
||||
provider: Union[Literal["lancedb"], Literal["qdrant"], Literal["weaviate"]]
|
||||
provider: Union[Literal["lancedb"], Literal["qdrant"], Literal["weaviate"], Literal["pgvector"]]
|
||||
url: str
|
||||
apiKey: str
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ def create_vector_engine(config: VectorConfig, embedding_engine):
|
|||
api_key = config["vector_db_key"],
|
||||
embedding_engine = embedding_engine
|
||||
)
|
||||
elif config["vector_db_provider"] == "pgvector":
|
||||
pass
|
||||
else:
|
||||
from .lancedb.LanceDBAdapter import LanceDBAdapter
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ def get_settings():
|
|||
}, {
|
||||
"value": "lancedb",
|
||||
"label": "LanceDB",
|
||||
}, {
|
||||
"value": "pgvector",
|
||||
"label": "PGVector",
|
||||
}]
|
||||
|
||||
vector_config = get_vectordb_config()
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from cognee.infrastructure.databases.vector import get_vectordb_config
|
|||
class VectorDBConfig(BaseModel):
|
||||
url: str
|
||||
apiKey: str
|
||||
provider: Union[Literal["lancedb"], Literal["qdrant"], Literal["weaviate"]]
|
||||
provider: Union[Literal["lancedb"], Literal["qdrant"], Literal["weaviate"], Literal["pgvector"]]
|
||||
|
||||
async def save_vector_db_config(vector_db_config: VectorDBConfig):
|
||||
vector_config = get_vectordb_config()
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ services:
|
|||
- cognee-network
|
||||
|
||||
postgres:
|
||||
image: postgres:latest
|
||||
image: pgvector/pgvector:pg17
|
||||
container_name: postgres
|
||||
environment:
|
||||
POSTGRES_USER: cognee
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue