/// <summary> /// Delete a specific model by it's ID. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="model_id">The model to delete.</param> /// <returns></returns> public bool DeleteModel(SuccessCallback <DeleteModelResult> successCallback, FailCallback failCallback, string model_id, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(model_id)) { throw new ArgumentNullException("model_id"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v2/models/"); if (connector == null) { return(false); } DeleteModelReq req = new DeleteModelReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.Function = WWW.EscapeURL(model_id); req.OnResponse = DeleteModelResponse; req.Delete = true; return(connector.Send(req)); }
/// <summary> /// Translate the provided text using the specified source and target. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="text">The text to translate.</param> /// <param name="source">The ID of the source language.</param> /// <param name="target">The ID of the target language.</param> /// <returns>Returns true on success.</returns> public bool GetTranslation(SuccessCallback <Translations> successCallback, FailCallback failCallback, string text, string source, string target, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException("text"); } if (string.IsNullOrEmpty(source)) { throw new ArgumentNullException("source"); } if (string.IsNullOrEmpty(target)) { throw new ArgumentNullException("target"); } Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters["source"] = source; parameters["target"] = target; parameters["text"] = new string[] { text }; return(GetTranslation(successCallback, failCallback, Json.Serialize(parameters), customData)); }
/// <summary> /// Identifies a language from the given text. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="text">The text sample to ID.</param> /// <returns></returns> public bool Identify(SuccessCallback <IdentifiedLanguages> successCallback, FailCallback failCallback, string text, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException("text"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v2/identify"); if (connector == null) { return(false); } IdentifyReq req = new IdentifyReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.Send = Encoding.UTF8.GetBytes(text); req.Headers["Content-Type"] = "text/plain"; req.Headers["Accept"] = "application/json"; req.OnResponse = OnIdentifyResponse; return(connector.Send(req)); }
/// <summary> /// Lists available models for Relations and Entities features, including Watson Knowledge Studio /// custom models that you have created and linked to your Natural Language Understanding service. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="customData">Optional custom data.</param> /// <returns>True if the call succeeds, false if the call is unsuccessful.</returns> public bool GetModels(SuccessCallback <ListModelsResults> successCallback, FailCallback failCallback, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } GetModelsRequest req = new GetModelsRequest(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.Parameters["version"] = NaturalLanguageUnderstandingVersion.Version; req.OnResponse = OnGetModelsResponse; RESTConnector connector = RESTConnector.GetConnector(Credentials, ModelsEndpoint); if (connector == null) { return(false); } return(connector.Send(req)); }
/// <summary> /// Retrieve the translation models with optional filters. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="sourceFilter">Optional source language filter.</param> /// <param name="targetFilter">Optional target language filter.</param> /// <param name="defaults">Controls if we get default, non-default, or all models.</param> /// <returns>Returns a true on success, false if it failed to submit the request.</returns> public bool GetModels(SuccessCallback <TranslationModels> successCallback, FailCallback failCallback, string sourceFilter = null, string targetFilter = null, TypeFilter defaults = TypeFilter.ALL, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v3/models"); if (connector == null) { return(false); } GetModelsReq req = new GetModelsReq(); req.Parameters["version"] = VersionDate; req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbGET; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = GetModelsResponse; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=language_translator;service_version=v3;operation_id=GetModels"; if (!string.IsNullOrEmpty(sourceFilter)) { req.Parameters["source"] = sourceFilter; } if (!string.IsNullOrEmpty(targetFilter)) { req.Parameters["target"] = targetFilter; } if (defaults == TypeFilter.DEFAULT) { req.Parameters["default"] = "true"; } else if (defaults == TypeFilter.NON_DEFAULT) { req.Parameters["default"] = "false"; } return(connector.Send(req)); }
/// <summary> /// Returns a dilemma that contains the problem and a resolution. The problem contains a set of options and objectives. The resolution /// contains a set of optimal options, their analytical characteristics, and by default their representation on a two-dimensional space. /// You can optionally request that the service also return a refined set of preferable options that are most likely to appeal to the /// greatest number of users /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="problem">The decision problem.</param> /// <param name="generateVisualization">Indicates whether to calculate the map visualization. If true, the visualization is returned if /// the is_objective field is true for at least three columns and at least three options have a status of FRONT in the problem resolution.</param> /// <param name="customData">Optional custom data.</param> /// <returns></returns> public bool GetDilemma(SuccessCallback <DilemmasResponse> successCallback, FailCallback failCallback, Problem problem, Boolean generateVisualization, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, DillemaEndpoint); if (connector == null) { return(false); } GetDilemmaRequest req = new GetDilemmaRequest(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.OnResponse = GetDilemmaResponse; req.Parameters["generate_visualization"] = generateVisualization.ToString(); fsData tempData = null; _serializer.TrySerialize <Problem>(problem, out tempData); req.Send = Encoding.UTF8.GetBytes(tempData.ToString()); req.Headers["Content-Type"] = "application/json"; return(connector.Send(req)); }
private bool GetTranslation(SuccessCallback <Translations> successCallback, FailCallback failCallback, string json, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(json)) { throw new ArgumentNullException("json"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v2/translate"); if (connector == null) { return(false); } TranslateReq req = new TranslateReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.OnResponse = TranslateResponse; req.Send = Encoding.UTF8.GetBytes(json); req.Headers["accept"] = "application/json"; req.Headers["Content-Type"] = "application/json"; return(connector.Send(req)); }
/// <summary> /// Returns an array of all classifiers to the callback function. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <returns>Returns true if the request is submitted.</returns> public bool GetClassifiers(SuccessCallback <Classifiers> successCallback, FailCallback failCallback, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers"); if (connector == null) { return(false); } GetClassifiersReq req = new GetClassifiersReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.OnResponse = OnGetClassifiersResp; return(connector.Send(req)); }
/// <summary> /// Refresh an IAM token using a refresh token. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="customData">Dictionary of custom data.</param> /// <returns></returns> public bool RefreshIamToken(SuccessCallback<IamTokenData> successCallback, FailCallback failCallback, Dictionary<string, object> customData = null) { if (successCallback == null) throw new ArgumentNullException("successCallback"); if (failCallback == null) throw new ArgumentNullException("failCallback"); RESTConnector connector = new RESTConnector(); connector.URL = _iamUrl; if (connector == null) return false; RefreshIamTokenRequest req = new RefreshIamTokenRequest(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.Headers.Add("Content-type", "application/x-www-form-urlencoded"); req.Headers.Add("Authorization", "Basic Yng6Yng="); req.OnResponse = OnRefreshIamTokenResponse; req.CustomData = customData == null ? new Dictionary<string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair<string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary<string, string>) { req.Headers.Add(kvp.Key, kvp.Value); } } req.Forms = new Dictionary<string, RESTConnector.Form>(); req.Forms["grant_type"] = new RESTConnector.Form("refresh_token"); req.Forms["refresh_token"] = new RESTConnector.Form(_iamTokenData.RefreshToken); return connector.Send(req); }
/// <summary> /// Returns an array of all classifiers to the callback function. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <returns>Returns true if the request is submitted.</returns> public bool GetClassifiers(SuccessCallback <Classifiers> successCallback, FailCallback failCallback, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers"); if (connector == null) { return(false); } GetClassifiersReq req = new GetClassifiersReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = OnGetClassifiersResp; return(connector.Send(req)); }
/// <summary> /// Deletes the specified model. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="modelId">The model identifier.</param> /// <param name="customData">Optional custom data.</param> /// <returns>True if the call succeeds, false if the call is unsuccessful.</returns> public bool DeleteModel(SuccessCallback <bool> successCallback, FailCallback failCallback, string modelId, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(modelId)) { throw new ArgumentNullException("modelId"); } DeleteModelRequest req = new DeleteModelRequest(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.Parameters["version"] = NaturalLanguageUnderstandingVersion.Version; req.OnResponse = OnDeleteModelResponse; req.Delete = true; RESTConnector connector = RESTConnector.GetConnector(Credentials, string.Format(ModelEndpoint, modelId)); if (connector == null) { return(false); } return(connector.Send(req)); }
/// <summary> /// Deletes the specified classifier. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="classifierId">The ID of the classifier.</param> /// <returns>Returns false if we failed to submit a request.</returns> public bool DeleteClassifer(SuccessCallback <bool> successCallback, FailCallback failCallback, string classifierId, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(classifierId)) { throw new ArgumentNullException("classiferId"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers/" + classifierId); if (connector == null) { return(false); } DeleteClassifierReq req = new DeleteClassifierReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.OnResponse = OnDeleteClassifierResp; req.Delete = true; return(connector.Send(req)); }
public SamuraiWorker(List <Title> titles, TitlelistCallback calllist, CurrentStatusCallback callint, FailCallback callfail) { this.titles = titles; this.calllist = calllist; this.callint = callint; this.callfail = callfail; }
/// <summary> /// Lists available models for Relations and Entities features, including Watson Knowledge Studio /// custom models that you have created and linked to your Natural Language Understanding service. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="customData">Optional custom data.</param> /// <returns>True if the call succeeds, false if the call is unsuccessful.</returns> public bool GetModels(SuccessCallback <ListModelsResults> successCallback, FailCallback failCallback, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } GetModelsRequest req = new GetModelsRequest(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.Parameters["version"] = NaturalLanguageUnderstandingVersion.Version; req.OnResponse = OnGetModelsResponse; RESTConnector connector = RESTConnector.GetConnector(Credentials, ModelsEndpoint); if (connector == null) { return(false); } return(connector.Send(req)); }
/// <summary> /// Train a new classifier. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="classifierName">A name to give the classifier.</param> /// <param name="language">Language of the classifier.</param> /// <param name="trainingData">CSV training data.</param> /// <returns>Returns true if training data was submitted correctly.</returns> public bool TrainClassifier(SuccessCallback <Classifier> successCallback, FailCallback failCallback, string classifierName, string language, string trainingData, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(classifierName)) { throw new ArgumentNullException("classifierId"); } if (string.IsNullOrEmpty(language)) { throw new ArgumentNullException("language"); } if (string.IsNullOrEmpty(trainingData)) { throw new ArgumentNullException("trainingData"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers"); if (connector == null) { return(false); } Dictionary <string, object> trainingMetaData = new Dictionary <string, object>(); trainingMetaData["language"] = language; trainingMetaData["name"] = classifierName; TrainClassifierReq req = new TrainClassifierReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbPOST; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = OnTrainClassifierResp; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=natural_language_classifier;service_version=v1;operation_id=TrainClassifier"; req.Forms = new Dictionary <string, RESTConnector.Form>(); req.Forms["training_metadata"] = new RESTConnector.Form(Encoding.UTF8.GetBytes(Json.Serialize(trainingMetaData))); req.Forms["training_data"] = new RESTConnector.Form(Encoding.UTF8.GetBytes(trainingData)); return(connector.Send(req)); }
private Operation asyncGET(string _url, SuccessCallback _onSuccess, FailCallback _onFail) { this.LogTrace(_url); Agent agent = new Agent(); Operation operation = new Operation(agent); mono.StartCoroutine(get(_url, operation, agent, _onSuccess, _onFail)); return(operation); }
public NinjaWorker(uint start, uint count, string type, TitlelistCallback callback, CurrentStatusCallback callint, FailCallback callfail) { this.start = start; this.count = count; this.type = type; this.callback = callback; this.callint = callint; this.callfail = callfail; }
public SignInObject(CampaignAppServerConnection connection, String usernameOrEmail, String password, Action successCallback, FailCallback failCallback) { this.connection = connection; this.usernameOrEmail = usernameOrEmail; this.password = password; this.successCallback = successCallback; this.failCallback = failCallback; }
/// <summary> /// Send user input to assistant. /// /// Send user input to an assistant and receive a response. /// /// There is no rate limit for this operation. /// </summary> /// <param name="successCallback">The function that is called when the operation is successful.</param> /// <param name="failCallback">The function that is called when the operation fails.</param> /// <param name="assistantId">Unique identifier of the assistant. You can find the assistant ID of an assistant /// on the **Assistants** tab of the Watson Assistant tool. For information about creating assistants, see the /// [documentation](https://cloud.ibm.com/docs/services/assistant/create-assistant.html#creating-assistants). /// /// **Note:** Currently, the v2 API does not support creating assistants.</param> /// <param name="sessionId">Unique identifier of the session.</param> /// <param name="request">The message to be sent. This includes the user's input, along with optional intents, /// entities, and context from the last response. (optional)</param> /// <returns><see cref="MessageResponse" />MessageResponse</returns> /// <param name="customData">A Dictionary<string, object> of data that will be passed to the callback. The raw /// json output from the REST call will be passed in this object as the value of the 'json' /// key.</string></param> public bool Message(SuccessCallback <MessageResponse> successCallback, FailCallback failCallback, String assistantId, String sessionId, MessageRequest request = null, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback is required for Message"); } if (failCallback == null) { throw new ArgumentNullException("failCallback is required for Message"); } if (string.IsNullOrEmpty(assistantId)) { throw new ArgumentException("assistantId is required for Message"); } if (string.IsNullOrEmpty(sessionId)) { throw new ArgumentException("sessionId is required for Message"); } MessageRequestObj req = new MessageRequestObj(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbPOST; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } if (request != null) { fsData data = null; _serializer.TrySerialize(request, out data); string json = data.ToString().Replace('\"', '"'); req.Send = Encoding.UTF8.GetBytes(json); } req.Headers["Content-Type"] = "application/json"; req.Parameters["version"] = VersionDate; req.OnResponse = OnMessageResponse; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=conversation;service_version=v2;operation_id=Message"; RESTConnector connector = RESTConnector.GetConnector(Credentials, string.Format("/v2/assistants/{0}/sessions/{1}/message", assistantId, sessionId)); if (connector == null) { return(false); } return(connector.Send(req)); }
/// <summary> /// Retrieve the translation models with optional filters. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="sourceFilter">Optional source language filter.</param> /// <param name="targetFilter">Optional target language filter.</param> /// <param name="defaults">Controls if we get default, non-default, or all models.</param> /// <returns>Returns a true on success, false if it failed to submit the request.</returns> public bool GetModels(SuccessCallback <TranslationModels> successCallback, FailCallback failCallback, string sourceFilter = null, string targetFilter = null, TypeFilter defaults = TypeFilter.ALL, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v2/models"); if (connector == null) { return(false); } GetModelsReq req = new GetModelsReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = GetModelsResponse; if (!string.IsNullOrEmpty(sourceFilter)) { req.Parameters["source"] = sourceFilter; } if (!string.IsNullOrEmpty(targetFilter)) { req.Parameters["target"] = targetFilter; } if (defaults == TypeFilter.DEFAULT) { req.Parameters["default"] = "true"; } else if (defaults == TypeFilter.NON_DEFAULT) { req.Parameters["default"] = "false"; } return(connector.Send(req)); }
/// <summary> /// Classifies the given text, invokes the callback with the results. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="classifierId">The ID of the classifier to use.</param> /// <param name="text">The text to classify.</param> /// <returns>Returns false if we failed to submit the request.</returns> public bool Classify(SuccessCallback <ClassifyResult> successCallback, FailCallback failCallback, string classifierId, string text, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(classifierId)) { throw new ArgumentNullException("classifierId"); } if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException("text"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers"); if (connector == null) { return(false); } ClassifyReq req = new ClassifyReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbPOST; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = OnClassifyResp; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=natural_language_classifier;service_version=v1;operation_id=Classify"; req.Function = "/" + classifierId + "/classify"; req.Headers["Content-Type"] = "application/json"; Dictionary <string, object> body = new Dictionary <string, object>(); body["text"] = text; req.Send = Encoding.UTF8.GetBytes(Json.Serialize(body)); return(connector.Send(req)); }
/// <summary> /// Send user input to assistant. /// /// Send user input to an assistant and receive a response. /// /// There is no rate limit for this operation. /// </summary> /// <param name="successCallback">The function that is called when the operation is successful.</param> /// <param name="failCallback">The function that is called when the operation fails.</param> /// <param name="assistantId">Unique identifier of the assistant. You can find the assistant ID of an assistant /// on the **Assistants** tab of the Watson Assistant tool. For information about creating assistants, see the /// [documentation](https://console.bluemix.net/docs/services/assistant/create-assistant.html#creating-assistants). /// /// **Note:** Currently, the v2 API does not support creating assistants.</param> /// <param name="sessionId">Unique identifier of the session.</param> /// <param name="request">The message to be sent. This includes the user's input, along with optional intents, /// entities, and context from the last response. (optional)</param> /// <returns><see cref="MessageResponse" />MessageResponse</returns> /// <param name="customData">A Dictionary<string, object> of data that will be passed to the callback. The raw /// json output from the REST call will be passed in this object as the value of the 'json' /// key.</string></param> public bool Message(SuccessCallback <MessageResponse> successCallback, FailCallback failCallback, String assistantId, String sessionId, MessageRequest request = null, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } MessageRequestObj req = new MessageRequestObj(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } IDictionary <string, string> requestDict = new Dictionary <string, string>(); int iterator = 0; StringBuilder stringBuilder = new StringBuilder("{"); foreach (KeyValuePair <string, string> property in requestDict) { string delimeter = iterator < requestDict.Count - 1 ? "," : ""; stringBuilder.Append(string.Format("\"{0}\": {1}{2}", property.Key, property.Value, delimeter)); iterator++; } stringBuilder.Append("}"); string stringToSend = stringBuilder.ToString(); req.Send = Encoding.UTF8.GetBytes(stringToSend); req.Headers["Content-Type"] = "application/json"; req.Parameters["version"] = VersionDate; req.OnResponse = OnMessageResponse; RESTConnector connector = RESTConnector.GetConnector(Credentials, string.Format("/v2/assistants/{0}/sessions/{1}/message", assistantId, sessionId)); if (connector == null) { return(false); } return(connector.Send(req)); }
/// <summary> /// Creates a new environment. You can only create one environment per service instance.An attempt to create another environment /// will result in an error. The size of the new environment can be controlled by specifying the size parameter. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="parameters">The analyze parameters.</param> /// <param name="customData">Optional custom data.</param> /// <returns>True if the call succeeds, false if the call is unsuccessful.</returns> public bool Analyze(SuccessCallback <AnalysisResults> successCallback, FailCallback failCallback, Parameters parameters, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (parameters == null) { throw new ArgumentNullException("parameters"); } AnalyzeRequest req = new AnalyzeRequest(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbPOST; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = OnAnalyzeResponse; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=natural_language_understanding;service_version=v1;operation_id=Analyze"; req.Headers["Content-Type"] = "application/json"; req.Headers["Accept"] = "application/json"; req.Parameters["version"] = NaturalLanguageUnderstandingVersion.Version; fsData data = null; _serializer.TrySerialize(parameters, out data); string sendjson = data.ToString(); req.Send = Encoding.UTF8.GetBytes(sendjson); RESTConnector connector = RESTConnector.GetConnector(Credentials, AnalyzeEndpoint); if (connector == null) { return(false); } return(connector.Send(req)); }
/// <summary> /// Retrieve the translation models with optional filters. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="sourceFilter">Optional source language filter.</param> /// <param name="targetFilter">Optional target language filter.</param> /// <param name="defaults">Controls if we get default, non-default, or all models.</param> /// <returns>Returns a true on success, false if it failed to submit the request.</returns> public bool GetModels(SuccessCallback <TranslationModels> successCallback, FailCallback failCallback, string sourceFilter = null, string targetFilter = null, TypeFilter defaults = TypeFilter.ALL, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v2/models"); if (connector == null) { return(false); } GetModelsReq req = new GetModelsReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.OnResponse = GetModelsResponse; if (!string.IsNullOrEmpty(sourceFilter)) { req.Parameters["source"] = sourceFilter; } if (!string.IsNullOrEmpty(targetFilter)) { req.Parameters["target"] = targetFilter; } if (defaults == TypeFilter.DEFAULT) { req.Parameters["default"] = "true"; } else if (defaults == TypeFilter.NON_DEFAULT) { req.Parameters["default"] = "false"; } return(connector.Send(req)); }
/// <summary> /// Classifies the given text, invokes the callback with the results. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="classifierId">The ID of the classifier to use.</param> /// <param name="text">The text to classify.</param> /// <returns>Returns false if we failed to submit the request.</returns> public bool Classify(SuccessCallback <ClassifyResult> successCallback, FailCallback failCallback, string classifierId, string text, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(classifierId)) { throw new ArgumentNullException("classifierId"); } if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException("text"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers"); if (connector == null) { return(false); } ClassifyReq req = new ClassifyReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = OnClassifyResp; req.Function = "/" + classifierId + "/classify"; req.Headers["Content-Type"] = "application/json"; Dictionary <string, object> body = new Dictionary <string, object>(); body["text"] = text; req.Send = Encoding.UTF8.GetBytes(Json.Serialize(body)); return(connector.Send(req)); }
/// <summary> /// Message the specified workspaceId, input and callback. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="workspaceID">Workspace identifier.</param> /// <param name="input">Input.</param> /// <param name="customData">Custom data.</param> public bool Message(SuccessCallback <object> successCallback, FailCallback failCallback, string workspaceID, string input, Dictionary <string, object> customData = null) { //if (string.IsNullOrEmpty(workspaceID)) // throw new ArgumentNullException("workspaceId"); if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, Workspaces); if (connector == null) { return(false); } string reqJson = "{{\"input\": {{\"text\": \"{0}\"}}}}"; string reqString = string.Format(reqJson, input); MessageReq req = new MessageReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbPOST; req.Headers["Content-Type"] = "application/json"; req.Headers["Accept"] = "application/json"; req.Parameters["version"] = VersionDate; req.Function = "/" + workspaceID + "/message"; req.Send = Encoding.UTF8.GetBytes(reqString); req.OnResponse = MessageResp; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=conversation;service_version=v1;operation_id=Message"; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } return(connector.Send(req)); }
/// <summary> /// Train a new classifier. /// </summary> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="classifierName">A name to give the classifier.</param> /// <param name="language">Language of the classifier.</param> /// <param name="trainingData">CSV training data.</param> /// <returns>Returns true if training data was submitted correctly.</returns> public bool TrainClassifier(SuccessCallback <Classifier> successCallback, FailCallback failCallback, string classifierName, string language, string trainingData, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(classifierName)) { throw new ArgumentNullException("classifierId"); } if (string.IsNullOrEmpty(language)) { throw new ArgumentNullException("language"); } if (string.IsNullOrEmpty(trainingData)) { throw new ArgumentNullException("trainingData"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers"); if (connector == null) { return(false); } Dictionary <string, object> trainingMetaData = new Dictionary <string, object>(); trainingMetaData["language"] = language; trainingMetaData["name"] = classifierName; TrainClassifierReq req = new TrainClassifierReq(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; req.OnResponse = OnTrainClassifierResp; req.Forms = new Dictionary <string, RESTConnector.Form>(); req.Forms["training_metadata"] = new RESTConnector.Form(Encoding.UTF8.GetBytes(Json.Serialize(trainingMetaData))); req.Forms["training_data"] = new RESTConnector.Form(Encoding.UTF8.GetBytes(trainingData)); return(connector.Send(req)); }
/// <summary> /// Delete session. /// /// Deletes a session explicitly before it times out. /// </summary> /// <param name="successCallback">The function that is called when the operation is successful.</param> /// <param name="failCallback">The function that is called when the operation fails.</param> /// <param name="assistantId">Unique identifier of the assistant. You can find the assistant ID of an assistant /// on the **Assistants** tab of the Watson Assistant tool. For information about creating assistants, see the /// [documentation](https://cloud.ibm.com/docs/services/assistant/create-assistant.html#creating-assistants). /// /// **Note:** Currently, the v2 API does not support creating assistants.</param> /// <param name="sessionId">Unique identifier of the session.</param> /// <returns><see cref="" />object</returns> /// <param name="customData">A Dictionary<string, object> of data that will be passed to the callback. The raw /// json output from the REST call will be passed in this object as the value of the 'json' /// key.</string></param> public bool DeleteSession(SuccessCallback <object> successCallback, FailCallback failCallback, String assistantId, String sessionId, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback is required for DeleteSession"); } if (failCallback == null) { throw new ArgumentNullException("failCallback is required for DeleteSession"); } if (string.IsNullOrEmpty(assistantId)) { throw new ArgumentException("assistantId is required for DeleteSession"); } if (string.IsNullOrEmpty(sessionId)) { throw new ArgumentException("sessionId is required for DeleteSession"); } DeleteSessionRequestObj req = new DeleteSessionRequestObj(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbDELETE; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.Parameters["version"] = VersionDate; req.OnResponse = OnDeleteSessionResponse; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=conversation;service_version=v2;operation_id=DeleteSession"; RESTConnector connector = RESTConnector.GetConnector(Credentials, string.Format("/v2/assistants/{0}/sessions/{1}", assistantId, sessionId)); if (connector == null) { return(false); } return(connector.Send(req)); }
private bool GetTranslation(SuccessCallback <Translations> successCallback, FailCallback failCallback, string json, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } if (string.IsNullOrEmpty(json)) { throw new ArgumentNullException("json"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v3/translate"); if (connector == null) { return(false); } TranslateReq req = new TranslateReq(); req.Parameters["version"] = VersionDate; req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbPOST; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = TranslateResponse; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=language_translator;service_version=v3;operation_id=GetTranslation"; req.Send = Encoding.UTF8.GetBytes(json); req.Headers["accept"] = "application/json"; req.Headers["Content-Type"] = "application/json"; return(connector.Send(req)); }
/// <summary> /// Gets the tone analyze. /// </summary> /// <returns><c>true</c>, if tone analyze was gotten, <c>false</c> otherwise.</returns> /// <param name="successCallback">The success callback.</param> /// <param name="failCallback">The fail callback.</param> /// <param name="text">Text.</param> /// <param name="data">Data.</param> public bool GetToneAnalyze(SuccessCallback <ToneAnalysis> successCallback, FailCallback failCallback, string text, Dictionary <string, object> customData = null) { if (successCallback == null) { throw new ArgumentNullException("successCallback"); } if (failCallback == null) { throw new ArgumentNullException("failCallback"); } RESTConnector connector = RESTConnector.GetConnector(Credentials, ToneEndpoint); if (connector == null) { return(false); } GetToneAnalyzerRequest req = new GetToneAnalyzerRequest(); req.SuccessCallback = successCallback; req.FailCallback = failCallback; req.HttpMethod = UnityWebRequest.kHttpVerbPOST; req.DisableSslVerification = DisableSslVerification; req.CustomData = customData == null ? new Dictionary <string, object>() : customData; if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS)) { foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> ) { req.Headers.Add(kvp.Key, kvp.Value); } } req.OnResponse = GetToneAnalyzerResponse; req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=tone_analyzer;service_version=v3;operation_id=GetToneAnalyze"; Dictionary <string, string> upload = new Dictionary <string, string>(); upload["text"] = "\"" + text + "\""; req.Send = Encoding.UTF8.GetBytes(Json.Serialize(upload)); req.Headers["Content-Type"] = "application/json"; req.Parameters["version"] = VersionDate; req.Parameters["sentences"] = "true"; return(connector.Send(req)); }