Azure OpenAI Service Component
Interact with OpenAI models, including Chat GPT and DALL·E
Component key: azure-openai-service
Description
OpenAI is an artifical intelligence research laboratory that conducts AI research. It has notably produced the chat AI ChatGPT and the image generator DALL·E.
This component wraps some of OpenAI's REST API endpoints. Additional endpoints can be referenced in their API documentation. You can use the Raw Request action to interact with endpoints that are not convered by other actions.
Connections
OpenAI API Key
If you'd like to use an Azure OpenAI resource, you must have an Azure subscription and Azure OpenAI access. This will allow you to create an Azure OpenAI resource and get both a connection URL as well as API keys. For more information, see Quickstart: Get started generating text using Azure OpenAI Service.
Integrations can authenticate with OpenAI using API keys or Microsoft Entra Tokens:
To generate an API key from OpenAI:
- Navigate toplatform.openai.com/account/api-keys and generate a new key. a. If your user is associate with one organization, you can leave the connection's organization field blank. Otherwise, specify your organization's ID.
To generate a token using Microsoft Entra authentication refer to the following authentication with Microsoft Entra ID guide for detailed prerequisites and configuration.
If you'd like to use the Azure OpenAI JS client library to connect to non-Azure OpenAI, you'll need an API key from a developer account at https://platform.openai.com/.
Input | Default | Notes | Example |
---|---|---|---|
API Key password / Required apiKey | This API KEY Generate an API key at https://platform.openai.com/account/api-keys or your Azure OpenAI API KEY. | ||
Is OpenAI Key boolean / Required isOpenAIKey | Set to true if this api key belongs to an OpenAI account. | ||
Organization string organization | Your Azure OpenAI organization. If using a OpenAI API KEY, this is not required. | my-account |
Actions
Create Chat Completion
Create a completion for the chat message | key: createChatCompletion
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Messages code / Required messages | |||
Model / Deployment Name string / Required model | gpt-3.5-turbo | Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. | gpt-3.5-turbo |
Number of choices string numChoices | 1 | How many chat completion choices to generate for each input message. | |
Temperature string temperature | 1 | 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. | |
top_p string topP | 1 | 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. |
Create Image
Create image(s) given a prompt | key: createImage
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Image Size string imageSize | 1024x1024 | The size of the generated images. Must be one of 1792x1024, 1024x1792, or 1024x1024. | |
Number of Images string / Required numImages | 1 | The number of images to generate. Must be between 1 and 10. | |
Prompt string / Required prompt | A text description of the desired image(s). The maximum length is 1000 characters. | A cute baby sea otter |
Example Payload for Create Image
{
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}
Create Multiple Chat Completion
Generate Multiple Completions | key: createCompletions
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Messages code / Required messages | |||
Model / Deployment Name string / Required model | text-davinci-003 | Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. | gpt-3.5-turbo |
Raw Request
Send raw HTTP request to Azure OpenAI | key: rawRequest
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Data string data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
File Data string Key Value List fileData | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] | |
File Data File Names string Key Value List fileDataFileNames | File names to apply to the file data inputs. Keys must match the file data keys above. | ||
Form Data string Key Value List formData | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. | |
Method string / Required method | The HTTP method to use. | ||
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string / Required responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | |
Retry On All Errors boolean retryAllErrors | false | If true, retries on all erroneous responses regardless of type. | |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | /v1/models | Input the path only (/v1/images/generations), The base URL is already included (https://api.openai.com). For example, to connect to https://api.openai.com/v1/images/generations, only /v1/images/generations is entered in this field. | /v1/images/generations |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. |
Summarize Text
Summarize a given text | key: summarizeText
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Model / Deployment Name string / Required model | text-davinci-003 | Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. | gpt-3.5-turbo |
Text to Summarize string / Required textToSummarize | Two independent experiments reported their results this morning at CERN, Europe's high-energy physics laboratory near Geneva in Switzerland. Both show convincing evidence of a new boson particle weighing around 125 gigaelectronvolts, which so far fits predictions of the Higgs previously made by theoretical physicists. As a layman I would say: 'I think we have it'. Would you agree? Rolf-Dieter Heuer, CERN's director-general, asked the packed auditorium. The physicists assembled there burst into applause. |
Example Payload for Summarize Text
{
"data": [
{
"text": "How are you today?",
"index": 0,
"logprobs": null,
"finishReason": null
}
]
}