chatgpt-api/docs/classes/ChatGPTAPI.md

109 wiersze
3.1 KiB
Markdown
Czysty Zwykły widok Historia

2022-12-03 00:04:53 +00:00
[chatgpt](../readme.md) / [Exports](../modules.md) / ChatGPTAPI
# Class: ChatGPTAPI
## Table of contents
### Constructors
- [constructor](ChatGPTAPI.md#constructor)
2023-02-14 06:31:49 +00:00
### Accessors
- [apiKey](ChatGPTAPI.md#apikey)
2022-12-03 00:04:53 +00:00
### Methods
- [sendMessage](ChatGPTAPI.md#sendmessage)
## Constructors
### constructor
2022-12-05 05:13:36 +00:00
**new ChatGPTAPI**(`opts`)
2023-03-02 05:32:33 +00:00
Creates a new client wrapper around OpenAI's chat completion API, mimicing the official ChatGPT webapp's functionality as closely as possible.
2022-12-12 17:23:19 +00:00
2022-12-03 00:04:53 +00:00
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `opts` | `Object` | - |
2023-02-01 10:58:25 +00:00
| `opts.apiBaseUrl?` | `string` | **`Default Value`** `'https://api.openai.com'` * |
| `opts.apiKey` | `string` | - |
2023-03-02 05:32:33 +00:00
| `opts.completionParams?` | `Partial`<`Omit`<[`CreateChatCompletionRequest`](../interfaces/openai.CreateChatCompletionRequest.md), ``"messages"`` \| ``"n"``\>\> | - |
2023-02-01 10:58:25 +00:00
| `opts.debug?` | `boolean` | **`Default Value`** `false` * |
2023-02-14 06:31:49 +00:00
| `opts.fetch?` | (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`<`Response`\> | - |
2023-02-01 10:58:25 +00:00
| `opts.getMessageById?` | [`GetMessageByIdFunction`](../modules.md#getmessagebyidfunction) | - |
| `opts.maxModelTokens?` | `number` | **`Default Value`** `4096` * |
| `opts.maxResponseTokens?` | `number` | **`Default Value`** `1000` * |
2023-02-01 10:58:25 +00:00
| `opts.messageStore?` | `Keyv`<`any`, `Record`<`string`, `unknown`\>\> | - |
2023-03-02 05:32:33 +00:00
| `opts.systemMessage?` | `string` | - |
2023-02-01 10:58:25 +00:00
| `opts.upsertMessage?` | [`UpsertMessageFunction`](../modules.md#upsertmessagefunction) | - |
2022-12-12 17:23:19 +00:00
#### Defined in
2023-03-02 05:32:33 +00:00
[src/chatgpt-api.ts:49](https://github.com/transitive-bullshit/chatgpt-api/blob/1e4ddd6/src/chatgpt-api.ts#L49)
2023-02-14 06:31:49 +00:00
## Accessors
### apiKey
`get` **apiKey**(): `string`
#### Returns
`string`
#### Defined in
2023-03-02 05:32:33 +00:00
[src/chatgpt-api.ts:336](https://github.com/transitive-bullshit/chatgpt-api/blob/1e4ddd6/src/chatgpt-api.ts#L336)
2023-02-14 06:31:49 +00:00
`set` **apiKey**(`apiKey`): `void`
#### Parameters
| Name | Type |
| :------ | :------ |
| `apiKey` | `string` |
#### Returns
`void`
#### Defined in
2023-03-02 05:32:33 +00:00
[src/chatgpt-api.ts:340](https://github.com/transitive-bullshit/chatgpt-api/blob/1e4ddd6/src/chatgpt-api.ts#L340)
2022-12-03 00:04:53 +00:00
## Methods
### sendMessage
2023-02-01 10:58:25 +00:00
**sendMessage**(`text`, `opts?`): `Promise`<[`ChatMessage`](../interfaces/ChatMessage.md)\>
2022-12-05 05:13:36 +00:00
2023-03-02 05:32:33 +00:00
Sends a message to the OpenAI chat completions endpoint, waits for the response
to resolve, and returns the response.
2022-12-03 00:04:53 +00:00
If you want your response to have historical context, you must provide a valid `parentMessageId`.
2022-12-07 04:37:56 +00:00
If you want to receive a stream of partial responses, use `opts.onProgress`.
2023-03-02 05:32:33 +00:00
Set `debug: true` in the `ChatGPTAPI` constructor to log more info on the full prompt sent to the OpenAI chat completions API. You can override the `systemMessage` in `opts` to customize the assistant's instructions.
2022-12-03 00:04:53 +00:00
#### Parameters
2022-12-15 23:15:38 +00:00
| Name | Type |
| :------ | :------ |
2023-02-01 10:58:25 +00:00
| `text` | `string` |
| `opts` | [`SendMessageOptions`](../modules.md#sendmessageoptions) |
2022-12-15 23:15:38 +00:00
#### Returns
2023-02-01 10:58:25 +00:00
`Promise`<[`ChatMessage`](../interfaces/ChatMessage.md)\>
The response from ChatGPT
2022-12-15 23:15:38 +00:00
#### Defined in
2023-03-02 05:32:33 +00:00
[src/chatgpt-api.ts:157](https://github.com/transitive-bullshit/chatgpt-api/blob/1e4ddd6/src/chatgpt-api.ts#L157)