WeaviateEx.Generative.Parameters (WeaviateEx v0.7.4)

View Source

Parameters for generative queries with multimodal support.

Use these structs to create typed generation parameters including support for images and advanced options like metadata and debug.

Examples

# Basic single prompt
param = Parameters.single_prompt("Summarize: {content}")

# With metadata and debug
param = Parameters.single_prompt("Summarize: {content}",
  metadata: true,
  debug: true
)

# Multimodal with external images
param = Parameters.single_prompt("Describe this image",
  images: [base64_image_data]
)

# Use image properties from objects
param = Parameters.grouped_task("Compare products",
  image_properties: ["product_image"],
  non_blob_properties: ["name", "price"]
)

Summary

Functions

Create a grouped task parameter object.

Create a single prompt parameter object.

Convert parameters to GraphQL generate clause.

Extract query options from parameters.

Types

Functions

grouped_task(prompt, opts \\ [])

Create a grouped task parameter object.

Parameters

  • prompt - The generation prompt
  • opts - Options (same as single_prompt, except no debug option)

Examples

param = Parameters.grouped_task("Compare these articles about {title}")

single_prompt(prompt, opts \\ [])

Create a single prompt parameter object.

Parameters

  • prompt - The generation prompt with optional {property} interpolation
  • opts - Options:
    • :images - List of base64-encoded images or file paths
    • :image_properties - Object properties containing images
    • :non_blob_properties - Properties to include (excluding blobs)
    • :metadata - Return generation metadata (default: false)
    • :debug - Return debug info including full prompt (default: false)

Examples

# Basic prompt
param = Parameters.single_prompt("Summarize: {content}")

# With options
param = Parameters.single_prompt("Describe this",
  images: ["base64data..."],
  metadata: true,
  debug: true
)

to_graphql_clause(param)

@spec to_graphql_clause(params()) :: String.t()

Convert parameters to GraphQL generate clause.

Examples

param = Parameters.single_prompt("Summarize {title}")
clause = Parameters.to_graphql_clause(param)
# => "singleResult: { prompt: """Summarize {title}""" }"

to_query_options(param)

@spec to_query_options(params()) :: keyword()

Extract query options from parameters.

Returns keyword list of options that should be passed to the query.