% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/gpt3_single_embedding.R
\name{gpt3_single_embedding}
\alias{gpt3_single_embedding}
\title{Obtains text embeddings for a single character (string) from the GPT-3 API}
\usage{
gpt3_single_embedding(input, model = "text-similarity-ada-001")
}
\arguments{
\item{input}{character that contains the text for which you want to obtain text embeddings from the GPT-3 model}

\item{model}{a character vector that indicates the \href{https://beta.openai.com/docs/guides/embeddings/similarity-embeddings}{similarity embedding model}; one of "text-similarity-ada-001" (default), "text-similarity-curie-001", "text-similarity-babbage-001", "text-similarity-davinci-001"}
}
\value{
A numeric vector (= the embedding vector)
}
\description{
\code{gpt3_single_embedding()} sends a single \href{https://beta.openai.com/docs/guides/embeddings}{embedding request} 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.
\itemize{
\item Ada (1024 dimensions)
\item Babbage (2048 dimensions)
\item Curie (4096 dimensions)
\item Davinci (12288 dimensions)
}

Note that the dimension size (= vector length), speed and \href{https://openai.com/api/pricing/}{associated costs} differ considerably.

These vectors can be used for downstream tasks such as (vector) similarity calculations.
}
\examples{
# First authenticate with your API key via `gpt3_authenticate('pathtokey')`

# Once authenticated:

## 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_single_embedding(input = sample_string)

## Change the model:
#' gpt3_single_embedding(input = sample_string
    , model = 'text-similarity-curie-001')
}
