UNPKG

ibm-watson

Version:
910 lines (909 loc) 45.9 kB
"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;