Skip to contents

Creates a completion for the chat message. See this page for details.

Usage

create_chat_completion(
  model,
  messages = NULL,
  temperature = 1,
  top_p = 1,
  n = 1,
  stream = FALSE,
  stop = NULL,
  max_tokens = NULL,
  presence_penalty = 0,
  frequency_penalty = 0,
  logit_bias = NULL,
  user = NULL,
  openai_api_key = Sys.getenv("OPENAI_API_KEY"),
  openai_organization = NULL
)

Arguments

model

required; a length one character vector.

messages

required; defaults to NULL; a list in the following format: list(list("role" = "user", "content" = "Hey! How old are you?")

temperature

required; defaults to 1; a length one numeric vector with the value between 0 and 2.

top_p

required; defaults to 1; a length one numeric vector with the value between 0 and 1.

n

required; defaults to 1; a length one numeric vector with the integer value greater than 0.

stream

required; defaults to FALSE; a length one logical vector. Currently is not implemented.

stop

optional; defaults to NULL; a character vector of length between one and four.

max_tokens

required; defaults to (4096 - prompt tokens); a length one numeric vector with the integer value greater than 0.

presence_penalty

required; defaults to 0; a length one numeric vector with a value between -2 and 2.

frequency_penalty

required; defaults to 0; a length one numeric vector with a value between -2 and 2.

logit_bias

optional; defaults to NULL; a named list.

user

optional; defaults to NULL; a length one character vector.

openai_api_key

required; defaults to Sys.getenv("OPENAI_API_KEY") (i.e., the value is retrieved from the .Renviron file); a length one character vector. Specifies OpenAI API key.

openai_organization

optional; defaults to NULL; a length one character vector. Specifies OpenAI organization.

Value

Returns a list, elements of which contain chat completion(s) and supplementary information.

Details

For arguments description please refer to the official documentation.

Examples

if (FALSE) {
create_chat_completion(
   model = "gpt-3.5-turbo",
   messages = list(
       list(
           "role" = "system",
           "content" = "You are a helpful assistant."
       ),
       list(
           "role" = "user",
           "content" = "Who won the world series in 2020?"
       ),
       list(
           "role" = "assistant",
           "content" = "The Los Angeles Dodgers won the World Series in 2020."
       ),
       list(
           "role" = "user",
           "content" = "Where was it played?"
       )
   )
)
}