A powerful command-line interface for managing and interacting with Weaviate vector databases directly from your terminal.
- Collections: Create, update, delete and get collection configurations
- Data Management: Import, query, update and delete data with various search types (vector, keyword, hybrid)
- Multi-tenancy: Manage tenants and their states across collections
- Backup & Restore: Create and restore backups with support for S3, GCS and filesystem
- Sharding: Monitor and manage collection shards
- Flexible Configuration: Configure vector indexes, replication, consistency levels and more
- Role Management: Assign and revoke roles and permissions to users
Install using pip:
pip install weaviate-cli
On Mac, install using Homebrew:
brew install weaviate-cli
# Show available commands
weaviate-cli --help
# Create a collection
weaviate-cli create collection --collection movies --vectorizer transformers
# Import test data
weaviate-cli create data --collection movies --limit 1000
# Query data
weaviate-cli query data --collection movies --search-type hybrid --query "action movies"
- create: Create collections, tenants, backups or import data
- delete: Remove collections, tenants or data
- update: Modify collection settings, tenant states or data
- get: Retrieve collection info, tenant details or shard status
- query: Search data using various methods
- restore: Restore backups from supported backends
- assign: Assign roles and permissions to users
- revoke: Revoke roles and permissions from users
Weaviate CLI allows you to configure your cluster endpoints and parameters through a configuration file. By default, the CLI looks for a
configuration file at ~/.config/weaviate/config.json
. If this file does not exist, it will be created with the following default values:
{
"host": "localhost",
"http_port": "8080",
"grpc_port": "50051"
}
You can also specify your own configuration file using the --config-file
option:
weaviate-cli --config-file /path/to/your/config.json
The configuration file should be a JSON file with the following structure:
{
"host": "your-weaviate-host",
"http_port": "your-http-port",
"grpc_port": "your-grpc-port",
"auth": {
"type": "api_key",
"api_key": "your-api-key"
}
}
If you are using a remote Weaviate instance, you can use the weaviate-cli
command to authenticate with your Weaviate instance.
Here you can see an example on how the configuration file should look like if you are connecting to a WCD cluster:
{
"host": "thisisaninventedcluster.url.s3.us-west3.prov.weaviate.cloud",
"auth": {
"type": "api_key",
"api_key": "jfeRFsdfRfSasgsDoNOtTrYToUsErRQwqqdZfghasd"
},
"headers":{
"X-OpenAI-Api-Key":"OPEN_AI_KEY",
"X-Cohere-Api-Key":"Cohere_AI_KEY",
"X-JinaAI-Api-Key":"JINA_AI_KEY"
}
}
If you want to allow using different users for different actions in your cluster, you can specify the different users in the configuration file and use the --user
option to specify which user to use for a specific action.
An example of how the configuration file should look like is the following:
{
"host": "your-weaviate-host",
"auth": {
"type": "user",
"user1": "your-api-key-for-user1",
"user2": "your-api-key-for-user2"
}
}
It's important to note that the "type" key must be set to "user" and the users must be specified in the auth section.
When using the weaviate-cli
command, you can specify the user to use for an action by using the --user
option. For example:
weaviate-cli --user user1 create collection --collection movies --vectorizer transformers
weaviate-cli --user user2 get collection --collection movies
Execute the following commands to enable shell completion.
Warning Warp is currently not supporting dynamic auto completion and thus can not support weaviate-cli completion.
_WEAVIATE_CLI_COMPLETE=zsh_source weaviate-cli > ${fpath[1]}/_weaviate-cli
autoload -U compinit && compinit
echo 'autoload -U compinit && compinit' >> ~/.zshrc
echo 'eval "$(_WEAVIATE_CLI_COMPLETE=bash_source weaviate-cli)"' >> ~/.bashrc
- Python 3.10+
- Weaviate instance (local or remote)
Detailed documentation will be added soon.
- Weaviate Embeddings Service (WCD clusters only)
- Contextionary
- Transformers
- OpenAI
- Ollama
- Cohere
- JinaAI
- Slack Community - Join our active community
- Stack Overflow - Search using the
weaviate
tag - GitHub Issues - Report bugs or request features
We welcome contributions! Please see our Contributing Guidelines for details.
BSD-3-Clause License