mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-08-16 06:27:58 +00:00
# What does this PR do? This PR (1) enables the files API for Weaviate and (2) enables integration tests for Weaviate, which adds a docker container to the github action. This PR also handles a couple of edge cases for in creating the collection and ensuring the tests all pass. ## Test Plan CI enabled --------- Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
1.8 KiB
1.8 KiB
remote::weaviate
Description
Weaviate is a vector database provider for Llama Stack. It allows you to store and query vectors directly within a Weaviate database. That means you're not limited to storing vectors in memory or in a separate service.
Features
Weaviate supports:
- Store embeddings and their metadata
- Vector search
- Full-text search
- Hybrid search
- Document storage
- Metadata filtering
- Multi-modal retrieval
Usage
To use Weaviate in your Llama Stack project, follow these steps:
- Install the necessary dependencies.
- Configure your Llama Stack project to use chroma.
- Start storing and querying vectors.
Installation
To install Weaviate see the Weaviate quickstart documentation.
Documentation
See Weaviate's documentation for more details about Weaviate in general.
Configuration
Field | Type | Required | Default | Description |
---|---|---|---|---|
weaviate_api_key |
str | None |
No | The API key for the Weaviate instance | |
weaviate_cluster_url |
str | None |
No | localhost:8080 | The URL of the Weaviate cluster |
kvstore |
utils.kvstore.config.RedisKVStoreConfig | utils.kvstore.config.SqliteKVStoreConfig | utils.kvstore.config.PostgresKVStoreConfig | utils.kvstore.config.MongoDBKVStoreConfig, annotation=NoneType, required=False, default='sqlite', discriminator='type' |
No | Config for KV store backend (SQLite only for now) |
Sample Configuration
weaviate_api_key: null
weaviate_cluster_url: ${env.WEAVIATE_CLUSTER_URL:=localhost:8080}
kvstore:
type: sqlite
db_path: ${env.SQLITE_STORE_DIR:=~/.llama/dummy}/weaviate_registry.db