updated function names
diff --git a/R/bunch_embedding.R b/R/gpt3_embeddings.R
similarity index 82%
rename from R/bunch_embedding.R
rename to R/gpt3_embeddings.R
index d22a3ac..513a5b8 100644
--- a/R/bunch_embedding.R
+++ b/R/gpt3_embeddings.R
@@ -1,7 +1,7 @@
#' Retrieves text embeddings for character input from a vector from the GPT-3 API
#'
#' @description
-#' `gpt3_bunch_embedding()` extends the single embeddings function `gpt3_make_embedding()` to allow for the processing of a whole vector
+#' `gpt3_embeddings()` extends the single embeddings function `gpt3_single_embedding()` to allow for the processing of a whole vector
#' @details The returned data.table contains the column `id` which indicates the text id (or its generic alternative if not specified) and the columns `dim_1` ... `dim_{max}`, where `max` is the length of the text embeddings vector that the four different models return. For the default "Ada" model, these are 1024 dimensions (i.e., `dim_1`... `dim_1024`).
#'
#' The function supports the text similarity embeddings for the four GPT-3 models as specified in the parameter list. The main difference between the four models is the sophistication of the embedding representation as indicated by the vector embedding size.
@@ -21,19 +21,19 @@
#' # First authenticate with your API key via `gpt3_authenticate('pathtokey')`
#'
#' # Use example data:
-#' ## The data below were generated with the `gpt3_make_request()` function as follows:
+#' ## The data below were generated with the `gpt3_single_request()` function as follows:
#' ##### DO NOT RUN #####
-#' # travel_blog_data = gpt3_make_request(prompt_input = "Write a travel blog about a dog's journey through the UK:", temperature = 0.8, n = 10, max_tokens = 200)[[1]]
+#' # travel_blog_data = gpt3_single_request(prompt_input = "Write a travel blog about a dog's journey through the UK:", temperature = 0.8, n = 10, max_tokens = 200)[[1]]
#' ##### END DO NOT RUN #####
#'
#' # You can load these data with:
#' data("travel_blog_data") # the dataset contains 10 completions for the above request
#'
#' ## Obtain text embeddings for the completion texts:
-#' emb_travelblogs = gpt3_bunch_embedding(input_var = travel_blog_data$gpt3)
+#' emb_travelblogs = gpt3_embeddings(input_var = travel_blog_data$gpt3)
#' dim(emb_travelblogs)
#' @export
-gpt3_bunch_embedding = function(input_var
+gpt3_embeddings = function(input_var
, id_var
, param_model = 'text-similarity-ada-001'){
@@ -50,7 +50,7 @@
print(paste0('Embedding: ', i, '/', data_length))
- row_outcome = gpt3_make_embedding(model = param_model
+ row_outcome = gpt3_single_embedding(model = param_model
, input = input_var[i])
empty_df = data.frame(t(row_outcome))
diff --git a/R/bunch_request.R b/R/gpt3_requests.R
similarity index 92%
rename from R/bunch_request.R
rename to R/gpt3_requests.R
index dc9a7f2..1342dc2 100644
--- a/R/bunch_request.R
+++ b/R/gpt3_requests.R
@@ -1,12 +1,12 @@
#' Makes bunch completion requests to the GPT-3 API
#'
#' @description
-#' `gpt3_bunch_request()` is the package's main function for rquests and takes as input a vector of prompts and processes each prompt as per the defined parameters. It extends the `gpt3_make_request()` function to allow for bunch processing of requests to the Open AI GPT-3 API.
+#' `gpt3_requests()` is the package's main function for rquests and takes as input a vector of prompts and processes each prompt as per the defined parameters. It extends the `gpt3_single_request()` function to allow for bunch processing of requests to the Open AI GPT-3 API.
#' @details
#' The easiest (and intended) use case for this function is to create a data.frame or data.table with variables that contain the prompts to be requested from GPT-3 and a prompt id (see examples below).
#' For a general guide on the completion requests, see [https://beta.openai.com/docs/guides/completion](https://beta.openai.com/docs/guides/completion). This function provides you with an R wrapper to send requests with the full range of request parameters as detailed on [https://beta.openai.com/docs/api-reference/completions](https://beta.openai.com/docs/api-reference/completions) and reproduced below.
#'
-#' For the `best_of` parameter: The `gpt3_make_request()` (which is used here in a vectorised manner) handles the issue that best_of must be greater than n by setting `if(best_of <= n){ best_of = n}`.
+#' For the `best_of` parameter: The `gpt3_single_request()` (which is used here in a vectorised manner) handles the issue that best_of must be greater than n by setting `if(best_of <= n){ best_of = n}`.
#'
#' If `id_var` is not provided, the function will use `prompt_1` ... `prompt_n` as id variable.
#'
@@ -41,30 +41,30 @@
#' # Once authenticated:
#' # Assuming you have a data.table with 3 different prompts:
#' dt_prompts = data.table::data.table('prompts' = c('What is the meaning if life?', 'Write a tweet about London:', 'Write a research proposal for using AI to fight fake news:'), 'prompt_id' = c(LETTERS[1:3]))
-#'gpt3_bunch_request(prompt_var = dt_prompts$prompts
+#'gpt3_requests(prompt_var = dt_prompts$prompts
#' , id_var = dt_prompts$prompt_id)
#'
#' ## With more controls
-#'gpt3_bunch_request(prompt_var = dt_prompts$prompts
+#'gpt3_requests(prompt_var = dt_prompts$prompts
#' , id_var = dt_prompts$prompt_id
#' , param_max_tokens = 50
#' , param_temperature = 0.5
#' , param_n = 5)
#'
#' ## Reproducible example (deterministic approach)
-#'gpt3_bunch_request(prompt_var = dt_prompts$prompts
+#'gpt3_requests(prompt_var = dt_prompts$prompts
#' , id_var = dt_prompts$prompt_id
#' , param_max_tokens = 50
#' , param_temperature = 0.0)
#'
#' ## Changing the GPT-3 model
-#'gpt3_bunch_request(prompt_var = dt_prompts$prompts
+#'gpt3_requests(prompt_var = dt_prompts$prompts
#' , id_var = dt_prompts$prompt_id
#' , param_model = 'text-babbage-001'
#' , param_max_tokens = 50
#' , param_temperature = 0.4)
#' @export
-gpt3_bunch_request = function(prompt_var
+gpt3_requests = function(prompt_var
, id_var
, param_output_type = 'complete'
, param_model = 'text-davinci-002'
@@ -93,7 +93,7 @@
print(paste0('Request: ', i, '/', data_length))
- row_outcome = gpt3_make_request(prompt_input = prompt_var[i]
+ row_outcome = gpt3_single_request(prompt_input = prompt_var[i]
, model = param_model
, output_type = 'complete'
, suffix = param_suffix
diff --git a/R/make_embedding.R b/R/gpt3_single_embedding.R
similarity index 88%
rename from R/make_embedding.R
rename to R/gpt3_single_embedding.R
index a916ac6..8ec6d23 100644
--- a/R/make_embedding.R
+++ b/R/gpt3_single_embedding.R
@@ -1,7 +1,7 @@
#' Obtains text embeddings for a single character (string) from the GPT-3 API
#'
#' @description
-#' `gpt3_make_embedding()` sends a single [embedding request](https://beta.openai.com/docs/guides/embeddings) to the Open AI GPT-3 API.
+#' `gpt_single_embedding()` sends a single [embedding request](https://beta.openai.com/docs/guides/embeddings) to the Open AI GPT-3 API.
#' @details The function supports the text similarity embeddings for the four GPT-3 models as specified in the parameter list. The main difference between the four models is the sophistication of the embedding representation as indicated by the vector embedding size.
#' - Ada (1024 dimensions)
#' - Babbage (2048 dimensions)
@@ -21,13 +21,13 @@
#'
#' ## Simple request with defaults:
#' sample_string = "London is one of the most liveable cities in the world. The city is always full of energy and people. It's always a great place to explore and have fun."
-#' gpt3_make_embedding(input = sample_string)
+#' gpt_single_embedding(input = sample_string)
#'
#' ## Change the model:
-#' #' gpt3_make_embedding(input = sample_string
+#' #' gpt_single_embedding(input = sample_string
#' , model = 'text-similarity-curie-001')
#' @export
-gpt3_make_embedding = function(input
+gpt_single_embedding = function(input
, model = 'text-similarity-ada-001'
){
diff --git a/R/make_request.R b/R/gpt3_single_request.R
similarity index 94%
rename from R/make_request.R
rename to R/gpt3_single_request.R
index 7fa653a..4858140 100644
--- a/R/make_request.R
+++ b/R/gpt3_single_request.R
@@ -1,7 +1,7 @@
#' Makes a single completion request to the GPT-3 API
#'
#' @description
-#' `gpt3_make_request()` sends a single [completion request](https://beta.openai.com/docs/api-reference/completions) to the Open AI GPT-3 API.
+#' `gpt3_single_request()` sends a single [completion request](https://beta.openai.com/docs/api-reference/completions) to the Open AI GPT-3 API.
#' @details For a general guide on the completion requests, see [https://beta.openai.com/docs/guides/completion](https://beta.openai.com/docs/guides/completion). This function provides you with an R wrapper to send requests with the full range of request parameters as detailed on [https://beta.openai.com/docs/api-reference/completions](https://beta.openai.com/docs/api-reference/completions) and reproduced below.
#'
#' For the `best_of` parameter: When used with n, best_of controls the number of candidate completions and n specifies how many to return – best_of must be greater than n. Note that this is handled by the wrapper automatically if(best_of <= n){ best_of = n}.
@@ -36,26 +36,26 @@
#' # Once authenticated:
#'
#' ## Simple request with defaults:
-#' gpt3_make_request(prompt_input = 'How old are you?')
+#' gpt3_single_request(prompt_input = 'How old are you?')
#'
#' ## Instruct GPT-3 to write ten research ideas of max. 150 tokens with some controls:
-#'gpt3_make_request(prompt_input = 'Write a research idea about using text data to understand human behaviour:'
+#'gpt3_single_request(prompt_input = 'Write a research idea about using text data to understand human behaviour:'
#' , temperature = 0.8
#' , n = 10
#' , max_tokens = 150)
#'
#' ## For fully reproducible results, we need `temperature = 0`, e.g.:
-#' gpt3_make_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
+#' gpt3_single_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
#' , temperature = 0.0
#' , max_tokens = 50)
#'
#' ## The same example with a different GPT-3 model:
-#' gpt3_make_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
+#' gpt3_single_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
#' , model = 'text-babbage-001'
#' , temperature = 0.0
#' , max_tokens = 50)
#' @export
-gpt3_make_request = function(prompt_input
+gpt3_single_request = function(prompt_input
, model = 'text-davinci-002'
, output_type = 'complete'
, suffix = NULL
diff --git a/R/test_request.R b/R/test_request.R
index 7b8c7e4..673f1c0 100644
--- a/R/test_request.R
+++ b/R/test_request.R
@@ -12,7 +12,7 @@
check_apikey_form()
test_prompt = 'Write a story about R Studio:'
- test_outout = gpt3_make_request(prompt_ = test_prompt
+ test_outout = gpt3_single_request(prompt_ = test_prompt
, max_tokens = 100)
print(paste0('.. test successful ..'))