= gcp_vertex_ai_chat :type: processor :status: experimental :categories: ["AI"] //// THIS FILE IS AUTOGENERATED! To make changes, edit the corresponding source file under: https://github.com/redpanda-data/connect/tree/main/internal/impl/. And: https://github.com/redpanda-data/connect/tree/main/cmd/tools/docs_gen/templates/plugin.adoc.tmpl //// // © 2024 Redpanda Data Inc. component_type_dropdown::[] Generates responses to messages in a chat conversation, using the Vertex AI API. Introduced in version 4.34.0. [tabs] ====== Common:: + -- ```yml # Common config fields, showing default values label: "" gcp_vertex_ai_chat: project: "" # No default (required) credentials_json: "" # No default (optional) location: us-central1 # No default (optional) model: gemini-1.5-pro-001 # No default (required) prompt: "" # No default (optional) attachment: 'root = this.image.decode("base64") # decode base64 encoded image' # No default (optional) temperature: 0 # No default (optional) max_tokens: 0 # No default (optional) response_format: text ``` -- Advanced:: + -- ```yml # All config fields, showing default values label: "" gcp_vertex_ai_chat: project: "" # No default (required) credentials_json: "" # No default (optional) location: us-central1 # No default (optional) model: gemini-1.5-pro-001 # No default (required) prompt: "" # No default (optional) system_prompt: "" # No default (optional) attachment: 'root = this.image.decode("base64") # decode base64 encoded image' # No default (optional) temperature: 0 # No default (optional) max_tokens: 0 # No default (optional) response_format: text top_p: 0 # No default (optional) top_k: 0 # No default (optional) stop: [] # No default (optional) presence_penalty: 0 # No default (optional) frequency_penalty: 0 # No default (optional) ``` -- ====== This processor sends prompts to your chosen large language model (LLM) and generates text from the responses, using the Vertex AI API. For more information, see the https://cloud.google.com/vertex-ai/docs[Vertex AI documentation^]. == Fields === `project` GCP project ID to use *Type*: `string` === `credentials_json` An optional field to set google Service Account Credentials json. [CAUTION] ==== This field contains sensitive information that usually shouldn't be added to a config directly, read our xref:configuration:secrets.adoc[secrets page for more info]. ==== *Type*: `string` === `location` The location of the model if using a fined tune model. For base models this can be omitted *Type*: `string` ```yml # Examples location: us-central1 ``` === `model` The name of the LLM to use. For a full list of models, see the https://console.cloud.google.com/vertex-ai/model-garden[Vertex AI Model Garden]. *Type*: `string` ```yml # Examples model: gemini-1.5-pro-001 model: gemini-1.5-flash-001 ``` === `prompt` The prompt you want to generate a response for. By default, the processor submits the entire payload as a string. This field supports xref:configuration:interpolation.adoc#bloblang-queries[interpolation functions]. *Type*: `string` === `system_prompt` The system prompt to submit to the Vertex AI LLM. This field supports xref:configuration:interpolation.adoc#bloblang-queries[interpolation functions]. *Type*: `string` === `attachment` Additional data like an image to send with the prompt to the model. The result of the mapping must be a byte array, and the content type is automatically detected. *Type*: `string` Requires version 4.38.0 or newer ```yml # Examples attachment: 'root = this.image.decode("base64") # decode base64 encoded image' ``` === `temperature` Controls the randomness of predications. *Type*: `float` === `max_tokens` The maximum number of output tokens to generate per message. *Type*: `int` === `response_format` The response format of generated type, the model must also be prompted to output the appropriate response type. *Type*: `string` *Default*: `"text"` Options: `text` , `json` . === `top_p` If specified, nucleus sampling will be used. *Type*: `float` === `top_k` If specified top-k sampling will be used. *Type*: `int` === `stop` Stop sequences to when the model will stop generating further tokens. *Type*: `array` === `presence_penalty` Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. *Type*: `float` === `frequency_penalty` Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. *Type*: `float`