@or-sdk/knowledge-models 0.12.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/dist/cjs/KnowledgeModels.js +1244 -0
- package/dist/cjs/KnowledgeModels.js.map +1 -0
- package/dist/cjs/constants.js +5 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.js +17 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/getEntityBody.js +40 -0
- package/dist/cjs/utils/getEntityBody.js.map +1 -0
- package/dist/cjs/utils/index.js +9 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/esm/KnowledgeModels.js +860 -0
- package/dist/esm/KnowledgeModels.js.map +1 -0
- package/dist/esm/constants.js +2 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/getEntityBody.js +27 -0
- package/dist/esm/utils/getEntityBody.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/types/KnowledgeModels.d.ts +331 -0
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/types.d.ts +306 -0
- package/dist/types/utils/getEntityBody.d.ts +6 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +29 -0
- package/src/KnowledgeModels.ts +1302 -0
- package/src/constants.ts +1 -0
- package/src/index.ts +2 -0
- package/src/types.ts +347 -0
- package/src/utils/getEntityBody.ts +37 -0
- package/src/utils/index.ts +4 -0
- package/tsconfig.esm.json +9 -0
- package/tsconfig.json +7 -0
- package/tsconfig.types.json +9 -0
|
@@ -0,0 +1,1302 @@
|
|
|
1
|
+
import { Base, List, makeList, CalApiParams } from '@or-sdk/base';
|
|
2
|
+
import {
|
|
3
|
+
KnowledgeModelsConfig,
|
|
4
|
+
KnowledgeModel,
|
|
5
|
+
KnowledgeModelOptionalFields,
|
|
6
|
+
PartialListResponse,
|
|
7
|
+
KnowledgeModelCreateParams,
|
|
8
|
+
LimitsResponse,
|
|
9
|
+
Entity,
|
|
10
|
+
PrebuiltEntity,
|
|
11
|
+
Feature,
|
|
12
|
+
Application,
|
|
13
|
+
IntentLabelsResponse,
|
|
14
|
+
Utterance,
|
|
15
|
+
Pattern,
|
|
16
|
+
PrebuiltModel,
|
|
17
|
+
PrebuiltModelDetails,
|
|
18
|
+
Intent,
|
|
19
|
+
UtteranceEntity,
|
|
20
|
+
PatternEntity,
|
|
21
|
+
Pair,
|
|
22
|
+
CreatePairsResponse,
|
|
23
|
+
UpdatedPairsResponse,
|
|
24
|
+
TrainStatusResponse,
|
|
25
|
+
TrainResponse,
|
|
26
|
+
PublishResponse,
|
|
27
|
+
ImportResponse,
|
|
28
|
+
MeaningResponse,
|
|
29
|
+
CloneResponse,
|
|
30
|
+
} from './types';
|
|
31
|
+
import { getEntityBody } from './utils';
|
|
32
|
+
import { SERVICE_KEY } from './constants';
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* OneReach KnowledgeModels service client
|
|
36
|
+
* ## Installation:
|
|
37
|
+
* ```
|
|
38
|
+
* $ npm i @or-sdk/knowledge-models
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export class KnowledgeModels extends Base {
|
|
42
|
+
/**
|
|
43
|
+
* ```typescript
|
|
44
|
+
* import { KnowledgeModels } from '@or-sdk/knowledge-models'
|
|
45
|
+
* const knowledgeModels = new KnowledgeModels({token: 'my-account-token-string', discoveryUrl: 'http://example.nlu/endpoint'});
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
constructor(params: KnowledgeModelsConfig) {
|
|
49
|
+
const { token, discoveryUrl } = params;
|
|
50
|
+
|
|
51
|
+
super({
|
|
52
|
+
token,
|
|
53
|
+
discoveryUrl,
|
|
54
|
+
serviceKey: SERVICE_KEY,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private async getFullList<T>(method: CalApiParams['method'], route: string, queryParams: { [key: string]: unknown; } = {}): Promise<List<T>> {
|
|
59
|
+
const params = {
|
|
60
|
+
...queryParams,
|
|
61
|
+
last: undefined as unknown,
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
let result: PartialListResponse<T>;
|
|
65
|
+
let list: T[] = [];
|
|
66
|
+
|
|
67
|
+
do {
|
|
68
|
+
result = await this.callApi<PartialListResponse<T>>({
|
|
69
|
+
method,
|
|
70
|
+
route,
|
|
71
|
+
params,
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
list = [...list, ...result.items];
|
|
75
|
+
params.last = result.last;
|
|
76
|
+
|
|
77
|
+
} while (result.last && result.items.length);
|
|
78
|
+
|
|
79
|
+
return makeList<T>(list);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* List knowledge models
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const knowledgeModels = await knowledgeModels.listKnowledgeModels();
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
public async listKnowledgeModels(): Promise<List<KnowledgeModel>> {
|
|
89
|
+
return this.getFullList<KnowledgeModel>('GET', '/knowledge-base');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Get knowledge model
|
|
94
|
+
* ```typescript
|
|
95
|
+
* const knowledgeModel = await knowledgeModels.getKnowledgeModel('km-id');
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
public async getKnowledgeModel(id: string): Promise<KnowledgeModel> {
|
|
99
|
+
const list = await this.listKnowledgeModels();
|
|
100
|
+
|
|
101
|
+
return list.rows.find(km => km.id === id) as KnowledgeModel;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Create knowledge model
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const knowledgeModel = await knowledgeModels.createKnowledgeModel({
|
|
108
|
+
* name: 'km_name',
|
|
109
|
+
* desc: 'km_desc',
|
|
110
|
+
* imageSrc: 'http://img.png',
|
|
111
|
+
* config: {},
|
|
112
|
+
* culture: 'en-us',
|
|
113
|
+
* extensions: ['luis']
|
|
114
|
+
* });
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
public async createKnowledgeModel({ name, desc, imageSrc, config, culture, extensions }: KnowledgeModelCreateParams): Promise<KnowledgeModel> {
|
|
118
|
+
const params = {
|
|
119
|
+
name,
|
|
120
|
+
desc,
|
|
121
|
+
imageSrc,
|
|
122
|
+
culture,
|
|
123
|
+
config,
|
|
124
|
+
extensions,
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
return this.callApi<KnowledgeModel>({
|
|
128
|
+
method: 'POST',
|
|
129
|
+
route: '/knowledge-base',
|
|
130
|
+
params,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Update knowledge model
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const knowledgeModel = await knowledgeModels.updateKnowledgeModel({ id: 'km-id', name: 'updated_name' });
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
public async updateKnowledgeModel(knowledgeModel: KnowledgeModelOptionalFields): Promise<KnowledgeModel> {
|
|
141
|
+
return this.callApi<KnowledgeModel>({
|
|
142
|
+
method: 'PUT',
|
|
143
|
+
route: '/knowledge-base',
|
|
144
|
+
data: knowledgeModel,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Get limits index
|
|
150
|
+
* ```typescript
|
|
151
|
+
* const result = await knowledgeModels.getLimitsIndex();
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
public async getLimitsIndex(): Promise<LimitsResponse> {
|
|
155
|
+
return this.callApi<LimitsResponse>({
|
|
156
|
+
method: 'GET',
|
|
157
|
+
route: '/administration/limits/index',
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Get limits
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const result = await knowledgeModels.getLimits('limits-path');
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
public async getLimits(path: string): Promise<number> {
|
|
168
|
+
const params = {
|
|
169
|
+
path,
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
return this.callApi<number>({
|
|
173
|
+
method: 'GET',
|
|
174
|
+
route: '/administration/limits',
|
|
175
|
+
params,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Post limits
|
|
181
|
+
* ```typescript
|
|
182
|
+
* const result = await knowledgeModels.postLimits({ accountId: 'acc-id', limits: { metric: '', number: 0 } });
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
public async postLimits({ accountId, limits }: { accountId: string; limits: { metric: string; number: number; }; }): Promise<void> {
|
|
186
|
+
const data = {
|
|
187
|
+
accountId,
|
|
188
|
+
limits,
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
await this.callApi<void>({
|
|
192
|
+
method: 'POST',
|
|
193
|
+
route: '/administration/limits',
|
|
194
|
+
data,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* List prebuilt entities
|
|
200
|
+
* ```typescript
|
|
201
|
+
* const result = await knowledgeModels.listPrebuiltEntities({ language: 'lang' });
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
public async listPrebuiltEntities({ language }: { language?: string; } = {}): Promise<List<PrebuiltEntity>> {
|
|
205
|
+
const params = {
|
|
206
|
+
language,
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
const result = await this.callApi<PrebuiltEntity[]>({
|
|
210
|
+
method: 'GET',
|
|
211
|
+
route: '/kb/entities/prebuilt/all',
|
|
212
|
+
params,
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
return makeList<PrebuiltEntity>(result);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* List entities
|
|
220
|
+
* ```typescript
|
|
221
|
+
* const result = await knowledgeModels.listEntities({ type: 'type', kbId: 'kb-id', versionId: 'version-id', limit: 30 });
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
224
|
+
public async listEntities({ type, kbId, versionId, limit }: { type: string; kbId?: string; versionId?: string; limit?: number; }): Promise<List<Entity>> {
|
|
225
|
+
const params = {
|
|
226
|
+
kbId,
|
|
227
|
+
versionId,
|
|
228
|
+
limit,
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
return this.getFullList<Entity>('GET', `/kb/entities/${type}`, params);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* List features
|
|
236
|
+
* ```typescript
|
|
237
|
+
* const result = await knowledgeModels.listFeatures({ type: 'type', kbId: 'kb-id', versionId: 'version-id', limit: 30 });
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
public async listFeatures({ kbId, versionId, limit }: { kbId: string; versionId?: string; limit?: number; }): Promise<List<Feature>> {
|
|
241
|
+
const params = {
|
|
242
|
+
kbId,
|
|
243
|
+
versionId,
|
|
244
|
+
limit,
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
return this.getFullList<Feature>('GET', '/phraselists', params);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* List applications
|
|
252
|
+
* ```typescript
|
|
253
|
+
* const result = await knowledgeModels.listApplications({ kbId: 'kb-id', text: 'text', pattern: 'pattern', versionId: 'version-id', limit: 30, projection: ['fieldName'] });
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
public async listApplications({ kbId, text, pattern, versionId, limit, projection }: { kbId: string; text?: string; pattern?: string; versionId?: string; limit?: number; projection?: string[]; }): Promise<List<Application>> {
|
|
257
|
+
const params = {
|
|
258
|
+
kbId,
|
|
259
|
+
limit,
|
|
260
|
+
text,
|
|
261
|
+
pattern,
|
|
262
|
+
versionId,
|
|
263
|
+
projection,
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
return this.getFullList<Application>('GET', '/applications', params);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* List intents labels
|
|
271
|
+
* ```typescript
|
|
272
|
+
* const result = await knowledgeModels.listIntentsLabels({ appId: 'app-id', kbId: 'kb-id' });
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
public async listIntentsLabels({ appId, kbId }: { appId: string; kbId: string; }): Promise<IntentLabelsResponse> {
|
|
276
|
+
const params = {
|
|
277
|
+
appId,
|
|
278
|
+
kbId,
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
return this.callApi<IntentLabelsResponse>({
|
|
282
|
+
method: 'GET',
|
|
283
|
+
route: '/intents/labels',
|
|
284
|
+
params,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* List utterances
|
|
290
|
+
* ```typescript
|
|
291
|
+
* const result = await knowledgeModels.listUtterances({ kbId: 'kb-id', limit: 30 });
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
public async listUtterances({ kbId, limit, ...query }: { kbId: string; limit?: number; query?: { [key: string]: unknown; }; }): Promise<List<Utterance>> {
|
|
295
|
+
const params = {
|
|
296
|
+
kbId,
|
|
297
|
+
limit,
|
|
298
|
+
...query,
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
return this.getFullList<Utterance>('GET', '/utterances', params);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* List patterns
|
|
306
|
+
* ```typescript
|
|
307
|
+
* const result = await knowledgeModels.listPatterns({ kbId: 'kb-id', limit: 30 });
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
public async listPatterns({ kbId, limit, ...query }: { kbId: string; limit?: number; query?: { [key: string]: unknown; }; }): Promise<List<Pattern>> {
|
|
311
|
+
const params = {
|
|
312
|
+
kbId,
|
|
313
|
+
limit,
|
|
314
|
+
...query,
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
return this.getFullList<Pattern>('GET', '/patterns', params);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* List prebuilt models
|
|
322
|
+
* ```typescript
|
|
323
|
+
* const result = await knowledgeModels.listPrebuiltModels({ limit: 30 });
|
|
324
|
+
* ```
|
|
325
|
+
*/
|
|
326
|
+
public async listPrebuiltModels({ limit, ...query }: { limit?: number; query?: { [key: string]: unknown; }; } = {}): Promise<List<PrebuiltModel>> {
|
|
327
|
+
const params = {
|
|
328
|
+
limit,
|
|
329
|
+
...query,
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
return this.getFullList<PrebuiltModel>('GET', '/prebuilt-models', params);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Remove prebuilt model from knowledge model
|
|
337
|
+
* ```typescript
|
|
338
|
+
* await knowledgeModels.listPrebuiltModels({ prebuiltModelId: 'prebuilt-model-id', kbId: 'kb-id' });
|
|
339
|
+
* ```
|
|
340
|
+
*/
|
|
341
|
+
public async removePrebuiltModelFromKM({ prebuiltModelId, kbId }: { prebuiltModelId: string; kbId: string; }): Promise<void> {
|
|
342
|
+
const params = {
|
|
343
|
+
prebuiltModelId,
|
|
344
|
+
kbId,
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
await this.callApi({
|
|
348
|
+
method: 'DELETE',
|
|
349
|
+
route: '/knowledge-base/prebuilt-model',
|
|
350
|
+
params,
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Add prebuilt model to knowledge model
|
|
356
|
+
* ```typescript
|
|
357
|
+
* const result = await knowledgeModels.addPrebuiltModelToKM({
|
|
358
|
+
* kbId: 'kb-id',
|
|
359
|
+
* prebuiltModelId: 'prebuilt-model-id',
|
|
360
|
+
* appId: 'app-id',
|
|
361
|
+
* appName: 'App Name',
|
|
362
|
+
* shouldCreateNewApplication: false,
|
|
363
|
+
* responses: ['response'],
|
|
364
|
+
* entities: ['entity name'],
|
|
365
|
+
* });
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
public async addPrebuiltModelToKM({
|
|
369
|
+
kbId,
|
|
370
|
+
prebuiltModelId,
|
|
371
|
+
appId,
|
|
372
|
+
appName,
|
|
373
|
+
shouldCreateNewApplication,
|
|
374
|
+
responses,
|
|
375
|
+
entities,
|
|
376
|
+
}: {
|
|
377
|
+
kbId: string;
|
|
378
|
+
prebuiltModelId: string;
|
|
379
|
+
appId: string;
|
|
380
|
+
appName: string;
|
|
381
|
+
shouldCreateNewApplication: boolean;
|
|
382
|
+
responses: string[];
|
|
383
|
+
entities: string[];
|
|
384
|
+
}): Promise<Application> {
|
|
385
|
+
const data = {
|
|
386
|
+
kbId,
|
|
387
|
+
appId,
|
|
388
|
+
prebuiltModelId,
|
|
389
|
+
appName,
|
|
390
|
+
shouldCreateNewApplication,
|
|
391
|
+
responses,
|
|
392
|
+
entities,
|
|
393
|
+
};
|
|
394
|
+
|
|
395
|
+
return this.callApi<Application>({
|
|
396
|
+
method: 'POST',
|
|
397
|
+
route: '/knowledge-base/prebuilt-model',
|
|
398
|
+
data,
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* Get prebuilt models details
|
|
404
|
+
* ```typescript
|
|
405
|
+
* const result = await knowledgeModels.getPrebuiltModelDetails({ kbId: 'kb-id', prebuiltModelId: 'prebuilt-model-id' });
|
|
406
|
+
* ```
|
|
407
|
+
*/
|
|
408
|
+
public async getPrebuiltModelDetails({ kbId, prebuiltModelId }: { kbId: string; prebuiltModelId: string; }): Promise<PrebuiltModelDetails> {
|
|
409
|
+
const params = {
|
|
410
|
+
kbId,
|
|
411
|
+
prebuiltModelId,
|
|
412
|
+
};
|
|
413
|
+
|
|
414
|
+
return this.callApi<PrebuiltModelDetails>({
|
|
415
|
+
method: 'GET',
|
|
416
|
+
route: '/knowledge-base/prebuilt-model',
|
|
417
|
+
params,
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Create application
|
|
423
|
+
* ```typescript
|
|
424
|
+
* const result = await knowledgeModels.createApplication({ kbId: 'kb-id', name: 'Name', desc: 'Description', culture: 'en-us', model_features: ['feat-id'] });
|
|
425
|
+
* ```
|
|
426
|
+
*/
|
|
427
|
+
public async createApplication({ kbId, name, desc, culture, model_features }: { kbId: string; name: string; desc: string; culture: string; model_features: string[]; }): Promise<Application> {
|
|
428
|
+
const data = {
|
|
429
|
+
kbId,
|
|
430
|
+
name,
|
|
431
|
+
desc,
|
|
432
|
+
culture,
|
|
433
|
+
model_features,
|
|
434
|
+
};
|
|
435
|
+
|
|
436
|
+
return this.callApi<Application>({
|
|
437
|
+
method: 'POST',
|
|
438
|
+
route: '/applications',
|
|
439
|
+
data,
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Create intent
|
|
445
|
+
* ```typescript
|
|
446
|
+
* const result = await knowledgeModels.createIntent({ name: 'Name', type: 'type', kbId: 'kb-id', appId: 'app-id', postprocessFlows: ['flows-id'], customData: {}, features: ['feat-id']});
|
|
447
|
+
* ```
|
|
448
|
+
*/
|
|
449
|
+
public async createIntent({ name, type, kbId, appId, postprocessFlows, customData, features }: { name: string; type: string; kbId: string; appId: string; postprocessFlows: string[]; customData?: { [key: string]: unknown; }; features: string[]; }): Promise<Intent> {
|
|
450
|
+
const data = {
|
|
451
|
+
name,
|
|
452
|
+
type,
|
|
453
|
+
postprocessFlows,
|
|
454
|
+
customData,
|
|
455
|
+
features,
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
const params = {
|
|
459
|
+
kbId,
|
|
460
|
+
appId,
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
return this.callApi<Intent>({
|
|
464
|
+
method: 'POST',
|
|
465
|
+
route: '/intents',
|
|
466
|
+
data,
|
|
467
|
+
params,
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Create utterance
|
|
473
|
+
* ```typescript
|
|
474
|
+
* const result = await knowledgeModels.createUtterance({ appId: 'app-id', kbId: 'kb-id', autoGenerated: false, text: 'text', intent: 'intent-id', entities: [] });
|
|
475
|
+
* ```
|
|
476
|
+
*/
|
|
477
|
+
public async createUtterance({ appId, kbId, autoGenerated, text, intent, entities }: { appId: string; kbId: string; autoGenerated?: boolean; text: string; intent: string; entities: UtteranceEntity[]; }): Promise<Utterance> {
|
|
478
|
+
const data = {
|
|
479
|
+
autoGenerated,
|
|
480
|
+
text,
|
|
481
|
+
intent,
|
|
482
|
+
entities,
|
|
483
|
+
};
|
|
484
|
+
|
|
485
|
+
const params = {
|
|
486
|
+
kbId,
|
|
487
|
+
appId,
|
|
488
|
+
};
|
|
489
|
+
|
|
490
|
+
return this.callApi<Utterance>({
|
|
491
|
+
method: 'POST',
|
|
492
|
+
route: '/utterances',
|
|
493
|
+
data,
|
|
494
|
+
params,
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* Create pattern
|
|
500
|
+
* ```typescript
|
|
501
|
+
* const result = await knowledgeModels.createPattern({ appId: 'app-id', kbId: 'kb-id', pattern: 'pattern', intent: 'intent-id', entities: [] });
|
|
502
|
+
* ```
|
|
503
|
+
*/
|
|
504
|
+
public async createPattern({ appId, kbId, pattern, intent, entities }: { appId: string; kbId: string; pattern: string; intent: string; entities: PatternEntity[]; }): Promise<Pattern> {
|
|
505
|
+
const data = {
|
|
506
|
+
pattern,
|
|
507
|
+
intent,
|
|
508
|
+
entities,
|
|
509
|
+
};
|
|
510
|
+
|
|
511
|
+
const params = {
|
|
512
|
+
kbId,
|
|
513
|
+
appId,
|
|
514
|
+
};
|
|
515
|
+
|
|
516
|
+
return this.callApi<Pattern>({
|
|
517
|
+
method: 'POST',
|
|
518
|
+
route: '/patterns',
|
|
519
|
+
data,
|
|
520
|
+
params,
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* Create pair
|
|
526
|
+
* ```typescript
|
|
527
|
+
* const result = await knowledgeModels.createPair({ kbId: 'kb-id', applicationName: 'App name', intentName: 'Intent name', intentType: 'type', utteranceText: 'text' });
|
|
528
|
+
* ```
|
|
529
|
+
*/
|
|
530
|
+
public async createPair({ kbId, applicationName, intentName, intentType, utteranceText }: { kbId: string; applicationName: string; intentName: string; intentType: string; utteranceText: string; }): Promise<Pair> {
|
|
531
|
+
const data = {
|
|
532
|
+
kbId,
|
|
533
|
+
applicationName,
|
|
534
|
+
intentName,
|
|
535
|
+
intentType,
|
|
536
|
+
utteranceText,
|
|
537
|
+
};
|
|
538
|
+
|
|
539
|
+
return this.callApi<Pair>({
|
|
540
|
+
method: 'POST',
|
|
541
|
+
route: '/knowledge-base/pair',
|
|
542
|
+
data,
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Batch create pairs
|
|
548
|
+
* ```typescript
|
|
549
|
+
* const result = await knowledgeModels.batchCreatePairs({ kbId: 'kb-id', utterances: [] });
|
|
550
|
+
* ```
|
|
551
|
+
*/
|
|
552
|
+
public async batchCreatePairs({ kbId, utterances }: { kbId: string; utterances: { text: string; intent: string; intentType: string; application: string; }[]; }): Promise<CreatePairsResponse> {
|
|
553
|
+
const data = {
|
|
554
|
+
kbId,
|
|
555
|
+
utterances,
|
|
556
|
+
};
|
|
557
|
+
|
|
558
|
+
return this.callApi<CreatePairsResponse>({
|
|
559
|
+
method: 'POST',
|
|
560
|
+
route: '/knowledge-base/pairs',
|
|
561
|
+
data,
|
|
562
|
+
});
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
/**
|
|
566
|
+
* Batch create pairs from file
|
|
567
|
+
* ```typescript
|
|
568
|
+
* const result = await knowledgeModels.batchCreatePairsFile({ kbId: 'kb-id', fileUrl: 'http://file.url' });
|
|
569
|
+
* ```
|
|
570
|
+
*/
|
|
571
|
+
public async batchCreatePairsFile({ kbId, fileUrl }: { kbId: string; fileUrl: string; }): Promise<CreatePairsResponse> {
|
|
572
|
+
const data = {
|
|
573
|
+
kbId,
|
|
574
|
+
fileUrl,
|
|
575
|
+
};
|
|
576
|
+
|
|
577
|
+
return this.callApi<CreatePairsResponse>({
|
|
578
|
+
method: 'POST',
|
|
579
|
+
route: '/knowledge-base/pairs/file',
|
|
580
|
+
data,
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* Create pattern pair
|
|
586
|
+
* ```typescript
|
|
587
|
+
* const result = await knowledgeModels.createPatternPair({ kbId: 'kb-id', applicationName: 'App name', intentName: 'Intent name', intentType: 'type', patternText: 'text', patternEntities: [] });
|
|
588
|
+
* ```
|
|
589
|
+
*/
|
|
590
|
+
public async createPatternPair({ kbId, applicationName, intentName, intentType, patternText, patternEntities }: { kbId: string; applicationName: string; intentName: string; intentType: string; patternText: string; patternEntities: PatternEntity[]; }): Promise<Pair> {
|
|
591
|
+
const data = {
|
|
592
|
+
kbId,
|
|
593
|
+
applicationName,
|
|
594
|
+
intentName,
|
|
595
|
+
intentType,
|
|
596
|
+
patternText,
|
|
597
|
+
patternEntities,
|
|
598
|
+
};
|
|
599
|
+
|
|
600
|
+
return this.callApi<Pair>({
|
|
601
|
+
method: 'POST',
|
|
602
|
+
route: '/knowledge-base/patterns/pair',
|
|
603
|
+
data,
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* Create pairs from csv
|
|
609
|
+
* ```typescript
|
|
610
|
+
* const result = await knowledgeModels.createPairsCsv({ kbId: 'kb-id', fileUrl: 'http://file.url', applicationName: 'App name', delimiter: 'delimiter' });
|
|
611
|
+
* ```
|
|
612
|
+
*/
|
|
613
|
+
public async createPairsCsv({ kbId, fileUrl, applicationName, delimiter }: { kbId: string; fileUrl: string; applicationName: string; delimiter: string; }): Promise<CreatePairsResponse> {
|
|
614
|
+
const data = {
|
|
615
|
+
kbId,
|
|
616
|
+
applicationName,
|
|
617
|
+
fileUrl,
|
|
618
|
+
delimiter,
|
|
619
|
+
};
|
|
620
|
+
|
|
621
|
+
return this.callApi<CreatePairsResponse>({
|
|
622
|
+
method: 'POST',
|
|
623
|
+
route: '/knowledge-base/pair/csv',
|
|
624
|
+
data,
|
|
625
|
+
});
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
* Create entity
|
|
630
|
+
* ```typescript
|
|
631
|
+
* const result = await knowledgeModels.createEntity({ type: 'type', kbId: 'kb-id', name: 'Name', roles: ['role'] });
|
|
632
|
+
* ```
|
|
633
|
+
*/
|
|
634
|
+
public async createEntity({ type, kbId, name, roles, ...rest }: { type: string; kbId: string; name: string; roles: unknown[]; rest?: { [key: string]: unknown; }; }): Promise<Entity> {
|
|
635
|
+
const data = getEntityBody(type, {
|
|
636
|
+
name,
|
|
637
|
+
roles,
|
|
638
|
+
...rest,
|
|
639
|
+
});
|
|
640
|
+
|
|
641
|
+
const params = {
|
|
642
|
+
kbId,
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
return this.callApi<Entity>({
|
|
646
|
+
method: 'POST',
|
|
647
|
+
route: `/kb/entities/${type}`,
|
|
648
|
+
data,
|
|
649
|
+
params,
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* Create feature
|
|
655
|
+
* ```typescript
|
|
656
|
+
* const result = await knowledgeModels.createFeature({ kbId: 'kb-id', name: 'Name', mode: false, words: ['word'], enabledForAllModels: true });
|
|
657
|
+
* ```
|
|
658
|
+
*/
|
|
659
|
+
public async createFeature({ kbId, name, mode, words, enabledForAllModels }: { kbId: string; name: string; mode: boolean; words: string[]; enabledForAllModels: boolean; }): Promise<Feature> {
|
|
660
|
+
const data = {
|
|
661
|
+
name,
|
|
662
|
+
mode,
|
|
663
|
+
words,
|
|
664
|
+
enabledForAllModels,
|
|
665
|
+
};
|
|
666
|
+
|
|
667
|
+
const params = {
|
|
668
|
+
kbId,
|
|
669
|
+
};
|
|
670
|
+
|
|
671
|
+
return this.callApi<Feature>({
|
|
672
|
+
method: 'POST',
|
|
673
|
+
route: '/phraselists',
|
|
674
|
+
data,
|
|
675
|
+
params,
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* Update application
|
|
681
|
+
* ```typescript
|
|
682
|
+
* const result = await knowledgeModels.updateApplication({ kbId: 'kb-id', id: 'app-id', name: 'New name', desc: 'New desc', model_features: [] });
|
|
683
|
+
* ```
|
|
684
|
+
*/
|
|
685
|
+
public async updateApplication({ kbId, id, name, desc, model_features }: { kbId: string; id: string; name?: string; desc?: string; model_features?: string[]; }): Promise<Application> {
|
|
686
|
+
const data = {
|
|
687
|
+
kbId,
|
|
688
|
+
id,
|
|
689
|
+
name,
|
|
690
|
+
desc,
|
|
691
|
+
model_features,
|
|
692
|
+
};
|
|
693
|
+
|
|
694
|
+
return this.callApi<Application>({
|
|
695
|
+
method: 'PUT',
|
|
696
|
+
route: '/applications',
|
|
697
|
+
data: data,
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* Update intent
|
|
703
|
+
* ```typescript
|
|
704
|
+
* const result = await knowledgeModels.updateIntent({ name: 'name', type: 'type', id: 'intent-id', appId: 'app-id', kbId: 'kb-id', postprocessFlows: [], customData: {}, features: [] });
|
|
705
|
+
* ```
|
|
706
|
+
*/
|
|
707
|
+
public async updateIntent({ name, type, id, appId, kbId, postprocessFlows, customData, features }: { name?: string; type?: string; id: string; appId: string; kbId: string; postprocessFlows?: string[]; customData?: { [key: string]: unknown; }; features?: string[]; }): Promise<Intent> {
|
|
708
|
+
const data = {
|
|
709
|
+
name,
|
|
710
|
+
type,
|
|
711
|
+
postprocessFlows,
|
|
712
|
+
customData,
|
|
713
|
+
features,
|
|
714
|
+
};
|
|
715
|
+
|
|
716
|
+
const params = {
|
|
717
|
+
id,
|
|
718
|
+
kbId,
|
|
719
|
+
appId,
|
|
720
|
+
};
|
|
721
|
+
|
|
722
|
+
return this.callApi<Intent>({
|
|
723
|
+
method: 'PUT',
|
|
724
|
+
route: '/intents',
|
|
725
|
+
data,
|
|
726
|
+
params,
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Update utterance
|
|
732
|
+
* ```typescript
|
|
733
|
+
* const result = await knowledgeModels.updateUtterance({ appId: 'app-id', kbId: 'kb-id', utterance });
|
|
734
|
+
* ```
|
|
735
|
+
*/
|
|
736
|
+
public async updateUtterance({ appId, kbId, utterance }: { appId: string; kbId: string; utterance: Utterance; }): Promise<Utterance> {
|
|
737
|
+
const params = {
|
|
738
|
+
kbId,
|
|
739
|
+
appId,
|
|
740
|
+
};
|
|
741
|
+
|
|
742
|
+
return this.callApi<Utterance>({
|
|
743
|
+
method: 'PUT',
|
|
744
|
+
route: '/utterances',
|
|
745
|
+
data: utterance,
|
|
746
|
+
params,
|
|
747
|
+
});
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
/**
|
|
751
|
+
* Update pattern
|
|
752
|
+
* ```typescript
|
|
753
|
+
* const result = await knowledgeModels.updatePattern({ appId: 'app-id', kbId: 'kb-id', pattern });
|
|
754
|
+
* ```
|
|
755
|
+
*/
|
|
756
|
+
public async updatePattern({ appId, kbId, pattern }: { appId: string; kbId: string; pattern: Pattern; }): Promise<Pattern> {
|
|
757
|
+
const params = {
|
|
758
|
+
kbId,
|
|
759
|
+
appId,
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
return this.callApi<Pattern>({
|
|
763
|
+
method: 'PUT',
|
|
764
|
+
route: '/patterns',
|
|
765
|
+
data: pattern,
|
|
766
|
+
params,
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* Update pair
|
|
772
|
+
* ```typescript
|
|
773
|
+
* const result = await knowledgeModels.updatePair({ kbId: 'kb-id', applicationName: 'appName', intentName: 'intName', intentType: 'type', utterance });
|
|
774
|
+
* ```
|
|
775
|
+
*/
|
|
776
|
+
public async updatePair({ kbId, applicationName, intentName, intentType, utterance }: { kbId: string; applicationName: string; intentName: string; intentType: string; utterance: Utterance; }): Promise<void> {
|
|
777
|
+
const data = {
|
|
778
|
+
kbId,
|
|
779
|
+
applicationName,
|
|
780
|
+
intentName,
|
|
781
|
+
intentType,
|
|
782
|
+
utterance,
|
|
783
|
+
};
|
|
784
|
+
|
|
785
|
+
await this.callApi<void>({
|
|
786
|
+
method: 'PUT',
|
|
787
|
+
route: '/knowledge-base/pair',
|
|
788
|
+
data,
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* Batch update pairs
|
|
794
|
+
* ```typescript
|
|
795
|
+
* const result = await knowledgeModels.batchUpdatePairs({ kbId: 'kb-id', utterances: [utterance] });
|
|
796
|
+
* ```
|
|
797
|
+
*/
|
|
798
|
+
public async batchUpdatePairs({ kbId, utterances }: { kbId: string; utterances: Utterance[]; }): Promise<UpdatedPairsResponse> {
|
|
799
|
+
const params = {
|
|
800
|
+
kbId,
|
|
801
|
+
};
|
|
802
|
+
|
|
803
|
+
return this.callApi<UpdatedPairsResponse>({
|
|
804
|
+
method: 'PUT',
|
|
805
|
+
route: '/knowledge-base/pairs',
|
|
806
|
+
data: utterances,
|
|
807
|
+
params,
|
|
808
|
+
});
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
/**
|
|
812
|
+
* Update entity
|
|
813
|
+
* ```typescript
|
|
814
|
+
* const result = await knowledgeModels.updateEntity({ type: 'type', id: 'id', kbId: 'kb-id', name: 'Name', roles: [] });
|
|
815
|
+
* ```
|
|
816
|
+
*/
|
|
817
|
+
public async updateEntity({ type, id, kbId, name, roles, ...rest }: { type: string; id: string; kbId: string; name?: string; roles?: string[]; rest?: { [key: string]: unknown; }; }): Promise<Entity> {
|
|
818
|
+
const data = getEntityBody(type, {
|
|
819
|
+
name,
|
|
820
|
+
roles,
|
|
821
|
+
...rest,
|
|
822
|
+
});
|
|
823
|
+
|
|
824
|
+
const params = {
|
|
825
|
+
id,
|
|
826
|
+
kbId,
|
|
827
|
+
};
|
|
828
|
+
|
|
829
|
+
return this.callApi<Entity>({
|
|
830
|
+
method: 'PUT',
|
|
831
|
+
route: `/kb/entities/${type}`,
|
|
832
|
+
data,
|
|
833
|
+
params,
|
|
834
|
+
});
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
/**
|
|
838
|
+
* Update feature
|
|
839
|
+
* ```typescript
|
|
840
|
+
* const result = await knowledgeModels.updateFeature({ kbId: 'kb-id', id: 'id', name: 'Name', mode: false, words: [], enabledForAllModels: true, activated: true });
|
|
841
|
+
* ```
|
|
842
|
+
*/
|
|
843
|
+
public async updateFeature({ kbId, id, name, mode, words, enabledForAllModels, activated = true }: { kbId: string; id: string; name: string; mode: boolean; words: string[]; enabledForAllModels: boolean; activated: boolean; }): Promise<Feature> {
|
|
844
|
+
const data = {
|
|
845
|
+
name,
|
|
846
|
+
mode,
|
|
847
|
+
words,
|
|
848
|
+
enabledForAllModels,
|
|
849
|
+
activated,
|
|
850
|
+
};
|
|
851
|
+
|
|
852
|
+
const params = {
|
|
853
|
+
id,
|
|
854
|
+
kbId,
|
|
855
|
+
};
|
|
856
|
+
|
|
857
|
+
return this.callApi<Feature>({
|
|
858
|
+
method: 'PUT',
|
|
859
|
+
route: '/phraselists',
|
|
860
|
+
data,
|
|
861
|
+
params,
|
|
862
|
+
});
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
/**
|
|
866
|
+
* Update prebuilt entities
|
|
867
|
+
* ```typescript
|
|
868
|
+
* const result = await knowledgeModels.updatePrebuiltEntities({ kbId: 'kb-id', entity: { name: '', roles: [] } });
|
|
869
|
+
* ```
|
|
870
|
+
*/
|
|
871
|
+
public async updatePrebuiltEntities({ kbId, id, entity }: { kbId: string; id: string; entity: { name: string; roles: string[]; }; }): Promise<Entity> {
|
|
872
|
+
const params = {
|
|
873
|
+
kbId,
|
|
874
|
+
id,
|
|
875
|
+
};
|
|
876
|
+
|
|
877
|
+
return this.callApi<Entity>({
|
|
878
|
+
method: 'PUT',
|
|
879
|
+
route: '/kb/entities/prebuilt',
|
|
880
|
+
data: entity,
|
|
881
|
+
params,
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
/**
|
|
886
|
+
* Delete knowledge base
|
|
887
|
+
* ```typescript
|
|
888
|
+
* await knowledgeModels.deleteKnowledgeBase({ id: 'id' });
|
|
889
|
+
* ```
|
|
890
|
+
*/
|
|
891
|
+
public async deleteKnowledgeBase({ id }: { id: string; }): Promise<void> {
|
|
892
|
+
const params = {
|
|
893
|
+
id,
|
|
894
|
+
};
|
|
895
|
+
|
|
896
|
+
await this.callApi<void>({
|
|
897
|
+
method: 'DELETE',
|
|
898
|
+
route: '/knowledge-base',
|
|
899
|
+
params,
|
|
900
|
+
});
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
/**
|
|
904
|
+
* Delete application
|
|
905
|
+
* ```typescript
|
|
906
|
+
* await knowledgeModels.deleteApplication({ kbId: 'kb-id', appId: 'app-id' });
|
|
907
|
+
* ```
|
|
908
|
+
*/
|
|
909
|
+
public async deleteApplication({ kbId, appId }: { kbId: string; appId: string; }): Promise<void> {
|
|
910
|
+
const params = {
|
|
911
|
+
kbId,
|
|
912
|
+
appId,
|
|
913
|
+
};
|
|
914
|
+
|
|
915
|
+
await this.callApi<void>({
|
|
916
|
+
method: 'DELETE',
|
|
917
|
+
route: '/applications',
|
|
918
|
+
params,
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
/**
|
|
923
|
+
* Delete intent
|
|
924
|
+
* ```typescript
|
|
925
|
+
* await knowledgeModels.deleteIntent({ id: 'id', kbId: 'kb-id', appId: 'app-id' });
|
|
926
|
+
* ```
|
|
927
|
+
*/
|
|
928
|
+
public async deleteIntent({ id, appId, kbId }: { id: string; appId: string; kbId: string; }): Promise<void> {
|
|
929
|
+
const params = {
|
|
930
|
+
id,
|
|
931
|
+
kbId,
|
|
932
|
+
appId,
|
|
933
|
+
deleteUtterances: true,
|
|
934
|
+
};
|
|
935
|
+
|
|
936
|
+
await this.callApi<void>({
|
|
937
|
+
method: 'DELETE',
|
|
938
|
+
route: '/intents',
|
|
939
|
+
params,
|
|
940
|
+
});
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
/**
|
|
944
|
+
* Delete utterance
|
|
945
|
+
* ```typescript
|
|
946
|
+
* await knowledgeModels.deleteUtterance({ id: 'id', kbId: 'kb-id' });
|
|
947
|
+
* ```
|
|
948
|
+
*/
|
|
949
|
+
public async deleteUtterance({ id, kbId }: { id: string; kbId: string; }): Promise<void> {
|
|
950
|
+
const params = {
|
|
951
|
+
id,
|
|
952
|
+
kbId,
|
|
953
|
+
};
|
|
954
|
+
|
|
955
|
+
await this.callApi<void>({
|
|
956
|
+
method: 'DELETE',
|
|
957
|
+
route: '/utterances',
|
|
958
|
+
params,
|
|
959
|
+
});
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
/**
|
|
963
|
+
* Batch delete utterances
|
|
964
|
+
* ```typescript
|
|
965
|
+
* await knowledgeModels.batchDeleteUtterances({ ids: ['id'], kbId: 'kb-id' });
|
|
966
|
+
* ```
|
|
967
|
+
*/
|
|
968
|
+
public async batchDeleteUtterances({ ids, kbId }: { ids: string[]; kbId: string; }): Promise<void> {
|
|
969
|
+
const params = {
|
|
970
|
+
kbId,
|
|
971
|
+
};
|
|
972
|
+
|
|
973
|
+
await this.callApi<void>({
|
|
974
|
+
method: 'POST',
|
|
975
|
+
route: '/utterances/bulk/delete',
|
|
976
|
+
params,
|
|
977
|
+
data: ids,
|
|
978
|
+
});
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
/**
|
|
982
|
+
* Delete pattern
|
|
983
|
+
* ```typescript
|
|
984
|
+
* await knowledgeModels.deletePattern({ id: 'id', kbId: 'kb-id' });
|
|
985
|
+
* ```
|
|
986
|
+
*/
|
|
987
|
+
public async deletePattern({ id, kbId }: { id: string; kbId: string; }): Promise<void> {
|
|
988
|
+
const params = {
|
|
989
|
+
id,
|
|
990
|
+
kbId,
|
|
991
|
+
};
|
|
992
|
+
|
|
993
|
+
await this.callApi<void>({
|
|
994
|
+
method: 'DELETE',
|
|
995
|
+
route: '/patterns',
|
|
996
|
+
params,
|
|
997
|
+
});
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
/**
|
|
1001
|
+
* Delete entity
|
|
1002
|
+
* ```typescript
|
|
1003
|
+
* await knowledgeModels.deleteEntity({ type: 'type', id: 'id', kbId: 'kb-id' });
|
|
1004
|
+
* ```
|
|
1005
|
+
*/
|
|
1006
|
+
public async deleteEntity({ type, id, kbId }: { type: string; id: string; kbId: string; }): Promise<void> {
|
|
1007
|
+
const params = {
|
|
1008
|
+
id,
|
|
1009
|
+
kbId,
|
|
1010
|
+
};
|
|
1011
|
+
|
|
1012
|
+
await this.callApi<void>({
|
|
1013
|
+
method: 'DELETE',
|
|
1014
|
+
route: `/kb/entities/${type}`,
|
|
1015
|
+
params,
|
|
1016
|
+
});
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
/**
|
|
1020
|
+
* Delete feature
|
|
1021
|
+
* ```typescript
|
|
1022
|
+
* await knowledgeModels.deleteFeature({ id: 'id', kbId: 'kb-id' });
|
|
1023
|
+
* ```
|
|
1024
|
+
*/
|
|
1025
|
+
public async deleteFeature({ id, kbId }: { id: string; kbId: string; }): Promise<void> {
|
|
1026
|
+
const params = {
|
|
1027
|
+
id,
|
|
1028
|
+
kbId,
|
|
1029
|
+
};
|
|
1030
|
+
|
|
1031
|
+
await this.callApi<void>({
|
|
1032
|
+
method: 'DELETE',
|
|
1033
|
+
route: '/phraselists',
|
|
1034
|
+
params,
|
|
1035
|
+
});
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
/**
|
|
1039
|
+
* Get training status
|
|
1040
|
+
* ```typescript
|
|
1041
|
+
* const result = await knowledgeModels.getTrainStatus({ kbId: 'kb-id' });
|
|
1042
|
+
* ```
|
|
1043
|
+
*/
|
|
1044
|
+
public async getTrainStatus({ kbId, versionId = null }: { kbId: string; versionId: string | null; }): Promise<TrainStatusResponse> {
|
|
1045
|
+
const params = {
|
|
1046
|
+
kbId,
|
|
1047
|
+
versionId,
|
|
1048
|
+
};
|
|
1049
|
+
|
|
1050
|
+
return this.callApi<TrainStatusResponse>({
|
|
1051
|
+
method: 'GET',
|
|
1052
|
+
route: '/train/status',
|
|
1053
|
+
params,
|
|
1054
|
+
});
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
* Start training
|
|
1059
|
+
* ```typescript
|
|
1060
|
+
* const result = await knowledgeModels.train({ kbId: 'kb-id', flowId: 'flow-id', phraseId: 'phrase-id', sessionId: 'session-id', autoPublish: true });
|
|
1061
|
+
* ```
|
|
1062
|
+
*/
|
|
1063
|
+
public async train({ kbId, flowId, phraseId, sessionId, autoPublish }: { kbId: string; flowId?: string; phraseId?: string; sessionId?: string; autoPublish: boolean; }): Promise<TrainResponse> {
|
|
1064
|
+
const params = {
|
|
1065
|
+
kbId,
|
|
1066
|
+
flowId,
|
|
1067
|
+
phraseId,
|
|
1068
|
+
sessionId,
|
|
1069
|
+
autoPublish,
|
|
1070
|
+
};
|
|
1071
|
+
|
|
1072
|
+
return this.callApi<TrainResponse>({
|
|
1073
|
+
method: 'POST',
|
|
1074
|
+
route: '/kb/train',
|
|
1075
|
+
params,
|
|
1076
|
+
data: null,
|
|
1077
|
+
});
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
/**
|
|
1081
|
+
* Start training for test
|
|
1082
|
+
* ```typescript
|
|
1083
|
+
* const result = await knowledgeModels.trainForTest({ kbId: 'kb-id', flowId: 'flow-id', phraseId: 'phrase-id', sessionId: 'session-id' });
|
|
1084
|
+
* ```
|
|
1085
|
+
*/
|
|
1086
|
+
public async trainForTest({ kbId, flowId, phraseId, sessionId }: { kbId: string; flowId?: string; phraseId?: string; sessionId?: string; }): Promise<TrainResponse> {
|
|
1087
|
+
const params = {
|
|
1088
|
+
kbId,
|
|
1089
|
+
flowId,
|
|
1090
|
+
phraseId,
|
|
1091
|
+
sessionId,
|
|
1092
|
+
};
|
|
1093
|
+
|
|
1094
|
+
return this.callApi<TrainResponse>({
|
|
1095
|
+
method: 'POST',
|
|
1096
|
+
route: '/kb/train/test',
|
|
1097
|
+
params,
|
|
1098
|
+
data: null,
|
|
1099
|
+
});
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
/**
|
|
1103
|
+
* Publish knowledge model
|
|
1104
|
+
* ```typescript
|
|
1105
|
+
* const result = await knowledgeModels.publish({ kbId: 'kb-id' });
|
|
1106
|
+
* ```
|
|
1107
|
+
*/
|
|
1108
|
+
public async publish({ kbId, versionId = null }: { kbId: string; versionId?: string | null; }): Promise<PublishResponse> {
|
|
1109
|
+
const params = {
|
|
1110
|
+
kbId,
|
|
1111
|
+
versionId,
|
|
1112
|
+
};
|
|
1113
|
+
|
|
1114
|
+
return this.callApi<PublishResponse>({
|
|
1115
|
+
method: 'POST',
|
|
1116
|
+
route: '/kb/publish',
|
|
1117
|
+
params,
|
|
1118
|
+
data: null,
|
|
1119
|
+
});
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
* Recover knowledge model version
|
|
1124
|
+
* ```typescript
|
|
1125
|
+
* const result = await knowledgeModels.recover({ kbId: 'kb-id', versionId: 'version-id' });
|
|
1126
|
+
* ```
|
|
1127
|
+
*/
|
|
1128
|
+
public async recover({ kbId, versionId }: { kbId: string; versionId: string; }): Promise<void> {
|
|
1129
|
+
const params = {
|
|
1130
|
+
kbId,
|
|
1131
|
+
versionId,
|
|
1132
|
+
};
|
|
1133
|
+
|
|
1134
|
+
await this.callApi<void>({
|
|
1135
|
+
method: 'POST',
|
|
1136
|
+
route: '/kb/recover',
|
|
1137
|
+
params,
|
|
1138
|
+
data: null,
|
|
1139
|
+
});
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
/**
|
|
1143
|
+
* Delete knowledge model version
|
|
1144
|
+
* ```typescript
|
|
1145
|
+
* const result = await knowledgeModels.recover({ kbId: 'kb-id', versionId: 'version-id' });
|
|
1146
|
+
* ```
|
|
1147
|
+
*/
|
|
1148
|
+
public async deleteVersion({ kbId, versionId }: { kbId: string; versionId: string; }): Promise<void> {
|
|
1149
|
+
const params = {
|
|
1150
|
+
kbId,
|
|
1151
|
+
versionId,
|
|
1152
|
+
};
|
|
1153
|
+
|
|
1154
|
+
await this.callApi<void>({
|
|
1155
|
+
method: 'DELETE',
|
|
1156
|
+
route: '/kb/versions',
|
|
1157
|
+
params,
|
|
1158
|
+
});
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
/**
|
|
1162
|
+
* Clone knowledge model
|
|
1163
|
+
* ```typescript
|
|
1164
|
+
* const result = await knowledgeModels.clone({ kbId: 'kb-id', newName: 'New name' });
|
|
1165
|
+
* ```
|
|
1166
|
+
*/
|
|
1167
|
+
public async clone({ kbId, newName }: { kbId: string; newName: string; }): Promise<CloneResponse> {
|
|
1168
|
+
const data = {
|
|
1169
|
+
newName,
|
|
1170
|
+
};
|
|
1171
|
+
|
|
1172
|
+
const params = {
|
|
1173
|
+
id: kbId,
|
|
1174
|
+
};
|
|
1175
|
+
|
|
1176
|
+
return this.callApi<CloneResponse>({
|
|
1177
|
+
method: 'POST',
|
|
1178
|
+
route: '/knowledge-base/clone',
|
|
1179
|
+
params,
|
|
1180
|
+
data,
|
|
1181
|
+
});
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
/**
|
|
1185
|
+
* Export knowledge model
|
|
1186
|
+
* ```typescript
|
|
1187
|
+
* const file = await knowledgeModels.export({ kbId: 'kb-id', isPublic: true });
|
|
1188
|
+
* ```
|
|
1189
|
+
*/
|
|
1190
|
+
public async export({ kbId, isPublic }: { kbId: string; isPublic?: boolean; }): Promise<string> {
|
|
1191
|
+
const params = {
|
|
1192
|
+
id: kbId,
|
|
1193
|
+
isPublic,
|
|
1194
|
+
};
|
|
1195
|
+
|
|
1196
|
+
return this.callApi<string>({
|
|
1197
|
+
method: 'GET',
|
|
1198
|
+
route: '/knowledge-base/export',
|
|
1199
|
+
params,
|
|
1200
|
+
});
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
* Import knowledge model
|
|
1205
|
+
* ```typescript
|
|
1206
|
+
* const result = await knowledgeModels.import({ fileUrl: 'http://file.url', knowledgeBase: {} });
|
|
1207
|
+
* ```
|
|
1208
|
+
*/
|
|
1209
|
+
public async import({ fileUrl, knowledgeBase }: { fileUrl: string; knowledgeBase: KnowledgeModelCreateParams; }): Promise<ImportResponse> {
|
|
1210
|
+
const data = {
|
|
1211
|
+
fileUrl,
|
|
1212
|
+
knowledgeBase,
|
|
1213
|
+
};
|
|
1214
|
+
|
|
1215
|
+
return this.callApi<ImportResponse>({
|
|
1216
|
+
method: 'POST',
|
|
1217
|
+
route: '/knowledge-base/import',
|
|
1218
|
+
data,
|
|
1219
|
+
});
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
/**
|
|
1223
|
+
* Import knowledge model from JSON
|
|
1224
|
+
* ```typescript
|
|
1225
|
+
* const result = await knowledgeModels.importJson(jsonString);
|
|
1226
|
+
* ```
|
|
1227
|
+
*/
|
|
1228
|
+
public async importJson(data: string): Promise<ImportResponse> {
|
|
1229
|
+
return this.callApi<ImportResponse>({
|
|
1230
|
+
method: 'POST',
|
|
1231
|
+
route: '/knowledge-base/import/json',
|
|
1232
|
+
data,
|
|
1233
|
+
});
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
/**
|
|
1237
|
+
* Import knowledge model from csv
|
|
1238
|
+
* ```typescript
|
|
1239
|
+
* const result = await knowledgeModels.importCsv({ fileUrl: 'http://file.url', knowledgeBase: {}, applicationName: 'appName', delimiter: 'delimiter' });
|
|
1240
|
+
* ```
|
|
1241
|
+
*/
|
|
1242
|
+
public async importCsv({ fileUrl, knowledgeBase, applicationName, delimiter }: { fileUrl: string; knowledgeBase: KnowledgeModelCreateParams; applicationName?: string; delimiter?: string; }): Promise<ImportResponse> {
|
|
1243
|
+
const data = {
|
|
1244
|
+
fileUrl,
|
|
1245
|
+
knowledgeBase,
|
|
1246
|
+
applicationName,
|
|
1247
|
+
delimiter,
|
|
1248
|
+
};
|
|
1249
|
+
|
|
1250
|
+
return this.callApi<ImportResponse>({
|
|
1251
|
+
method: 'POST',
|
|
1252
|
+
route: '/knowledge-base/import/csv',
|
|
1253
|
+
data,
|
|
1254
|
+
});
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
/**
|
|
1258
|
+
* meaning
|
|
1259
|
+
* ```typescript
|
|
1260
|
+
* const result = await knowledgeModels.meaning(???);
|
|
1261
|
+
* ```
|
|
1262
|
+
*/
|
|
1263
|
+
public async meaning(data: {
|
|
1264
|
+
q: string;
|
|
1265
|
+
appId: string;
|
|
1266
|
+
kbId: string;
|
|
1267
|
+
suggestedConfidenceRange?: [number, number];
|
|
1268
|
+
unrecognizedConfidenceRange?: [number, number];
|
|
1269
|
+
allowSuggested: boolean;
|
|
1270
|
+
allowUnrecognized: boolean;
|
|
1271
|
+
spellCheckEnabled?: boolean;
|
|
1272
|
+
phraseId: string;
|
|
1273
|
+
sessionId: string;
|
|
1274
|
+
flowId: string;
|
|
1275
|
+
}): Promise<MeaningResponse> {
|
|
1276
|
+
return this.callApi<MeaningResponse>({
|
|
1277
|
+
method: 'POST',
|
|
1278
|
+
route: '/meaning',
|
|
1279
|
+
data,
|
|
1280
|
+
});
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Test meaning
|
|
1285
|
+
* ```typescript
|
|
1286
|
+
* const result = await knowledgeModels.testMeaning({ q: 'text', appId: 'app-id', kbId: 'kb-id' });
|
|
1287
|
+
* ```
|
|
1288
|
+
*/
|
|
1289
|
+
public async testMeaning({ q, appId, kbId }: { q: string; appId: string; kbId: string; }): Promise<MeaningResponse> {
|
|
1290
|
+
const data = {
|
|
1291
|
+
q,
|
|
1292
|
+
appId,
|
|
1293
|
+
kbId,
|
|
1294
|
+
};
|
|
1295
|
+
|
|
1296
|
+
return this.callApi<MeaningResponse>({
|
|
1297
|
+
method: 'POST',
|
|
1298
|
+
route: '/meaning/test',
|
|
1299
|
+
data,
|
|
1300
|
+
});
|
|
1301
|
+
}
|
|
1302
|
+
}
|