Weaviate vector database adapter for cognee
Project description
Cognee Community Weaviate Vector Adapter
This is a community-maintained adapter that enables Cognee to work with Weaviate as a vector database.
Installation
If published, the package can be simply installed via pip:
pip install cognee-community-vector-adapter-weaviate
In case it is not published yet, you can use poetry to locally build the adapter package:
pip install poetry
poetry install # run this command in the directory containing the pyproject.toml file
Connection Setup
The provided code creates an async client connected to a remote instance of Weaviate. If you want to connect to a local
instance, like running a docker container locally and connecting to it, you need to change a few lines of code.
In the weaviate_adapter.py file inside the .../weaviate/cognee_community_vector_adapter_weaviate directory, replace
the following lines in the constructor:
self.client = weaviate.use_async_with_weaviate_cloud(
cluster_url=url,
auth_credentials=weaviate.auth.AuthApiKey(api_key),
additional_config=wvc.init.AdditionalConfig(timeout=wvc.init.Timeout(init=30)),
)
with the following:
self.client = weaviate.use_async_with_local(
host="localhost",
port=8080,
grpc_port=50051
)
You can use the docker command provided by Weaviate (https://docs.weaviate.io/deploy/installation-guides/docker-installation) to run Weaviate with default settings. The command looks something like this, specifying the ports for connection:
docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.32.4
Usage
import asyncio
import os
from cognee import config, prune, add, cognify, search, SearchType
# Import the register module to enable Weaviate support
import cognee_community_vector_adapter_weaviate.register
async def main():
# Configure databases
config.set_relational_db_config({
"db_provider": "sqlite",
})
config.set_vector_db_config({
"vector_db_provider": "weaviate",
"vector_db_url": os.getenv("VECTOR_DB_URL"), # or your Weaviate URL
"vector_db_key": os.getenv("VECTOR_DB_KEY"), # or your API key
})
config.set_graph_db_config({
"graph_database_provider": "networkx",
})
# Optional: Clean previous data
await prune.prune_data()
await prune.prune_system()
# Add and process your content
text = "Your text content here"
await add(text)
await cognify()
# Search
search_results = await search(
query_type=SearchType.GRAPH_COMPLETION,
query_text="Your search query"
)
for result in search_results:
print(result)
if __name__ == "__main__":
asyncio.run(main())
Configuration
The Weaviate adapter requires the following configuration parameters:
vector_db_url: Your Weaviate cluster endpoint URLvector_db_key: Your Weaviate API keyvector_db_provider: Set to "weaviate"
Environment Variables
Set the following environment variables or pass them directly in the config:
export VECTOR_DB_URL="https://your-weaviate-instance.weaviate.network"
export VECTOR_DB_KEY="your-api-key"
Alternative: You can also use the .env.template file from the main cognee repository. Copy it to your project directory, rename it to .env, and fill in your Weaviate configuration values.
Requirements
- Python >= 3.11, <= 3.13
- weaviate-client >= 4.9.6, < 5.0.0
- cognee >= 0.2.1
Features
- Full vector search capabilities
- Batch operations support
- Async/await support
- Retry logic for better reliability
- Collection management
- Data point indexing and retrieval
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cognee_community_vector_adapter_weaviate-0.1.2.tar.gz.
File metadata
- Download URL: cognee_community_vector_adapter_weaviate-0.1.2.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.11.13 Darwin/24.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69a6321b9db7e56bcca3a537cd01ba86f8f716b8cea6387456ff5c6d3080f68a
|
|
| MD5 |
1e3269642d5a8248ee260032789ab78a
|
|
| BLAKE2b-256 |
68f46e0dabf06eb1c824891dad2a68a28b50cb15d9a05e870766325ee135eedd
|
File details
Details for the file cognee_community_vector_adapter_weaviate-0.1.2-py3-none-any.whl.
File metadata
- Download URL: cognee_community_vector_adapter_weaviate-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.11.13 Darwin/24.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
051ce290cd609d2a7ca71fcfd0a3eaf0d012c34066bc60cd01331cda8cf6f624
|
|
| MD5 |
60cc9aa8834522850fc343cb4546f042
|
|
| BLAKE2b-256 |
3a6b49b61980df221b62e4efb9e188e63c49c6e0884647d82025167702e66ee3
|