Class WeaviatePlugin

java.lang.Object
com.google.genkit.plugins.weaviate.WeaviatePlugin
All Implemented Interfaces:
Plugin

public class WeaviatePlugin extends Object implements Plugin
Weaviate plugin for Genkit providing vector database integration.

This plugin provides:

  • Weaviate vector similarity search for retrieval
  • Document indexing with automatic embedding generation
  • Support for both local and Weaviate Cloud instances
  • Configurable distance measures (cosine, L2, dot product)

Example usage:


 Genkit genkit = Genkit.builder().plugin(GoogleGenAIPlugin.create(apiKey))
 		.plugin(WeaviatePlugin.builder().host("localhost").port(8080).addCollection(WeaviateCollectionConfig
 				.builder().name("documents").embedderName("googleai/text-embedding-004").build()).build())
 		.build();

 // Index documents
 genkit.index("weaviate/documents", documents);

 // Retrieve similar documents
 List<Document> results = genkit.retrieve("weaviate/documents", "search query");
 
  • Field Details

  • Method Details

    • builder

      public static WeaviatePlugin.Builder builder()
      Creates a builder for WeaviatePlugin.
      Returns:
      a new builder
    • local

      public static WeaviatePlugin.Builder local(String host)
      Creates a simple WeaviatePlugin for local development.
      Parameters:
      host - the Weaviate host
      Returns:
      a new WeaviatePlugin
    • local

      public static WeaviatePlugin.Builder local()
      Creates a simple WeaviatePlugin for local development on default port.
      Returns:
      a new WeaviatePlugin builder
    • getName

      public String getName()
      Description copied from interface: Plugin
      Returns the unique identifier for the plugin. This name is used for registration and lookup.
      Specified by:
      getName in interface Plugin
      Returns:
      the plugin name
    • init

      public List<Action<?,?,?>> init()
      Description copied from interface: Plugin
      Initializes the plugin. This method is called once during Genkit initialization. The plugin should return a list of actions that it provides.
      Specified by:
      init in interface Plugin
      Returns:
      list of actions provided by this plugin
    • init

      public List<Action<?,?,?>> init(Registry registry)
      Description copied from interface: Plugin
      Initializes the plugin with access to the registry. This method is called once during Genkit initialization. The plugin should return a list of actions that it provides.

      Override this method instead of Plugin.init() when your plugin needs to resolve dependencies from the registry (e.g., embedders, models).

      Specified by:
      init in interface Plugin
      Parameters:
      registry - the Genkit registry for resolving dependencies
      Returns:
      list of actions provided by this plugin