RPA.OpenAI

Keyword for authorize to Azure OpenAI.

Arguments

ArgumentTypeDefault value
api_keystrnull
api_basestrnull
api_typestr, Noneazure
api_versionstr, None2023-05-15
param api_key:Your Azure OpenAI API key
param api_base:Your Endpoint URL. Example: https://docs-test-001.openai.azure.com/
param api_type:"azure"
param api_version:"2023-05-15"

Robot Framework example:

${secrets} Get Secret secret_name=AzureOpenAI Authorize To Azure Openai ... api_key=${secrets}[api_key] ... api_base=${secrets}[api_base] ... api_type=azure ... api_version=2023-05-15

Python example:

secrets = Vault().get_secret("AzureOpenAI") baselib = OpenAI() baselib.authorize_to_azure_openai( secrets["api_key"], secrets["api_base"], "azure", "2023-05-15" )

Keyword for authorize to OpenAI with your API key obtained from your account.

Arguments

ArgumentTypeDefault value
api_keystrnull
param api_key:Your OpenAI API key

Robot Framework example:

${secrets} Get Secret secret_name=OpenAI Authorize To OpenAI api_key=${secrets}[key]

Python example:

secrets = Vault().get_secret("OpenAI") baselib = OpenAI() baselib.authorize_to_openai(secrets["key"])

Keyword for creating ChatGPT text completions using OpenAI or Azure OpenAI. Keyword returns the response as a string and the message history as a list.

Arguments

ArgumentTypeDefault value
user_contentstr, NoneNone
conversationList, NoneNone
modelstr, Nonegpt-3.5-turbo
system_contentstr, NoneNone
temperatureint, None1
top_probabilityint, None1
frequency_penaltyint, None0
presence_penaltyint, None0

Note. When using Azure OpenAI you must provide the deployment_name as the model parameter instead of the model ID used with OpenAI.

param user_content:Text submitted to ChatGPT to generate completions.
param conversation:List containing the conversation to be continued. Leave empty for a new conversation.
param model:For OpenAI the ID of the model to use, e.g. gpt-4 or gpt-3.5-turbo. For Azure OpenAI the Deployment name, e.g. myGPT4deployment.
param system_content:The system message helps set the behavior of the assistant.
param temperature:What sampling temperature to use between 0 to 2. Higher values means the model will take more risks.
param top_probability:An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.
param frequency_penalty:Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far.
param presence_penalty:Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.

Robot Framework example:

# Get response without conversation history. ${response} @{chatgpt_conversation}= Chat Completion Create ... user_content=What is the biggest mammal? Log ${response} # Continue the conversation by using the "conversation" argument. ${response} @{chatgpt_conversation}= Chat Completion Create ... conversation=${chatgpt_conversation} ... user_content=How old can it live? Log ${response}

Keyword for creating text completions in OpenAI and Azure OpenAI. Keyword returns a text string.

Arguments

ArgumentTypeDefault value
promptstrnull
modelstr, Nonetext-davinci-003
temperatureint, None0.7
max_tokensint, None256
top_probabilityint, None1
frequency_penaltyint, None0
presence_penaltyint, None0
result_formatstr, Nonestring

Note. When using Azure OpenAI you must provide the deployment_name as the model parameter instead of the model ID used with OpenAI.

param prompt:Text submitted to OpenAI for creating natural language.
param model:For OpenAI the ID of the model to use, e.g. text-davinci-003. For Azure OpenAI the Deployment name, e.g. myDavinci3deployment.
param temperature:What sampling temperature to use. Higher values means the model will take more risks..
param max_tokens:The maximum number of tokens to generate in the completion..
param top_probability:Controls diversity via nucleus sampling. 0.5 means half of all likelihood-weighted options are considered.
param frequency_penalty:Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far.
param presence_penalty:Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.
param result_format:Result format (string / json). Return just a string or the default JSON response.

Robot Framework example:

${response} Completion Create ... Write a tagline for an icecream shop. ... temperature=0.6 Log ${response}

Python example:

result = baselib.completion_create( 'Create a tagline for icecream shop', temperature=0.6, ) print(result)

Keyword for creating one or more images using OpenAI. Keyword returns a list of urls for the images created.

Arguments

ArgumentTypeDefault value
promptstrnull
sizestr, None512x512
num_imagesint, None1
result_formatstr, Nonelist

Note. Keyword not supported in the Azure OpenAI service.

param prompt:A text description of the desired image(s). The maximum length is 1000 characters.
param size:Size of the files to be created. 256x256, 512x512, 1024x1024
param num_images:The number of images to generate. Must be between 1 and 10.
param result_format:Result format (list / json).

Robot Framework example:

${images} Image Create ... Cartoon style picture of a cute monkey skateboarding. ... size=256x256 ... num_images=2 FOR ${url} IN @{images} Log ${url} END

Python example:

images = baselib.image_create( 'Cartoon style picture of a cute monkey skateboarding', size='256x256', num_images=2, ) for url in images: print(url)

Keyword for creating one or more variations of a image. Keyword returns a list of urls for the images created. Source file must be a valid PNG file, less than 4MB, and square.

Arguments

ArgumentTypeDefault value
src_imagestrnull
sizestr, None512x512
num_imagesint, None1
result_formatstr, Nonelist

Note. Keyword not supported in the Azure OpenAI service.

param src_image:The image to use as the basis for the variation(s). Must be a valid PNG file, less than 4MB, and square.
param size:The size of the generated images. Must be one of 256x256, 512x512, or 1024x1024.
param num_images:The number of images to generate. Must be between 1 and 10
param result_format:Result format (list / json).

Robot Framework example:

${variations} Image Create Variation ... source_image.png ... size=256x256 ... num_images=2 FOR ${url} IN @{variations} Log ${url} END

Python example:

variations = baselib.image_create_variation( 'source_image.png', size='256x256', num_images=2, ) for url in variations: print(url)