A comprehensive Dify plugin that provides seamless integration with Weaviate vector database, enabling powerful vector search, data management, and text embedding capabilities.
- Vector Search: Perform similarity search using vector embeddings
- Hybrid Search: Combine vector similarity and keyword search for comprehensive results
- Keyword Search: BM25-based keyword search for exact text matching
- Generative Search: RAG-powered search with LLM-generated responses
- Query Agent: Natural language query interface for intelligent operations
- Data Management: Full CRUD operations for Weaviate objects
- Schema Management: Create, delete, and manage collection schemas
- Multiple Vectorizers: Support for OpenAI, Cohere, Hugging Face, and more
- Configurable Dimensions: Customize embedding vector dimensions
- Flexible Models: Use different embedding models based on your needs
- Configure your Weaviate instance credentials in Dify
- Weaviate URL: Your Weaviate instance URL (required)
- API Key: Authentication key (optional for open instances)
- Dimensions: Number of vector dimensions (default: 1536)
- Vectorizer: Choose from text2vec-openai, text2vec-cohere, text2vec-huggingface, etc.
- Model Name: Specific model name for the selected vectorizer
Search for similar vectors in your collections:
{
"collection_name": "MyCollection",
"query_vector": "0.1,0.2,0.3,...",
"limit": 10,
"where_filter": "{\"path\": [\"category\"], \"operator\": \"Equal\", \"valueText\": \"AI\"}"
}Combine vector and keyword search:
{
"collection_name": "MyCollection",
"query": "artificial intelligence",
"query_vector": "0.1,0.2,0.3,...",
"alpha": 0.7,
"limit": 10
}Perform BM25 keyword search:
{
"collection_name": "MyCollection",
"query": "machine learning algorithms",
"limit": 10,
"search_properties": "title,content"
}RAG-powered search with LLM responses:
{
"collection_name": "MyCollection",
"query": "What are the benefits of AI?",
"query_vector": "0.1,0.2,0.3,...",
"limit": 5,
"llm_provider": "openai",
"llm_model": "gpt-3.5-turbo"
}Natural language query interface:
{
"query": "Show me all documents about machine learning",
"collection_name": "MyCollection",
"max_results": 10
}Insert, update, delete, or retrieve objects:
{
"operation": "insert",
"collection_name": "MyCollection",
"object_data": "{\"text\": \"Hello World\", \"category\": \"greeting\"}"
}Create and manage collection schemas:
{
"operation": "create_collection",
"collection_name": "MyCollection",
"properties": "[{\"name\": \"text\", \"data_type\": \"TEXT\"}, {\"name\": \"category\", \"data_type\": \"TEXT\"}]"
}weaviate_plugin/
βββ _assets/ # Plugin icons
βββ models/
β βββ text_embedding/ # Text embedding model
βββ provider/ # Provider configuration
βββ tools/ # Tool implementations
β βββ vector_search.py # Vector similarity search
β βββ hybrid_search.py # Hybrid search
β βββ keyword_search.py # BM25 keyword search
β βββ generative_search.py # RAG-powered search
β βββ query_agent.py # Natural language query agent
β βββ data_management.py # CRUD operations
β βββ schema_management.py # Schema operations
βββ utils/ # Utility functions
β βββ client.py # Weaviate client
β βββ validators.py # Input validation
β βββ helpers.py # Helper functions
βββ main.py # Plugin entry point
βββ manifest.yaml # Plugin manifest
βββ requirements.txt # Dependencies
- Similarity search using vector embeddings
- Configurable result limits and filters
- Metadata and property selection
- Combines vector similarity and keyword search
- Adjustable alpha parameter for weighting
- Advanced filtering capabilities
- BM25-based keyword matching
- Configurable search properties
- Exact text matching capabilities
- RAG-powered search with LLM integration
- Context-aware response generation
- Support for multiple LLM providers
- Natural language query interpretation
- Intelligent operation selection
- Conversational response generation
- Insert single or multiple objects
- Update existing objects by UUID
- Delete objects by UUID
- Retrieve objects with property selection
- List all collections
- Create collections with custom properties
- Delete collections
- Retrieve collection schemas
- Get collection statistics
- List all collections
The plugin includes comprehensive error handling for:
- Invalid credentials
- Network connectivity issues
- Malformed input data
- Weaviate API errors
- Validation failures
To extend the plugin:
- Add new tools in the
tools/directory - Create corresponding YAML configurations
- Register tools in
main.py - Update the provider YAML to include new tools
This plugin is provided by Weaviate for integration with Dify.
Author: weaviate Version: 0.0.1 Type: tool
Source code: https://github.com/weaviate/Dify-Weaviate-Plugin