ChatCompletion
yaml
type: "io.kestra.plugin.ai.completion.chatcompletion"
Examples
yaml
id: chat_completion
namespace: company.ai
inputs:
- id: prompt
type: STRING
tasks:
- id: chat_completion
type: io.kestra.plugin.ai.completion.ChatCompletion
provider:
type: io.kestra.plugin.ai.provider.GoogleGemini
apiKey: "{{ kv('GOOGLE_API_KEY') }}"
modelName: gemini-2.5-flash
messages:
- type: SYSTEM
content: You are a helpful assistant, answer concisely, avoid overly casual language or unnecessary verbosity.
- type: USER
content: "{{inputs.prompt}}"
yaml
id: chat_completion_with_tools
namespace: company.ai
inputs:
- id: prompt
type: STRING
tasks:
- id: chat_completion_with_tools
type: io.kestra.plugin.ai.completion.ChatCompletion
provider:
type: io.kestra.plugin.ai.provider.GoogleGemini
apiKey: "{{ kv('GOOGLE_API_KEY') }}"
modelName: gemini-2.5-flash
messages:
- type: SYSTEM
content: You are a helpful assistant, answer concisely, avoid overly casual language or unnecessary verbosity.
- type: USER
content: "{{inputs.prompt}}"
tools:
- type: io.kestra.plugin.ai.tool.GoogleCustomWebSearch
apiKey: "{{ kv('GOOGLE_SEARCH_API_KEY') }}"
csi: "{{ kv('GOOGLE_SEARCH_CSI') }}"
yaml
id: structured-output
namespace: company.ai
inputs:
- id: prompt
type: STRING
defaults: |
Hello, my name is John. I was born on January 1, 2000.
tasks:
- id: ai-agent
type: io.kestra.plugin.ai.completion.ChatCompletion
provider:
type: io.kestra.plugin.ai.provider.GoogleGemini
modelName: gemini-2.5-flash
apiKey: "{{ kv('GEMINI_API_KEY') }}"
configuration:
responseFormat:
type: JSON
jsonSchema:
type: object
properties:
name:
type: string
birth:
type: string
messages:
- type: USER
content: "{{inputs.prompt}}"
Properties
provider *RequiredNon-dynamicAmazonBedrockAnthropicAzureOpenAIDeepSeekGoogleGeminiGoogleVertexAIMistralAIOllamaOpenAI
configuration Non-dynamicChatConfiguration
Default
{}
Outputs
finishReason string
Possible Values
STOP
LENGTH
TOOL_EXECUTION
CONTENT_FILTER
OTHER
jsonOutput object
outputFiles object
SubType string
requestDuration integer
textOutput string
tokenUsage TokenUsage
Definitions
io.kestra.plugin.ai.completion.ChatCompletion-ChatMessage
content string
type string
Possible Values
SYSTEM
AI
USER
Mistral AI Model Provider
apiKey *Requiredstring
modelName *Requiredstring
type *Requiredobject
baseUrl string
Model Context Protocol (MCP) Stdio client tool
command *Requiredarray
SubType string
type *Requiredobject
env object
SubType string
logEvents booleanstring
Default
false
Call a Kestra flow as a tool
type *Requiredobject
description string
flowId string
inheritLabels booleanstring
Default
false
inputs object
labels arrayobject
namespace string
revision integerstring
scheduleDate string
Format
date-time
Model Context Protocol (MCP) SSE client tool
type *Requiredobject
url *Requiredstring
headers object
SubType string
logRequests booleanstring
Default
false
logResponses booleanstring
Default
false
timeout string
Format
duration
io.kestra.plugin.ai.domain.AIOutput-ToolExecution
requestArguments object
requestId string
requestName string
result string
Deepseek Model Provider
apiKey *Requiredstring
modelName *Requiredstring
type *Requiredobject
baseUrl string
Default
https://api.deepseek.com/v1
io.kestra.plugin.ai.domain.AIOutput-AIResponse
completion string
finishReason string
Possible Values
STOP
LENGTH
TOOL_EXECUTION
CONTENT_FILTER
OTHER
id string
requestDuration integer
tokenUsage TokenUsage
io.kestra.plugin.ai.domain.ChatConfiguration-ResponseFormat
jsonSchema object
jsonSchemaDescription string
type string
Default
TEXT
Possible Values
TEXT
JSON
Model Context Protocol (MCP) Docker client tool
image *Requiredstring
type *Requiredobject
apiVersion string
binds array
SubType string
command array
SubType string
dockerCertPath string
dockerConfig string
dockerContext string
dockerHost string
dockerTlsVerify booleanstring
env object
SubType string
logEvents booleanstring
Default
false
registryEmail string
registryPassword string
registryUrl string
registryUsername string
Google Custom Search web tool
apiKey *Requiredstring
csi *Requiredstring
type *Requiredobject
Ollama Model Provider
endpoint *Requiredstring
modelName *Requiredstring
type *Requiredobject
Code execution tool using Judge0
apiKey *Requiredstring
type *Requiredobject
OpenAI Model Provider
apiKey *Requiredstring
modelName *Requiredstring
type *Requiredobject
baseUrl string
io.kestra.plugin.ai.domain.ChatConfiguration
logRequests booleanstring
logResponses booleanstring
responseFormat ChatConfiguration-ResponseFormat
seed integerstring
temperature numberstring
topK integerstring
topP numberstring
io.kestra.plugin.ai.domain.TokenUsage
inputTokenCount integer
outputTokenCount integer
totalTokenCount integer
io.kestra.plugin.ai.domain.AIOutput-AIResponse-ToolExecutionRequest
arguments object
id string
name string
Azure OpenAI Model Provider
endpoint *Requiredstring
modelName *Requiredstring
type *Requiredobject
apiKey string
clientId string
clientSecret string
serviceVersion string
tenantId string
Google VertexAI Model Provider
endpoint *Requiredstring
location *Requiredstring
modelName *Requiredstring
project *Requiredstring
type *Requiredobject
Google Gemini Model Provider
apiKey *Requiredstring
modelName *Requiredstring
type *Requiredobject
Model Context Protocol (MCP) SSE client tool
sseUrl *Requiredstring
type *Requiredobject
headers object
SubType string
logRequests booleanstring
Default
false
logResponses booleanstring
Default
false
timeout string
Format
duration
Anthropic AI Model Provider
apiKey *Requiredstring
modelName *Requiredstring
type *Requiredobject
WebSearch tool for Tavily Search
apiKey *Requiredstring
type *Requiredobject
Amazon Bedrock Model Provider
accessKeyId *Requiredstring
modelName *Requiredstring
secretAccessKey *Requiredstring
type *Requiredobject
modelType string
Default
COHERE
Possible Values
COHERE
TITAN