@ckeditor/ckeditor5-ai 41.3.0-alpha.3 → 41.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/ai.js +6 -6
- package/build/translations/es-co.js +1 -1
- package/lang/translations/es-co.po +53 -53
- package/package.json +4 -5
- package/src/adapters/aiadapter.js +1 -1
- package/src/adapters/aitextadapter.js +1 -1
- package/src/adapters/awstextadapter.d.ts +1 -0
- package/src/adapters/awstextadapter.js +1 -1
- package/src/adapters/openaitextadapter.d.ts +3 -1
- package/src/adapters/openaitextadapter.js +1 -1
- package/src/aiassistant.js +1 -1
- package/src/aiassistantediting.js +1 -1
- package/src/aiassistantui.js +1 -1
- package/src/index.js +1 -1
- package/src/ui/aiassistantcontroller.js +1 -1
- package/src/ui/dropdown/aicommandslistview.js +1 -1
- package/src/ui/dropdown/buttonlabelwithhighlightview.js +1 -1
- package/src/ui/dropdown/labelwithhighlightview.js +1 -1
- package/src/ui/form/aiformcontentarea.js +1 -1
- package/src/ui/form/aiformerrorview.js +1 -1
- package/src/ui/form/aiformpromptview.js +1 -1
- package/src/ui/form/aiformtoolbarview.js +1 -1
- package/src/ui/form/aiformview.js +1 -1
- package/src/ui/form/aihistorylistitemview.js +1 -1
- package/src/ui/form/aihistorylistview.js +1 -1
- package/src/ui/form/prompthistory.js +1 -1
- package/src/ui/showaiassistantcommand.js +1 -1
- package/src/utils/common-translations.js +1 -1
- package/dist/content-index.css +0 -332
- package/dist/editor-index.css +0 -573
- package/dist/index.css +0 -1344
- package/dist/translations/af.d.ts +0 -8
- package/dist/translations/af.js +0 -23
- package/dist/translations/ar.d.ts +0 -8
- package/dist/translations/ar.js +0 -23
- package/dist/translations/bg.d.ts +0 -8
- package/dist/translations/bg.js +0 -23
- package/dist/translations/bn.d.ts +0 -8
- package/dist/translations/bn.js +0 -23
- package/dist/translations/bs.d.ts +0 -8
- package/dist/translations/bs.js +0 -23
- package/dist/translations/ca.d.ts +0 -8
- package/dist/translations/ca.js +0 -23
- package/dist/translations/cs.d.ts +0 -8
- package/dist/translations/cs.js +0 -23
- package/dist/translations/da.d.ts +0 -8
- package/dist/translations/da.js +0 -23
- package/dist/translations/de-ch.d.ts +0 -8
- package/dist/translations/de-ch.js +0 -23
- package/dist/translations/de.d.ts +0 -8
- package/dist/translations/de.js +0 -23
- package/dist/translations/el.d.ts +0 -8
- package/dist/translations/el.js +0 -23
- package/dist/translations/en-au.d.ts +0 -8
- package/dist/translations/en-au.js +0 -23
- package/dist/translations/en.d.ts +0 -8
- package/dist/translations/en.js +0 -23
- package/dist/translations/es-co.d.ts +0 -8
- package/dist/translations/es-co.js +0 -23
- package/dist/translations/es.d.ts +0 -8
- package/dist/translations/es.js +0 -23
- package/dist/translations/et.d.ts +0 -8
- package/dist/translations/et.js +0 -23
- package/dist/translations/fa.d.ts +0 -8
- package/dist/translations/fa.js +0 -23
- package/dist/translations/fi.d.ts +0 -8
- package/dist/translations/fi.js +0 -23
- package/dist/translations/fr.d.ts +0 -8
- package/dist/translations/fr.js +0 -23
- package/dist/translations/gl.d.ts +0 -8
- package/dist/translations/gl.js +0 -23
- package/dist/translations/he.d.ts +0 -8
- package/dist/translations/he.js +0 -23
- package/dist/translations/hi.d.ts +0 -8
- package/dist/translations/hi.js +0 -23
- package/dist/translations/hr.d.ts +0 -8
- package/dist/translations/hr.js +0 -23
- package/dist/translations/hu.d.ts +0 -8
- package/dist/translations/hu.js +0 -23
- package/dist/translations/id.d.ts +0 -8
- package/dist/translations/id.js +0 -23
- package/dist/translations/it.d.ts +0 -8
- package/dist/translations/it.js +0 -23
- package/dist/translations/ja.d.ts +0 -8
- package/dist/translations/ja.js +0 -23
- package/dist/translations/jv.d.ts +0 -8
- package/dist/translations/jv.js +0 -23
- package/dist/translations/ko.d.ts +0 -8
- package/dist/translations/ko.js +0 -23
- package/dist/translations/lt.d.ts +0 -8
- package/dist/translations/lt.js +0 -23
- package/dist/translations/lv.d.ts +0 -8
- package/dist/translations/lv.js +0 -23
- package/dist/translations/ms.d.ts +0 -8
- package/dist/translations/ms.js +0 -23
- package/dist/translations/nl.d.ts +0 -8
- package/dist/translations/nl.js +0 -23
- package/dist/translations/no.d.ts +0 -8
- package/dist/translations/no.js +0 -23
- package/dist/translations/pl.d.ts +0 -8
- package/dist/translations/pl.js +0 -23
- package/dist/translations/pt-br.d.ts +0 -8
- package/dist/translations/pt-br.js +0 -23
- package/dist/translations/pt.d.ts +0 -8
- package/dist/translations/pt.js +0 -23
- package/dist/translations/ro.d.ts +0 -8
- package/dist/translations/ro.js +0 -23
- package/dist/translations/ru.d.ts +0 -8
- package/dist/translations/ru.js +0 -23
- package/dist/translations/sk.d.ts +0 -8
- package/dist/translations/sk.js +0 -23
- package/dist/translations/sr-latn.d.ts +0 -8
- package/dist/translations/sr-latn.js +0 -23
- package/dist/translations/sr.d.ts +0 -8
- package/dist/translations/sr.js +0 -23
- package/dist/translations/sv.d.ts +0 -8
- package/dist/translations/sv.js +0 -23
- package/dist/translations/th.d.ts +0 -8
- package/dist/translations/th.js +0 -23
- package/dist/translations/tk.d.ts +0 -8
- package/dist/translations/tk.js +0 -23
- package/dist/translations/tr.d.ts +0 -8
- package/dist/translations/tr.js +0 -23
- package/dist/translations/ug.d.ts +0 -8
- package/dist/translations/ug.js +0 -23
- package/dist/translations/uk.d.ts +0 -8
- package/dist/translations/uk.js +0 -23
- package/dist/translations/ur.d.ts +0 -8
- package/dist/translations/ur.js +0 -23
- package/dist/translations/uz.d.ts +0 -8
- package/dist/translations/uz.js +0 -23
- package/dist/translations/vi.d.ts +0 -8
- package/dist/translations/vi.js +0 -23
- package/dist/translations/zh-cn.d.ts +0 -8
- package/dist/translations/zh-cn.js +0 -23
- package/dist/translations/zh.d.ts +0 -8
- package/dist/translations/zh.js +0 -23
- package/dist/types/adapters/aiadapter.d.ts +0 -52
- package/dist/types/adapters/aitextadapter.d.ts +0 -150
- package/dist/types/adapters/awstextadapter.d.ts +0 -182
- package/dist/types/adapters/openaitextadapter.d.ts +0 -185
- package/dist/types/aiassistant.d.ts +0 -390
- package/dist/types/aiassistantediting.d.ts +0 -50
- package/dist/types/aiassistantui.d.ts +0 -57
- package/dist/types/aiconfig.d.ts +0 -73
- package/dist/types/augmentation.d.ts +0 -31
- package/dist/types/index.d.ts +0 -17
- package/dist/types/ui/aiassistantcontroller.d.ts +0 -113
- package/dist/types/ui/dropdown/aicommandslistview.d.ts +0 -37
- package/dist/types/ui/dropdown/buttonlabelwithhighlightview.d.ts +0 -33
- package/dist/types/ui/dropdown/labelwithhighlightview.d.ts +0 -29
- package/dist/types/ui/form/aiformcontentarea.d.ts +0 -52
- package/dist/types/ui/form/aiformerrorview.d.ts +0 -30
- package/dist/types/ui/form/aiformpromptview.d.ts +0 -50
- package/dist/types/ui/form/aiformtoolbarview.d.ts +0 -62
- package/dist/types/ui/form/aiformview.d.ts +0 -145
- package/dist/types/ui/form/aihistorylistitemview.d.ts +0 -22
- package/dist/types/ui/form/aihistorylistview.d.ts +0 -39
- package/dist/types/ui/form/prompthistory.d.ts +0 -24
- package/dist/types/ui/showaiassistantcommand.d.ts +0 -44
- package/dist/types/utils/common-translations.d.ts +0 -13
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
7
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* @module ai/adapters/awstextadapter
|
|
11
|
-
* @publicApi
|
|
12
|
-
*/
|
|
13
|
-
import { type Editor } from 'ckeditor5/src/core.js';
|
|
14
|
-
import { default as AITextAdapter, type AITextAdapterRequestData, type RequestHeaders, type RequestParameters } from './aitextadapter.js';
|
|
15
|
-
import { type BedrockRuntimeClientConfig } from '@aws-sdk/client-bedrock-runtime';
|
|
16
|
-
/**
|
|
17
|
-
* Adapter for AI text-related requests that supports the Amazon Bedrock service.
|
|
18
|
-
*
|
|
19
|
-
* See also {@link module:ai/adapters/aitextadapter~AITextAdapter}.
|
|
20
|
-
*/
|
|
21
|
-
export default class AWSTextAdapter extends AITextAdapter {
|
|
22
|
-
/**
|
|
23
|
-
* @inheritDoc
|
|
24
|
-
*/
|
|
25
|
-
static get pluginName(): "AWSTextAdapter";
|
|
26
|
-
/**
|
|
27
|
-
* @inheritDoc
|
|
28
|
-
*/
|
|
29
|
-
constructor(editor: Editor);
|
|
30
|
-
/**
|
|
31
|
-
* Performs the request to the Amazon Bedrock service or to the endpoint provided in the editor configuration.
|
|
32
|
-
*
|
|
33
|
-
* If you want to extend this adapter, you can overload this method to do some additional processing or make an external call.
|
|
34
|
-
*/
|
|
35
|
-
sendRequest({ query, context, onData, actionId }: AITextAdapterRequestData): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Prepares the actual full prompt for the request to the Amazon Bedrock API.
|
|
38
|
-
*
|
|
39
|
-
* The prompt may differ depending on what model is used.
|
|
40
|
-
*
|
|
41
|
-
* You can overload this method to customize the prompts that are sent to the AI service.
|
|
42
|
-
*
|
|
43
|
-
* @param query The user's query. The instruction which the model should perform.
|
|
44
|
-
* @param context The context for the instruction. Usually this will be a part of the editor content. Can be empty.
|
|
45
|
-
* @param model Model that is used to perform the request.
|
|
46
|
-
* @param actionId ID of the performed action. See {@link module:ai/adapters/aitextadapter~AITextAdapterRequestData#actionId}.
|
|
47
|
-
*/
|
|
48
|
-
preparePrompt(query: string, context: string, model: string, actionId: string): Promise<string>;
|
|
49
|
-
/**
|
|
50
|
-
* For a given model, it returns the family to which this model belongs.
|
|
51
|
-
*
|
|
52
|
-
* For example, for `anthropic.claude-instant-v1` it will return `anthropic.claude`.
|
|
53
|
-
*
|
|
54
|
-
* Throws {@link module:ai/adapters/aiadapter~AIRequestError `AIRequestError`} if a given model is not supported.
|
|
55
|
-
*/
|
|
56
|
-
getModelFamily(model: string): AWSModelFamily;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* The configuration for the Amazon Bedrock adapter.
|
|
60
|
-
*
|
|
61
|
-
* The properties defined in this configuration are set in the `config.ai.aws` namespace.
|
|
62
|
-
*
|
|
63
|
-
* ```ts
|
|
64
|
-
* ClassicEditor
|
|
65
|
-
* .create( editorElement, {
|
|
66
|
-
* ai: {
|
|
67
|
-
* aws: {
|
|
68
|
-
* apiUrl: 'https://url.to.your.application/ai'
|
|
69
|
-
* }
|
|
70
|
-
* }
|
|
71
|
-
* } )
|
|
72
|
-
* .then( ... )
|
|
73
|
-
* .catch( ... );
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* See {@link module:ai/aiconfig~AIConfig the full AI configuration}.
|
|
77
|
-
*
|
|
78
|
-
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
79
|
-
*/
|
|
80
|
-
export interface AWSTextAdapterConfig {
|
|
81
|
-
/**
|
|
82
|
-
* The URL to which the AI service request will be sent.
|
|
83
|
-
*
|
|
84
|
-
* Set this value only if you want to connect to Amazon Bedrock using a proxy endpoint.
|
|
85
|
-
*
|
|
86
|
-
* If `apiUrl` is not provided, the AWS-SDK library will be used to process the request. It will set a proper URL on its own.
|
|
87
|
-
*/
|
|
88
|
-
apiUrl?: string;
|
|
89
|
-
/**
|
|
90
|
-
* An object with headers to set in the request to the AI service.
|
|
91
|
-
*
|
|
92
|
-
* **These headers are only used when connecting to AWS through the proxy endpoint (that is, when `apiUrl` is set).**
|
|
93
|
-
*
|
|
94
|
-
* Otherwise, the AWS-SDK library is used, and it sets the request headers on its own. In this mode, the request headers cannot be
|
|
95
|
-
* customized.
|
|
96
|
-
*
|
|
97
|
-
* If the provided value is an object, it is simply used as provided.
|
|
98
|
-
*
|
|
99
|
-
* ```js
|
|
100
|
-
* {
|
|
101
|
-
* ai: {
|
|
102
|
-
* aws: {
|
|
103
|
-
* requestHeaders: {
|
|
104
|
-
* 'Authorization': 'Bearer YOUR_API_KEY'
|
|
105
|
-
* }
|
|
106
|
-
* }
|
|
107
|
-
* // ...
|
|
108
|
-
* }
|
|
109
|
-
* }
|
|
110
|
-
* ```
|
|
111
|
-
*
|
|
112
|
-
* If the provided value is a function, it should be a function that returns a promise which resolves with the headers object.
|
|
113
|
-
* This way, you can perform an authorization request to your application and receive the authorization token (and also implement
|
|
114
|
-
* any custom logic on the backend side). The headers object is then used to make the actual call to the AI service.
|
|
115
|
-
*
|
|
116
|
-
* ```js
|
|
117
|
-
* {
|
|
118
|
-
* ai: {
|
|
119
|
-
* aws: {
|
|
120
|
-
* requestHeaders: async () => {
|
|
121
|
-
* const jwt = await fetch( 'https://example.com/jwt-endpoint' );
|
|
122
|
-
*
|
|
123
|
-
* return {
|
|
124
|
-
* 'Authorization': 'Bearer ' + jwt
|
|
125
|
-
* }
|
|
126
|
-
* }
|
|
127
|
-
* }
|
|
128
|
-
* // ...
|
|
129
|
-
* }
|
|
130
|
-
* }
|
|
131
|
-
* ```
|
|
132
|
-
*
|
|
133
|
-
* The function is passed the {@link module:ai/adapters/aitextadapter~AITextAdapterRequestData#actionId `actionId`} parameter to make it
|
|
134
|
-
* possible to further customize the headers.
|
|
135
|
-
*
|
|
136
|
-
* If the function fails for any reason, the promise should be rejected. In this case, a feature that made the request should display
|
|
137
|
-
* an error notification.
|
|
138
|
-
*/
|
|
139
|
-
requestHeaders?: RequestHeaders;
|
|
140
|
-
/**
|
|
141
|
-
* Additional configuration parameters for the AI service request. Use it to customize how the AI service generates responses.
|
|
142
|
-
*
|
|
143
|
-
* The exact configuration (available parameters) depends on the used model. Keep in mind that some properties are not supported by some
|
|
144
|
-
* models.
|
|
145
|
-
*
|
|
146
|
-
* See [AWS model parameters reference](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) to learn more.
|
|
147
|
-
*
|
|
148
|
-
* If the provided value is an object, it is passed to the request as provided.
|
|
149
|
-
*
|
|
150
|
-
* If the provided value is a function, it should be a function that returns a promise which resolves with the request parameters
|
|
151
|
-
* object. This gives you more flexibility to provide parameters for the AI model.
|
|
152
|
-
*
|
|
153
|
-
* The function is passed the {@link module:ai/adapters/aitextadapter~AITextAdapterRequestData#actionId `actionId`} parameter to make it
|
|
154
|
-
* possible to further customize the parameters.
|
|
155
|
-
*
|
|
156
|
-
* If the function fails for any reason, the promise should be rejected. In this case, the feature that made the request should display
|
|
157
|
-
* an error notification.
|
|
158
|
-
*
|
|
159
|
-
* Defaults to:
|
|
160
|
-
*
|
|
161
|
-
* ```json
|
|
162
|
-
* {
|
|
163
|
-
* model: 'anthropic.claude-v2',
|
|
164
|
-
* max_tokens_to_sample: 500,
|
|
165
|
-
* temperature: 1,
|
|
166
|
-
* top_k: 250,
|
|
167
|
-
* top_p: 1,
|
|
168
|
-
* anthropic_version: 'bedrock-2023-05-31',
|
|
169
|
-
* stream: true
|
|
170
|
-
* }
|
|
171
|
-
* ```
|
|
172
|
-
*/
|
|
173
|
-
requestParameters?: RequestParameters;
|
|
174
|
-
/**
|
|
175
|
-
* The configuration for AWS-SDK Bedrock Runtime Client.
|
|
176
|
-
*
|
|
177
|
-
* If `apiUrl` is not provided, this configuration will be used to initialize the Bedrock Runtime Client which will be used to process
|
|
178
|
-
* the requests. The adapter will make requests directly to the Amazon Bedrock service.
|
|
179
|
-
*/
|
|
180
|
-
bedrockClientConfig?: BedrockRuntimeClientConfig;
|
|
181
|
-
}
|
|
182
|
-
export type AWSModelFamily = 'anthropic.claude' | 'ai21.j2' | 'cohere.command' | 'meta.llama';
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
7
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* @module ai/adapters/openaitextadapter
|
|
11
|
-
* @publicApi
|
|
12
|
-
*/
|
|
13
|
-
import { type Editor } from 'ckeditor5/src/core.js';
|
|
14
|
-
import { default as AITextAdapter, type AITextAdapterRequestData, type RequestHeaders, type RequestParameters } from './aitextadapter.js';
|
|
15
|
-
/**
|
|
16
|
-
* Adapter for AI text-related requests that supports OpenAI and Azure OpenAI services.
|
|
17
|
-
*
|
|
18
|
-
* See also {@link module:ai/adapters/aitextadapter~AITextAdapter}.
|
|
19
|
-
*/
|
|
20
|
-
export default class OpenAITextAdapter extends AITextAdapter {
|
|
21
|
-
/**
|
|
22
|
-
* @inheritDoc
|
|
23
|
-
*/
|
|
24
|
-
static get pluginName(): "OpenAITextAdapter";
|
|
25
|
-
/**
|
|
26
|
-
* @inheritDoc
|
|
27
|
-
*/
|
|
28
|
-
constructor(editor: Editor);
|
|
29
|
-
/**
|
|
30
|
-
* Performs the request to the OpenAI service, Azure OpenAI service, or to the endpoint provided in the editor configuration.
|
|
31
|
-
*
|
|
32
|
-
* If you want to extend this adapter, you can overload this method to do some additional processing or make an external call.
|
|
33
|
-
*/
|
|
34
|
-
sendRequest({ query, context, onData, actionId }: AITextAdapterRequestData): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Prepares the actual request messages to be sent as a part of the request to the AI service.
|
|
37
|
-
*
|
|
38
|
-
* See [OpenAI API reference](https://platform.openai.com/docs/api-reference/chat/create) to learn more.
|
|
39
|
-
*
|
|
40
|
-
* This method returns two messages, one "system message" with general instructions for the model and one "user message"
|
|
41
|
-
* with the actual instruction to perform.
|
|
42
|
-
*
|
|
43
|
-
* The messages are different, based on whether there is any `context` provided. If no `context` is provided, it is assumed that
|
|
44
|
-
* the user wants to generate new content. If `context` is provided, it is assumed that the user wants to process this `context`
|
|
45
|
-
* (e.g. translate) or generate something based on `context` (e.g. summary).
|
|
46
|
-
*
|
|
47
|
-
* You can overload this method to customize the messages that are sent to the AI service.
|
|
48
|
-
*
|
|
49
|
-
* @param query The user's query. The instruction which the model should perform.
|
|
50
|
-
* @param context The context for the instruction. Usually this will be a part of the editor content. Can be empty.
|
|
51
|
-
* @param actionId ID of the performed action. See {@link module:ai/adapters/aitextadapter~AITextAdapterRequestData#actionId}.
|
|
52
|
-
*/
|
|
53
|
-
prepareMessages(query: string, context: string, actionId: string): Promise<Array<RequestMessageItem>>;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* The configuration for the OpenAI adapter.
|
|
57
|
-
*
|
|
58
|
-
* The properties defined in this config are set in the `config.ai.openAI` namespace.
|
|
59
|
-
*
|
|
60
|
-
* ```ts
|
|
61
|
-
* ClassicEditor
|
|
62
|
-
* .create( editorElement, {
|
|
63
|
-
* ai: {
|
|
64
|
-
* openAI: {
|
|
65
|
-
* requestHeaders: {
|
|
66
|
-
* Authorization: 'Bearer OPENAI_API_KEY'
|
|
67
|
-
* }
|
|
68
|
-
* }
|
|
69
|
-
* }
|
|
70
|
-
* } )
|
|
71
|
-
* .then( ... )
|
|
72
|
-
* .catch( ... );
|
|
73
|
-
* ```
|
|
74
|
-
*
|
|
75
|
-
* See {@link module:ai/aiconfig~AIConfig the full AI configuration}.
|
|
76
|
-
*
|
|
77
|
-
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
78
|
-
*/
|
|
79
|
-
export interface OpenAITextAdapterConfig {
|
|
80
|
-
/**
|
|
81
|
-
* The URL to which the AI service request will be sent.
|
|
82
|
-
*
|
|
83
|
-
* By default, requests are sent to the OpenAI API service. Change this value to make requests to Azure OpenAI API or use proxy endpoint
|
|
84
|
-
* in your application instead.
|
|
85
|
-
*
|
|
86
|
-
* Defaults to `'https://api.openai.com/v1/chat/completions'`.
|
|
87
|
-
*/
|
|
88
|
-
apiUrl?: string;
|
|
89
|
-
/**
|
|
90
|
-
* Object with headers to set in the request to the AI service API.
|
|
91
|
-
*
|
|
92
|
-
* If the provided value is an `object`, it is simply used as provided.
|
|
93
|
-
*
|
|
94
|
-
* If you are connecting directly to the OpenAI API, use your OpenAI API key in the following way:
|
|
95
|
-
*
|
|
96
|
-
* ```js
|
|
97
|
-
* {
|
|
98
|
-
* ai: {
|
|
99
|
-
* openAI: {
|
|
100
|
-
* requestHeaders: {
|
|
101
|
-
* 'Authorization': 'Bearer YOUR_API_KEY'
|
|
102
|
-
* }
|
|
103
|
-
* // ...
|
|
104
|
-
* }
|
|
105
|
-
* // ..
|
|
106
|
-
* }
|
|
107
|
-
* }
|
|
108
|
-
* ```
|
|
109
|
-
*
|
|
110
|
-
* **Important: use your API key ONLY in a development environment or for testing purposes!**
|
|
111
|
-
* In the production environment, pass your request through a proxy endpoint.
|
|
112
|
-
*
|
|
113
|
-
* If you are using a proxy service to send requests to the OpenAI API, `requestHeaders` can be used to implement authorization for your
|
|
114
|
-
* requests.
|
|
115
|
-
*
|
|
116
|
-
* If the provided value is a function, it should be a function that returns a `Promise` which resolves with the headers object.
|
|
117
|
-
* This way, you can perform an authorization request to your application and receive the authorization token (and also implement
|
|
118
|
-
* any custom logic on the back-end side). The headers object is then used to make the actual call to the AI service.
|
|
119
|
-
*
|
|
120
|
-
* The function is passed {@link module:ai/adapters/aitextadapter~AITextAdapterRequestData#actionId `actionId`} parameter to make it
|
|
121
|
-
* possible to further customize the headers.
|
|
122
|
-
*
|
|
123
|
-
* ```js
|
|
124
|
-
* {
|
|
125
|
-
* ai: {
|
|
126
|
-
* openAI: {
|
|
127
|
-
* requestHeaders: async () => {
|
|
128
|
-
* const jwt = await fetch( 'https://example.com/jwt-endpoint' );
|
|
129
|
-
*
|
|
130
|
-
* return {
|
|
131
|
-
* 'Authorization': 'Bearer ' + jwt
|
|
132
|
-
* };
|
|
133
|
-
* }
|
|
134
|
-
* // ...
|
|
135
|
-
* }
|
|
136
|
-
* }
|
|
137
|
-
* }
|
|
138
|
-
* ```
|
|
139
|
-
*
|
|
140
|
-
* If the function fails for any reason, the promise should be rejected. In this case, a feature that made the request should display
|
|
141
|
-
* an error notification.
|
|
142
|
-
*/
|
|
143
|
-
requestHeaders?: RequestHeaders;
|
|
144
|
-
/**
|
|
145
|
-
* Additional configuration parameters for the AI service request. Use it to customize how the AI service generates responses.
|
|
146
|
-
*
|
|
147
|
-
* See [OpenAI API reference](https://platform.openai.com/docs/api-reference/chat/create) to learn more about available parameters.
|
|
148
|
-
*
|
|
149
|
-
* If the provided value is an `object`, it is passed to the request as provided.
|
|
150
|
-
*
|
|
151
|
-
* If the provided value is a function, it should be a function that returns a `Promise` which resolves with the request parameters
|
|
152
|
-
* object. This gives you more flexibility to provide parameters for the AI model.
|
|
153
|
-
*
|
|
154
|
-
* The function is passed {@link module:ai/adapters/aitextadapter~AITextAdapterRequestData#actionId `actionId`} parameter to make it
|
|
155
|
-
* possible to further customize the parameters.
|
|
156
|
-
*
|
|
157
|
-
* If the function fails for any reason, the promise should be rejected. In this case, the feature that made the request should display
|
|
158
|
-
* an error notification.
|
|
159
|
-
*
|
|
160
|
-
* Defaults to:
|
|
161
|
-
*
|
|
162
|
-
* ```json
|
|
163
|
-
* {
|
|
164
|
-
* model: 'gpt-3.5-turbo',
|
|
165
|
-
* max_tokens: 2000,
|
|
166
|
-
* temperature: 1,
|
|
167
|
-
* top_p: 1
|
|
168
|
-
* }
|
|
169
|
-
* ```
|
|
170
|
-
*/
|
|
171
|
-
requestParameters?: RequestParameters;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Single message item, in the format required for the OpenAI request.
|
|
175
|
-
*
|
|
176
|
-
* Example:
|
|
177
|
-
*
|
|
178
|
-
* ```json
|
|
179
|
-
* { role: 'system', content: 'You are a helpful assistant.' }
|
|
180
|
-
* ```
|
|
181
|
-
*
|
|
182
|
-
* See [OpenAI API reference](https://platform.openai.com/docs/api-reference/chat/create) to learn more.
|
|
183
|
-
*/
|
|
184
|
-
type RequestMessageItem = Record<string, string>;
|
|
185
|
-
export {};
|