openai
openai
Send messages to OpenAI's chat completion API and receive responses.
Input
input:
messages:
- role: "system"
content: "You are a helpful assistant"
- role: "user"
content: "Hello!"
max_tokens: 150 # optional
temperature: 0.7 # optional
api_key: "sk-..." # optional (uses OPENAI_API_KEY env var)
messages
(required): Array of chat messagesmax_tokens
(optional): Maximum tokens in responsetemperature
(optional): Response randomness (0.0 to 1.0)api_key
(optional): OpenAI API key (uses environment variable if not provided)
Output
output:
response: "Hello! How can I help you today?"
response
: The AI's text response
Message Format
Each message must have:
role
: "system", "user", or "assistant"content
: Text content of the message
Note: The role field uses camelCase serialization internally, but accepts both formats.
Example
steps:
- id: ask_ai
component: /builtin/openai
input:
messages: { $from: { step: prepare_chat }, path: "messages" }
max_tokens: 200
temperature: 0.3
Complete AI Workflow Example
steps:
- id: create_prompt
component: /builtin/create_messages
input:
system_instructions: "You are a code review assistant. Analyze code for potential issues."
user_prompt: { $from: { workflow: input }, path: "code_snippet" }
- id: analyze_code
component: /builtin/openai
input:
messages: { $from: { step: create_prompt }, path: "messages" }
max_tokens: 500
temperature: 0.2