% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/authenticate.R
\name{gpt3.authenticate}
\alias{gpt3.authenticate}
\title{Set up the authentication with your API key}
\usage{
gpt3.authenticate(path)
}
\arguments{
\item{path}{The file path to the API key}
}
\value{
A confirmation message
}
\description{
Access to GPT-3's functions requires an API key that you obtain from \url{https://openai.com/api/}. \code{gpt3.authenticate()} accepts your API key and ensures that you can connect to the models. \code{gpt3.endsession()} overwrites your API key \emph{for this session} (it is recommended that you run this when you are done). \code{check_apikey_form()} is a simple check if any information has been provided at all.
}
\details{
The easiest way to store you API key is in a \code{.txt} file with \emph{only} the API key in it (without quotation marks or other common string indicators). \code{gpt3.authenticate()} reads the single file you point it to and retrieves the content as authentication key for all requests.
}
\examples{
# Starting a session:
gpt3.authenticate(apikey = 'REPLACE_THIS_WITH_YOUR_KEY')
# After you are finished:
gpt3.endsession()
}
