Script integration with OpenAI API. This object offers convenience over direct HTTP requests by:

  • Integrating with Drafts Credentials system to store your API key.
  • Handling request authorization headers for requests
  • Parsing results to JSON
  • Providing several convenience functions that wrap more complex API calls into simple requests.

NOTE: Drafts does not provide an API Key for use with OpenAI. To use OpenAI features, you will have to setup your own OpenAI account and generate an API Key for use with Drafts in the developer portal.

Example

Translation

// build prompt
const targetLanguage = "Spanish"
const text = "Where is the library?"
const chatPrompt = `Translate the following text into ${targetLanguage}: "${text}"`

// create OpenAI API object and use single response
// convenience function to send prompt
let ai = new OpenAI()
let answer = ai.quickChatResponse(chatPrompt)

// answer == "¿Dónde está la biblioteca?"

Direct API Request

// create OpenAI object
let ai = new OpenAI()

// make API request
let response = ai.request({
"path": "/chat/completions",
"method": "POST",
"data": {
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "What is your name?"
}
]
}
})

// report status
console.log(`CODE: ${response.statusCode}

ERR: ${response.error}

${response.responseText}
`)

Hierarchy

  • OpenAI

Constructors

Properties

Methods - Convenience

Methods - Other

Constructors

  • Create new instance.

    Parameters

    • Optional apiKey: string

    Returns OpenAI

Properties

timeout: number

Time in seconds to wait for a request to receive a response from the server. Default: 120 seconds.

Methods - Convenience

  • Submit a single text prompt to ChatGPT conversations endpoint, and return only the message generated. Convenience method for single request prompts.

    Parameters

    • prompt: string

      Text prompt to submit to ChatGPT

    • Optional options: object

    Returns string

  • Submit a single text input and instructions to the Edits endpoint, using the code-davinci-edit-001 model to generate code or refactor, and return only the message generated.

    Parameters

    • input: string

      Text input to submit, generally used only if you are instruction the model to refactor existing code.

    • instructions: string

      Instructions to model

    • Optional options: object

    Returns string

  • Submit a single text input and instructions to the Edits endpoint, using the text-davinci-edit-001 model, and return only the message generated. Convenience method for single request input.

    Parameters

    • input: string

      Text input to submit

    • instructions: string

      Instructions to model

    • Optional options: object

    Returns string

Methods - Other

  • Execute a request against the OpenAI API. For successful requests, the HTTPResponse object will contain an object or array or objects decoded from the JSON returned by OpenAI as appropriate to the request made. Refer to OpenAI API documentation for details about the expected parameters and responses.

    Parameters

    • settings: {
          data?: {
              [x: string]: string;
          };
          headers?: {
              [x: string]: string;
          };
          method: string;
          parameters?: {
              [x: string]: string;
          };
          path: string;
      }
      • Optional data?: {
            [x: string]: string;
        }

        An object containing data to be encoded into the HTTP body of the request. Drafts will take care of the JSON conversion.

        • [x: string]: string
      • Optional headers?: {
            [x: string]: string;
        }

        An object contain key-values to be added as custom headers in the request. There is no need to provide authorization headers, Drafts will add those.

        • [x: string]: string
      • method: string

        The HTTP method, like "GET", "POST", etc.

      • Optional parameters?: {
            [x: string]: string;
        }

        An object containing key-values to be added to the request as URL parameters. Drafts will take care of encoding these.

        • [x: string]: string
      • path: string

        The path to the API endpoint in the OpenAI API. This should include the path after the API version. For example /chat/completion

    Returns HTTPResponse

  • Creates a new OpenAI object.

    Parameters

    • Optional apiKey: string

      A valid OpenAI API Key. This value is optional, and if not provided, the default OpenAPI API key stored in Credentials will be used, or the user prompted to provide an API Key to store. Only provide a specific API Key if you desire to override the default.

    Returns OpenAI

Generated using TypeDoc