action openai_create_chat_completion { label: "Creates a completion for the chat message" provider: openai method: POST path: "/chat/completions" encoding: json input: { type: "object" required: ["messages", "model"] properties: { frequency_penalty: { type: "number" description: "Number between -2.0 and 2.0. 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.\n\n[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)\n" } logit_bias: { type: "object" description: "Modify the likelihood of specified tokens appearing in the completion.\n\nAccepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.\n" } max_tokens: { type: "integer" description: "The maximum number of tokens allowed for the generated answer. By default, the number of tokens the model can return will be (4096 - prompt tokens).\n" } messages: { type: "array" description: "The messages to generate chat completions for, in the [chat format](/docs/guides/chat/introduction)." items: { type: "object" required: ["role", "content"] properties: { content: { type: "string" description: "The contents of the message" } name: { type: "string" description: "The name of the user in a multi-user chat" } role: { type: "string" description: "The role of the author of this message." enum: ["system", "user", "assistant"] } } } } model: { type: "string" description: "ID of the model to use. Currently, only `gpt-3.5-turbo` and `gpt-3.5-turbo-0301` are supported." } n: { type: "integer" description: "How many chat completion choices to generate for each input message." } presence_penalty: { type: "number" description: "Number between -2.0 and 2.0. 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.\n\n[See more information about frequency and presence penalties.](/docs/api-reference/parameter-details)\n" } stop: { description: "Up to 4 sequences where the API will stop generating further tokens.\n" type: "object" } stream: { type: "boolean" description: "If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format) as they become available, with the stream terminated by a `data: [DONE]` message.\n" } temperature: { type: "number" description: "What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\n\nWe generally recommend altering this or `top_p` but not both.\n" } top_p: { type: "number" description: "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.\n\nWe generally recommend altering this or `temperature` but not both.\n" } user: { type: "string" description: "A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\n" } } } output: { type: "object" required: ["choices", "created", "id", "model", "object"] properties: { choices: { type: "array" items: { type: "object" properties: { finish_reason: { type: "string" } index: { type: "integer" } message: { type: "object" required: ["role", "content"] properties: { content: { type: "string" description: "The contents of the message" } role: { type: "string" description: "The role of the author of this message." enum: ["system", "user", "assistant"] } } } } } } created: { type: "integer" } id: { type: "string" } model: { type: "string" } object: { type: "string" } usage: { type: "object" required: ["completion_tokens", "prompt_tokens", "total_tokens"] properties: { completion_tokens: { type: "integer" } prompt_tokens: { type: "integer" } total_tokens: { type: "integer" } } } } } }