Search from an embedding store.

Performs a semantic search using a query string.

yaml
type: "io.kestra.plugin.langchain4j.rag.Search"

Make a search query against an embedding store.

yaml
id: search_embeddings_flow
namespace: company.team

tasks:
  - id: ingest
    type: io.kestra.plugin.langchain4j.rag.IngestDocument
    provider:
      type: io.kestra.plugin.langchain4j.provider.GoogleGemini
      modelName: gemini-embedding-exp-03-07
      apiKey: "{{ secret('GEMINI_API_KEY') }}"
    embeddings:
      type: io.kestra.plugin.langchain4j.embeddings.KestraKVStore
    drop: true
    fromExternalURLs:
      - https://raw.githubusercontent.com/kestra-io/docs/refs/heads/main/content/blogs/release-0-22.md

  - id: search
    type: io.kestra.plugin.langchain4j.rag.Search
    provider:
      type: io.kestra.plugin.langchain4j.provider.GoogleGemini
      modelName: gemini-embedding-exp-03-07
      apiKey: "{{ secret('GEMINI_API_KEY') }}"
    embeddings:
      type: io.kestra.plugin.langchain4j.embeddings.KestraKVStore
    query: "Feature Highlights"
    maxResults: 5
    minScore: 0.5
    fetchType: FETCH
Properties

The embedding store provider

Maximum number of results to return

Minimum similarity score

The embedding model provider

Query string to search for

Default NONE
Possible Values
STOREFETCHFETCH_ONENONE
SubType string

List of matching text results

The count of the fetched or stored resources

Format uri

The output files URI in Kestra's internal storage

Only available when fetchType is set to STORE

Endpoint URL

Project location

Model name

Project ID

API endpoint

The Azure OpenAI endpoint in the format: https://{resource}.openai.azure.com/

Model name

API Key

Client ID

Client secret

API version

Tenant ID

API Key

Model name

Default https://api.deepseek.com/v1

API base URL

SubType string
Min items 1

List of HTTP ElasticSearch servers.

Must be an URI like https://elasticsearch.com: 9200 with scheme and port.

Basic auth configuration.

SubType string

List of HTTP headers to be send on every request.

Must be a string with key value separated with : , ex: Authorization: Token XYZ.

Sets the path's prefix for every request used by the HTTP client.

For example, if this is set to /my/path, then any client request will become /my/path/ + endpoint. In essence, every request's endpoint is prefixed by this pathPrefix. The path prefix is useful for when ElasticSearch is behind a proxy that provides a base path or a proxy that requires all paths to start with '/'; it is not intended for other purposes and it should not be supplied in other scenarios.

Whether the REST client should return any response containing at least one warning header as a failure.

Trust all SSL CA certificates.

Use this if the server is using a self signed SSL certificate.

API Key

Model name

API Key

Model name

API base URL

Model endpoint

Model name

Basic auth password.

Basic auth username.

Default {{flow.id}}-embedding-store

The name of the K/V entry to use

API Key

Model name

AWS Access Key ID

Model name

AWS Secret Access Key

Default COHERE
Possible Values
COHERETITAN

Amazon Bedrock Embedding Model Type

The database name

The database server host

The database password

The database server port

The table to store embeddings in

The database user

Default false

Whether to use use an IVFFlat index

An IVFFlat index divides vectors into lists, and then searches a subset of those lists closest to the query vector. It has faster build times and uses less memory than HNSW but has lower query performance (in terms of speed-recall tradeoff).

API Key

Model name

API base URL

The name of the index to store embeddings