ts-chatgpt
TypeScript icon, indicating that this package has built-in type declarations

0.5.1 • Public • Published

ts-chatgpt

npm version main workflow License: MIT

A library that is created to receive pure responses that are typed using the official ChatGPT API by OpenAI.

Install

npm install ts-chatgpt

It has been confirmed to work with Remix's loader function.

Usage

Function Description Parameters Return
prompt Get a response from ChatGPT API props - The props contains an model name you want to use for the ChatGPT API, an array of Message type and an options object. Promise<ChatGPTResponse>

When calling this function, be sure to set the OPENAI_API_KEY environment variable to the API key you received from OpenAI.

import { prompt } from "ts-chatgpt";

const response = await prompt({
  model: "gpt-4",
  messages: [
    {
      role: "user",
      content:
        "In the style of Nicholas Sparks, please summarize the following introductory You are limited to 140 characters. 'I love Android and I develop applications using Kotlin and Jetpack Compose.'",
    },
  ],
  options: {
    temperature: 0.1,
  },
});

Since dotenv.config() is automatically called internally, developers do not need to install dotenv to load OPENAI_API_KEY themselves.

Props

When calling prompt(), you must pass an object containing the following as an argument:

Key Description Type Required
model The model name you want to use for the ChatGPT API. string
messages An array of Message type. Message[]
options An object containing options. PromptOptions

The following values are currently available for the model More will be added in the future.

Model Description Available
gpt-3.5-turbo-0301 The default model.
gpt-3.5-turbo -
gpt-4 GPT-4 is the latest and most powerful model.

The following values can be specified by the user as messages to be passed to the prompt function.

Key Description Type Required
role The role of the message. "system", "assistant" or "user"
content The content of the message. string

The following values can be specified by the user as options to be passed to the prompt function.

Key Description Type
apiKey API key that can be obtained from the OpenAI configuration page. You can omit this value by setting the OPENAI_API_KEY environment variable. string
temperature The lower the temperature, the more accurate the results. API temperatures set to 0 or close to 0 (e.g. 0.1 or 0.2) tend to give better results in most cases; with GPT-3, the higher the temperature, the more creative and random the results, while with Codex, the higher the temperature, the more truly random and erratic the response can be. number

For detailed specifications of the ChatGPT API, please refer to this document.

Response Type

There are two types of return values for the prompt function: ChatGPT and ChatGPTError.

Type Description
ChatGPT The response from the ChatGPT API.
ChatGPTError The response from the ChatGPT API when an error occurs.

ChatGPT by type is as follows:

type ChatGPT = {
  choices?:
    | {
        message: {
          role: string;
          content: string;
        };
        finish_reason: string;
        index: number;
      }[]
    | undefined;
  object: string;
  id: string;
  created: number;
  model: string;
  usage: {
    prompt_tokens: number;
    completion_tokens: number;
    total_tokens: number;
  };
};

Next, ChatGPTError as a type is as follows:

type ChatGPTError = {
  error: {
    message: string;
    type: string;
    param: string | null;
    code: string | null;
  };
};

Team

Keisuke Takagi

License

This project is licensed under the terms of the MIT license.

MIT

Package Sidebar

Install

npm i ts-chatgpt

Weekly Downloads

2

Version

0.5.1

License

MIT

Unpacked Size

22 kB

Total Files

25

Last publish

Collaborators

  • takagimeow