ibm-watson
Version:
Client library to use the IBM Watson Services
910 lines (909 loc) • 45.9 kB
JavaScript
"use strict";
/**
* (C) Copyright IBM Corp. 2017, 2024.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
/**
* IBM OpenAPI SDK Code Generator Version: 3.96.1-5136e54a-20241108-203028
*/
var extend = require("extend");
var ibm_cloud_sdk_core_1 = require("ibm-cloud-sdk-core");
var common_1 = require("../lib/common");
/**
* Analyze various features of text content at scale. Provide text, raw HTML, or a public URL and IBM Watson Natural
* Language Understanding will give you results for the features you request. The service cleans HTML content before
* analysis by default, so the results can ignore most advertisements and other unwanted content.
*
* You can create [custom
* models](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-customizing)
* with Watson Knowledge Studio to detect custom entities and relations in Natural Language Understanding.
*
* API Version: 1.0
* See: https://cloud.ibm.com/docs/natural-language-understanding
*/
var NaturalLanguageUnderstandingV1 = /** @class */ (function (_super) {
__extends(NaturalLanguageUnderstandingV1, _super);
/**
* Construct a NaturalLanguageUnderstandingV1 object.
*
* @param {Object} options - Options for the service.
* @param {string} options.version - Release date of the API version you want to use. Specify dates in YYYY-MM-DD
* format. The current version is `2022-04-07`.
* @param {string} [options.serviceUrl] - The base URL for the service
* @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service.
* @param {string} [options.serviceName] - The name of the service to configure
* @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service. Defaults to environment if not set
* @constructor
* @returns {NaturalLanguageUnderstandingV1}
*/
function NaturalLanguageUnderstandingV1(options) {
var _this = this;
options = options || {};
var _requiredParams = ['version'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(options, _requiredParams, null);
if (_validationErrors) {
throw _validationErrors;
}
if (!options.serviceName) {
options.serviceName = NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME;
}
// If the caller didn't supply an authenticator, construct one from external configuration.
if (!options.authenticator) {
options.authenticator = (0, ibm_cloud_sdk_core_1.getAuthenticatorFromEnvironment)(options.serviceName);
}
_this = _super.call(this, options) || this;
_this.configureService(options.serviceName);
if (options.serviceUrl) {
_this.setServiceUrl(options.serviceUrl);
}
_this.version = options.version;
return _this;
}
/*************************
* analyze
************************/
/**
* Analyze text.
*
* Analyzes text, HTML, or a public webpage for the following features:
* - Categories
* - Classifications
* - Concepts
* - Emotion
* - Entities
* - Keywords
* - Metadata
* - Relations
* - Semantic roles
* - Sentiment
* - Syntax
*
* If a language for the input text is not specified with the `language` parameter, the service [automatically detects
* the
* language](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-detectable-languages).
*
* @param {Object} params - The parameters to send to the service.
* @param {Features} params.features - Specific features to analyze the document for.
* @param {string} [params.text] - The plain text to analyze. One of the `text`, `html`, or `url` parameters is
* required.
* @param {string} [params.html] - The HTML file to analyze. One of the `text`, `html`, or `url` parameters is
* required.
* @param {string} [params.url] - The webpage to analyze. One of the `text`, `html`, or `url` parameters is required.
* @param {boolean} [params.clean] - Set this to `false` to disable webpage cleaning. For more information about
* webpage cleaning, see [Analyzing
* webpages](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-analyzing-webpages).
* @param {string} [params.xpath] - An [XPath
* query](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-analyzing-webpages#xpath)
* to perform on `html` or `url` input. Results of the query will be appended to the cleaned webpage text before it is
* analyzed. To analyze only the results of the XPath query, set the `clean` parameter to `false`.
* @param {boolean} [params.fallbackToRaw] - Whether to use raw HTML content if text cleaning fails.
* @param {boolean} [params.returnAnalyzedText] - Whether or not to return the analyzed text.
* @param {string} [params.language] - ISO 639-1 code that specifies the language of your text. This overrides
* automatic language detection. Language support differs depending on the features you include in your analysis. For
* more information, see [Language
* support](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-language-support).
* @param {number} [params.limitTextCharacters] - Sets the maximum number of characters that are processed by the
* service.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.AnalysisResults>>}
*/
NaturalLanguageUnderstandingV1.prototype.analyze = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['features'];
var _validParams = ['features', 'text', 'html', 'url', 'clean', 'xpath', 'fallbackToRaw', 'returnAnalyzedText', 'language', 'limitTextCharacters', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var body = {
'features': _params.features,
'text': _params.text,
'html': _params.html,
'url': _params.url,
'clean': _params.clean,
'xpath': _params.xpath,
'fallback_to_raw': _params.fallbackToRaw,
'return_analyzed_text': _params.returnAnalyzedText,
'language': _params.language,
'limit_text_characters': _params.limitTextCharacters,
};
var query = {
'version': this.version,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'analyze');
var parameters = {
options: {
url: '/v1/analyze',
method: 'POST',
body: body,
qs: query,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/*************************
* manageModels
************************/
/**
* List models.
*
* Lists Watson Knowledge Studio [custom entities and relations
* models](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-customizing)
* that are deployed to your Natural Language Understanding service.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.ListModelsResults>>}
*/
NaturalLanguageUnderstandingV1.prototype.listModels = function (params) {
var _params = __assign({}, params);
var _requiredParams = [];
var _validParams = ['headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'listModels');
var parameters = {
options: {
url: '/v1/models',
method: 'GET',
qs: query,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* Delete model.
*
* Deletes a custom model.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.modelId - Model ID of the model to delete.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.DeleteModelResults>>}
*/
NaturalLanguageUnderstandingV1.prototype.deleteModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['modelId'];
var _validParams = ['modelId', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var path = {
'model_id': _params.modelId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'deleteModel');
var parameters = {
options: {
url: '/v1/models/{model_id}',
method: 'DELETE',
qs: query,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/*************************
* manageCategoriesModels
************************/
/**
* Create categories model.
*
* (Beta) Creates a custom categories model by uploading training data and associated metadata. The model begins the
* training and deploying process and is ready to use when the `status` is `available`.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.language - The 2-letter language code of this model.
* @param {NodeJS.ReadableStream | Buffer} params.trainingData - Training data in JSON format. For more information,
* see [Categories training data
* requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-categories##categories-training-data-requirements).
* @param {string} [params.trainingDataContentType] - The content type of trainingData.
* @param {string} [params.name] - An optional name for the model.
* @param {JsonObject} [params.userMetadata] - An optional map of metadata key-value pairs to store with this model.
* @param {string} [params.description] - An optional description of the model.
* @param {string} [params.modelVersion] - An optional version string.
* @param {string} [params.workspaceId] - ID of the Watson Knowledge Studio workspace that deployed this model to
* Natural Language Understanding.
* @param {string} [params.versionDescription] - The description of the version.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.CategoriesModel>>}
*/
NaturalLanguageUnderstandingV1.prototype.createCategoriesModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['language', 'trainingData'];
var _validParams = ['language', 'trainingData', 'trainingDataContentType', 'name', 'userMetadata', 'description', 'modelVersion', 'workspaceId', 'versionDescription', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var formData = {
'language': _params.language,
'training_data': {
data: _params.trainingData,
contentType: _params.trainingDataContentType,
},
'name': _params.name,
'user_metadata': _params.userMetadata,
'description': _params.description,
'model_version': _params.modelVersion,
'workspace_id': _params.workspaceId,
'version_description': _params.versionDescription,
};
var query = {
'version': this.version,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'createCategoriesModel');
var parameters = {
options: {
url: '/v1/models/categories',
method: 'POST',
qs: query,
formData: formData
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* List categories models.
*
* (Beta) Returns all custom categories models associated with this service instance.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.CategoriesModelList>>}
*/
NaturalLanguageUnderstandingV1.prototype.listCategoriesModels = function (params) {
var _params = __assign({}, params);
var _requiredParams = [];
var _validParams = ['headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'listCategoriesModels');
var parameters = {
options: {
url: '/v1/models/categories',
method: 'GET',
qs: query,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* Get categories model details.
*
* (Beta) Returns the status of the categories model with the given model ID.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.modelId - ID of the model.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.CategoriesModel>>}
*/
NaturalLanguageUnderstandingV1.prototype.getCategoriesModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['modelId'];
var _validParams = ['modelId', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var path = {
'model_id': _params.modelId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'getCategoriesModel');
var parameters = {
options: {
url: '/v1/models/categories/{model_id}',
method: 'GET',
qs: query,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* Update categories model.
*
* (Beta) Overwrites the training data associated with this custom categories model and retrains the model. The new
* model replaces the current deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.modelId - ID of the model.
* @param {string} params.language - The 2-letter language code of this model.
* @param {NodeJS.ReadableStream | Buffer} params.trainingData - Training data in JSON format. For more information,
* see [Categories training data
* requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-categories##categories-training-data-requirements).
* @param {string} [params.trainingDataContentType] - The content type of trainingData.
* @param {string} [params.name] - An optional name for the model.
* @param {JsonObject} [params.userMetadata] - An optional map of metadata key-value pairs to store with this model.
* @param {string} [params.description] - An optional description of the model.
* @param {string} [params.modelVersion] - An optional version string.
* @param {string} [params.workspaceId] - ID of the Watson Knowledge Studio workspace that deployed this model to
* Natural Language Understanding.
* @param {string} [params.versionDescription] - The description of the version.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.CategoriesModel>>}
*/
NaturalLanguageUnderstandingV1.prototype.updateCategoriesModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['modelId', 'language', 'trainingData'];
var _validParams = ['modelId', 'language', 'trainingData', 'trainingDataContentType', 'name', 'userMetadata', 'description', 'modelVersion', 'workspaceId', 'versionDescription', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var formData = {
'language': _params.language,
'training_data': {
data: _params.trainingData,
contentType: _params.trainingDataContentType,
},
'name': _params.name,
'user_metadata': _params.userMetadata,
'description': _params.description,
'model_version': _params.modelVersion,
'workspace_id': _params.workspaceId,
'version_description': _params.versionDescription,
};
var query = {
'version': this.version,
};
var path = {
'model_id': _params.modelId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'updateCategoriesModel');
var parameters = {
options: {
url: '/v1/models/categories/{model_id}',
method: 'PUT',
qs: query,
path: path,
formData: formData
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* Delete categories model.
*
* (Beta) Un-deploys the custom categories model with the given model ID and deletes all associated customer data,
* including any training data or binary artifacts.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.modelId - ID of the model.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.DeleteModelResults>>}
*/
NaturalLanguageUnderstandingV1.prototype.deleteCategoriesModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['modelId'];
var _validParams = ['modelId', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var path = {
'model_id': _params.modelId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'deleteCategoriesModel');
var parameters = {
options: {
url: '/v1/models/categories/{model_id}',
method: 'DELETE',
qs: query,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/*************************
* manageClassificationsModels
************************/
/**
* Create classifications model.
*
* Creates a custom classifications model by uploading training data and associated metadata. The model begins the
* training and deploying process and is ready to use when the `status` is `available`.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.language - The 2-letter language code of this model.
* @param {NodeJS.ReadableStream | Buffer} params.trainingData - Training data in JSON format. For more information,
* see [Classifications training data
* requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-classifications#classification-training-data-requirements).
* @param {string} [params.trainingDataContentType] - The content type of trainingData.
* @param {string} [params.name] - An optional name for the model.
* @param {JsonObject} [params.userMetadata] - An optional map of metadata key-value pairs to store with this model.
* @param {string} [params.description] - An optional description of the model.
* @param {string} [params.modelVersion] - An optional version string.
* @param {string} [params.workspaceId] - ID of the Watson Knowledge Studio workspace that deployed this model to
* Natural Language Understanding.
* @param {string} [params.versionDescription] - The description of the version.
* @param {ClassificationsTrainingParameters} [params.trainingParameters] - Optional classifications training
* parameters along with model train requests.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.ClassificationsModel>>}
*/
NaturalLanguageUnderstandingV1.prototype.createClassificationsModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['language', 'trainingData'];
var _validParams = ['language', 'trainingData', 'trainingDataContentType', 'name', 'userMetadata', 'description', 'modelVersion', 'workspaceId', 'versionDescription', 'trainingParameters', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var formData = {
'language': _params.language,
'training_data': {
data: _params.trainingData,
contentType: _params.trainingDataContentType,
},
'name': _params.name,
'user_metadata': _params.userMetadata,
'description': _params.description,
'model_version': _params.modelVersion,
'workspace_id': _params.workspaceId,
'version_description': _params.versionDescription,
'training_parameters': _params.trainingParameters,
};
var query = {
'version': this.version,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'createClassificationsModel');
var parameters = {
options: {
url: '/v1/models/classifications',
method: 'POST',
qs: query,
formData: formData
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* List classifications models.
*
* Returns all custom classifications models associated with this service instance.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.ClassificationsModelList>>}
*/
NaturalLanguageUnderstandingV1.prototype.listClassificationsModels = function (params) {
var _params = __assign({}, params);
var _requiredParams = [];
var _validParams = ['headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'listClassificationsModels');
var parameters = {
options: {
url: '/v1/models/classifications',
method: 'GET',
qs: query,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* Get classifications model details.
*
* Returns the status of the classifications model with the given model ID.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.modelId - ID of the model.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.ClassificationsModel>>}
*/
NaturalLanguageUnderstandingV1.prototype.getClassificationsModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['modelId'];
var _validParams = ['modelId', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var path = {
'model_id': _params.modelId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'getClassificationsModel');
var parameters = {
options: {
url: '/v1/models/classifications/{model_id}',
method: 'GET',
qs: query,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* Update classifications model.
*
* Overwrites the training data associated with this custom classifications model and retrains the model. The new
* model replaces the current deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.modelId - ID of the model.
* @param {string} params.language - The 2-letter language code of this model.
* @param {NodeJS.ReadableStream | Buffer} params.trainingData - Training data in JSON format. For more information,
* see [Classifications training data
* requirements](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-classifications#classification-training-data-requirements).
* @param {string} [params.trainingDataContentType] - The content type of trainingData.
* @param {string} [params.name] - An optional name for the model.
* @param {JsonObject} [params.userMetadata] - An optional map of metadata key-value pairs to store with this model.
* @param {string} [params.description] - An optional description of the model.
* @param {string} [params.modelVersion] - An optional version string.
* @param {string} [params.workspaceId] - ID of the Watson Knowledge Studio workspace that deployed this model to
* Natural Language Understanding.
* @param {string} [params.versionDescription] - The description of the version.
* @param {ClassificationsTrainingParameters} [params.trainingParameters] - Optional classifications training
* parameters along with model train requests.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.ClassificationsModel>>}
*/
NaturalLanguageUnderstandingV1.prototype.updateClassificationsModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['modelId', 'language', 'trainingData'];
var _validParams = ['modelId', 'language', 'trainingData', 'trainingDataContentType', 'name', 'userMetadata', 'description', 'modelVersion', 'workspaceId', 'versionDescription', 'trainingParameters', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var formData = {
'language': _params.language,
'training_data': {
data: _params.trainingData,
contentType: _params.trainingDataContentType,
},
'name': _params.name,
'user_metadata': _params.userMetadata,
'description': _params.description,
'model_version': _params.modelVersion,
'workspace_id': _params.workspaceId,
'version_description': _params.versionDescription,
'training_parameters': _params.trainingParameters,
};
var query = {
'version': this.version,
};
var path = {
'model_id': _params.modelId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'updateClassificationsModel');
var parameters = {
options: {
url: '/v1/models/classifications/{model_id}',
method: 'PUT',
qs: query,
path: path,
formData: formData
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
/**
* Delete classifications model.
*
* Un-deploys the custom classifications model with the given model ID and deletes all associated customer data,
* including any training data or binary artifacts.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.modelId - ID of the model.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<NaturalLanguageUnderstandingV1.Response<NaturalLanguageUnderstandingV1.DeleteModelResults>>}
*/
NaturalLanguageUnderstandingV1.prototype.deleteClassificationsModel = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['modelId'];
var _validParams = ['modelId', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'version': this.version,
};
var path = {
'model_id': _params.modelId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME, 'v1', 'deleteClassificationsModel');
var parameters = {
options: {
url: '/v1/models/classifications/{model_id}',
method: 'DELETE',
qs: query,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_URL = 'https://api.us-south.natural-language-understanding.watson.cloud.ibm.com';
NaturalLanguageUnderstandingV1.DEFAULT_SERVICE_NAME = 'natural-language-understanding';
return NaturalLanguageUnderstandingV1;
}(ibm_cloud_sdk_core_1.BaseService));
/*************************
* interfaces
************************/
(function (NaturalLanguageUnderstandingV1) {
/** Constants for the `createCategoriesModel` operation. */
var CreateCategoriesModelConstants;
(function (CreateCategoriesModelConstants) {
/** The content type of trainingData. */
var TrainingDataContentType;
(function (TrainingDataContentType) {
TrainingDataContentType["JSON"] = "json";
TrainingDataContentType["APPLICATION_JSON"] = "application/json";
})(TrainingDataContentType = CreateCategoriesModelConstants.TrainingDataContentType || (CreateCategoriesModelConstants.TrainingDataContentType = {}));
})(CreateCategoriesModelConstants = NaturalLanguageUnderstandingV1.CreateCategoriesModelConstants || (NaturalLanguageUnderstandingV1.CreateCategoriesModelConstants = {}));
/** Constants for the `updateCategoriesModel` operation. */
var UpdateCategoriesModelConstants;
(function (UpdateCategoriesModelConstants) {
/** The content type of trainingData. */
var TrainingDataContentType;
(function (TrainingDataContentType) {
TrainingDataContentType["JSON"] = "json";
TrainingDataContentType["APPLICATION_JSON"] = "application/json";
})(TrainingDataContentType = UpdateCategoriesModelConstants.TrainingDataContentType || (UpdateCategoriesModelConstants.TrainingDataContentType = {}));
})(UpdateCategoriesModelConstants = NaturalLanguageUnderstandingV1.UpdateCategoriesModelConstants || (NaturalLanguageUnderstandingV1.UpdateCategoriesModelConstants = {}));
/** Constants for the `createClassificationsModel` operation. */
var CreateClassificationsModelConstants;
(function (CreateClassificationsModelConstants) {
/** The content type of trainingData. */
var TrainingDataContentType;
(function (TrainingDataContentType) {
TrainingDataContentType["JSON"] = "json";
TrainingDataContentType["APPLICATION_JSON"] = "application/json";
})(TrainingDataContentType = CreateClassificationsModelConstants.TrainingDataContentType || (CreateClassificationsModelConstants.TrainingDataContentType = {}));
})(CreateClassificationsModelConstants = NaturalLanguageUnderstandingV1.CreateClassificationsModelConstants || (NaturalLanguageUnderstandingV1.CreateClassificationsModelConstants = {}));
/** Constants for the `updateClassificationsModel` operation. */
var UpdateClassificationsModelConstants;
(function (UpdateClassificationsModelConstants) {
/** The content type of trainingData. */
var TrainingDataContentType;
(function (TrainingDataContentType) {
TrainingDataContentType["JSON"] = "json";
TrainingDataContentType["APPLICATION_JSON"] = "application/json";
})(TrainingDataContentType = UpdateClassificationsModelConstants.TrainingDataContentType || (UpdateClassificationsModelConstants.TrainingDataContentType = {}));
})(UpdateClassificationsModelConstants = NaturalLanguageUnderstandingV1.UpdateClassificationsModelConstants || (NaturalLanguageUnderstandingV1.UpdateClassificationsModelConstants = {}));
var CategoriesModel;
(function (CategoriesModel) {
var Constants;
(function (Constants) {
/** When the status is `available`, the model is ready to use. */
var Status;
(function (Status) {
Status["STARTING"] = "starting";
Status["TRAINING"] = "training";
Status["DEPLOYING"] = "deploying";
Status["AVAILABLE"] = "available";
Status["ERROR"] = "error";
Status["DELETED"] = "deleted";
})(Status = Constants.Status || (Constants.Status = {}));
})(Constants = CategoriesModel.Constants || (CategoriesModel.Constants = {}));
})(CategoriesModel = NaturalLanguageUnderstandingV1.CategoriesModel || (NaturalLanguageUnderstandingV1.CategoriesModel = {}));
var ClassificationsModel;
(function (ClassificationsModel) {
var Constants;
(function (Constants) {
/** When the status is `available`, the model is ready to use. */
var Status;
(function (Status) {
Status["STARTING"] = "starting";
Status["TRAINING"] = "training";
Status["DEPLOYING"] = "deploying";
Status["AVAILABLE"] = "available";
Status["ERROR"] = "error";
Status["DELETED"] = "deleted";
})(Status = Constants.Status || (Constants.Status = {}));
})(Constants = ClassificationsModel.Constants || (ClassificationsModel.Constants = {}));
})(ClassificationsModel = NaturalLanguageUnderstandingV1.ClassificationsModel || (NaturalLanguageUnderstandingV1.ClassificationsModel = {}));
var ClassificationsTrainingParameters;
(function (ClassificationsTrainingParameters) {
var Constants;
(function (Constants) {
/** Model type selector to train either a single_label or a multi_label classifier. */
var ModelType;
(function (ModelType) {
ModelType["SINGLE_LABEL"] = "single_label";
ModelType["MULTI_LABEL"] = "multi_label";
})(ModelType = Constants.ModelType || (Constants.ModelType = {}));
})(Constants = ClassificationsTrainingParameters.Constants || (ClassificationsTrainingParameters.Constants = {}));
})(ClassificationsTrainingParameters = NaturalLanguageUnderstandingV1.ClassificationsTrainingParameters || (NaturalLanguageUnderstandingV1.ClassificationsTrainingParameters = {}));
var Model;
(function (Model) {
var Constants;
(function (Constants) {
/** When the status is `available`, the model is ready to use. */
var Status;
(function (Status) {
Status["STARTING"] = "starting";
Status["TRAINING"] = "training";
Status["DEPLOYING"] = "deploying";
Status["AVAILABLE"] = "available";
Status["ERROR"] = "error";
Status["DELETED"] = "deleted";
})(Status = Constants.Status || (Constants.Status = {}));
})(Constants = Model.Constants || (Model.Constants = {}));
})(Model = NaturalLanguageUnderstandingV1.Model || (NaturalLanguageUnderstandingV1.Model = {}));
var TokenResult;
(function (TokenResult) {
var Constants;
(function (Constants) {
/** The part of speech of the token. For more information about the values, see [Universal Dependencies POS tags](https://universaldependencies.org/u/pos/). */
var PartOfSpeech;
(function (PartOfSpeech) {
PartOfSpeech["ADJ"] = "ADJ";
PartOfSpeech["ADP"] = "ADP";
PartOfSpeech["ADV"] = "ADV";
PartOfSpeech["AUX"] = "AUX";
PartOfSpeech["CCONJ"] = "CCONJ";
PartOfSpeech["DET"] = "DET";
PartOfSpeech["INTJ"] = "INTJ";
PartOfSpeech["NOUN"] = "NOUN";
PartOfSpeech["NUM"] = "NUM";
PartOfSpeech["PART"] = "PART";
PartOfSpeech["PRON"] = "PRON";
PartOfSpeech["PROPN"] = "PROPN";
PartOfSpeech["PUNCT"] = "PUNCT";
PartOfSpeech["SCONJ"] = "SCONJ";
PartOfSpeech["SYM"] = "SYM";
PartOfSpeech["VERB"] = "VERB";
PartOfSpeech["X"] = "X";
})(PartOfSpeech = Constants.PartOfSpeech || (Constants.PartOfSpeech = {}));
})(Constants = TokenResult.Constants || (TokenResult.Constants = {}));
})(TokenResult = NaturalLanguageUnderstandingV1.TokenResult || (NaturalLanguageUnderstandingV1.TokenResult = {}));
})(NaturalLanguageUnderstandingV1 || (NaturalLanguageUnderstandingV1 = {}));
module.exports = NaturalLanguageUnderstandingV1;