private IEnumerator CreateService() { if (string.IsNullOrEmpty(_iamApikey)) { throw new WatsonException("Plesae provide IAM ApiKey for the service."); } // Create credential and instantiate service Credentials credentials = null; // Authenticate using iamApikey TokenOptions tokenOptions = new TokenOptions() { IamApiKey = _iamApikey }; credentials = new Credentials(tokenOptions, _serviceUrl); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } _service = new NaturalLanguageClassifier(credentials); Runnable.Run(Examples()); }
void Start() { LogSystem.InstallDefaultReactors(); // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); naturalLanguageClassifier = new NaturalLanguageClassifier(credentials); Runnable.Run(Examples()); }
private IEnumerator CreateService() { // Create credential and instantiate service Credentials credentials = null; if (!string.IsNullOrEmpty(_username) && !string.IsNullOrEmpty(_password)) { // Authenticate using username and password credentials = new Credentials(_username, _password, _serviceUrl); } else if (!string.IsNullOrEmpty(_iamApikey)) { // Authenticate using iamApikey TokenOptions tokenOptions = new TokenOptions() { IamApiKey = _iamApikey, IamUrl = _iamUrl }; credentials = new Credentials(tokenOptions, _serviceUrl); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } } else { throw new WatsonException("Please provide either username and password or IAM apikey to authenticate the service."); } _service = new NaturalLanguageClassifier(credentials); Runnable.Run(Examples()); }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); // Test NaturalLanguageClassifier using loaded credentials NaturalLanguageClassifier autoNaturalLanguageClassifier = new NaturalLanguageClassifier(); while (!autoNaturalLanguageClassifier.Credentials.HasIamTokenData()) { yield return(null); } autoNaturalLanguageClassifier.GetClassifiers(OnAutoGetClassifiers, OnFail); while (!_autoGetClassifiersTested) { yield return(null); } VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; string credentialsFilepath = "../sdk-credentials/credentials.json"; // Load credentials file if it exists. If it doesn't exist, don't run the tests. if (File.Exists(credentialsFilepath)) { result = File.ReadAllText(credentialsFilepath); } else { yield break; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.GetCredentialByname("natural-language-classifier-sdk")[0].Credentials; // Create credential and instantiate service TokenOptions tokenOptions = new TokenOptions() { IamApiKey = credential.IamApikey, }; // Create credential and instantiate service Credentials credentials = new Credentials(tokenOptions, credential.Url); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } naturalLanguageClassifier = new NaturalLanguageClassifier(credentials); // Get classifiers if (!naturalLanguageClassifier.GetClassifiers(OnGetClassifiers, OnFail)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifiers()", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!naturalLanguageClassifier.GetClassifier(OnGetClassifier, OnFail, classifierId)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifier()", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!naturalLanguageClassifier.TrainClassifier(OnTrainClassifier, OnFail, _classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent)) { Log.Debug("TestNaturalLanguageClassifier.TrainClassifier()", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!naturalLanguageClassifier.DeleteClassifer(OnDeleteTrainedClassifier, OnFail, _classifierToDelete)) { Log.Debug("TestNaturalLanguageClassifier.DeleteClassifer()", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.Classify(OnClassify, OnFail, _classifierId, _inputString)) { Log.Debug("TestNaturalLanguageClassifier.Classify()", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } // Classify Collection ClassifyCollectionInput classifyCollectionInput = new ClassifyCollectionInput() { collection = new List <ClassifyInput>() { new ClassifyInput() { text = "Is it hot outside?" }, new ClassifyInput() { text = "Is it going to rain?" } } }; if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.ClassifyCollection(OnClassifyCollection, OnFail, _classifierId, classifyCollectionInput)) { Log.Debug("TestNaturalLanguageClassifier.ClassifyCollection()", "Failed to classify!"); } while (!_classifyCollectionTested) { yield return(null); } } Log.Debug("TestNaturalLanguageClassifier.RunTest()", "Natural language classifier examples complete."); yield break; }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; var vcapUrl = Environment.GetEnvironmentVariable("VCAP_URL"); var vcapUsername = Environment.GetEnvironmentVariable("VCAP_USERNAME"); var vcapPassword = Environment.GetEnvironmentVariable("VCAP_PASSWORD"); using (SimpleGet simpleGet = new SimpleGet(vcapUrl, vcapUsername, vcapPassword)) { while (!simpleGet.IsComplete) { yield return(null); } result = simpleGet.Result; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.VCAP_SERVICES["natural_language_classifier"]; _username = credential.Username.ToString(); _password = credential.Password.ToString(); _url = credential.Url.ToString(); // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); // Or authenticate using token //Credentials credentials = new Credentials(_url) //{ // AuthenticationToken = _token //}; naturalLanguageClassifier = new NaturalLanguageClassifier(credentials); // Get classifiers if (!naturalLanguageClassifier.GetClassifiers(OnGetClassifiers, OnFail)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifiers()", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!naturalLanguageClassifier.GetClassifier(OnGetClassifier, OnFail, classifierId)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifier()", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!naturalLanguageClassifier.TrainClassifier(OnTrainClassifier, OnFail, _classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent)) { Log.Debug("TestNaturalLanguageClassifier.TrainClassifier()", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!naturalLanguageClassifier.DeleteClassifer(OnDeleteTrainedClassifier, OnFail, _classifierToDelete)) { Log.Debug("TestNaturalLanguageClassifier.DeleteClassifer()", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.Classify(OnClassify, OnFail, _classifierId, _inputString)) { Log.Debug("TestNaturalLanguageClassifier.Classify()", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } // Classify Collection ClassifyCollectionInput classifyCollectionInput = new ClassifyCollectionInput() { collection = new List <ClassifyInput>() { new ClassifyInput() { text = "Is it hot outside?" }, new ClassifyInput() { text = "Is it going to rain?" } } }; if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.ClassifyCollection(OnClassifyCollection, OnFail, _classifierId, classifyCollectionInput)) { Log.Debug("TestNaturalLanguageClassifier.ClassifyCollection()", "Failed to classify!"); } while (!_classifyCollectionTested) { yield return(null); } } Log.Debug("TestNaturalLanguageClassifier.RunTest()", "Natural language classifier examples complete."); yield break; }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); try { VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; // Get credentials from a credential file defined in environmental variables in the VCAP_SERVICES format. // See https://www.ibm.com/watson/developercloud/doc/common/getting-started-variables.html. var environmentalVariable = Environment.GetEnvironmentVariable("VCAP_SERVICES"); var fileContent = File.ReadAllText(environmentalVariable); // Add in a parent object because Unity does not like to deserialize root level collection types. fileContent = Utility.AddTopLevelObjectToJson(fileContent, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(fileContent, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.VCAP_SERVICES["natural_language_classifier"][TestCredentialIndex].Credentials; _username = credential.Username.ToString(); _password = credential.Password.ToString(); _url = credential.Url.ToString(); } catch { Log.Debug("TestNaturalLanguageClassifier", "Failed to get credentials from VCAP_SERVICES file. Please configure credentials to run this test. For more information, see: https://github.com/watson-developer-cloud/unity-sdk/#authentication"); } // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); // Or authenticate using token //Credentials credentials = new Credentials(_url) //{ // AuthenticationToken = _token //}; naturalLanguageClassifier = new NaturalLanguageClassifier(credentials); // Get classifiers if (!naturalLanguageClassifier.GetClassifiers(OnGetClassifiers)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("ExampleNaturalLanguageClassifier", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!naturalLanguageClassifier.GetClassifier(classifierId, OnGetClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("ExampleNaturalLanguageClassifier", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!naturalLanguageClassifier.TrainClassifier(_classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent, OnTrainClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!naturalLanguageClassifier.DeleteClassifer(_classifierToDelete, OnDeleteTrainedClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.Classify(_classifierId, _inputString, OnClassify)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } Log.Debug("ExampleNaturalLanguageClassifier", "Natural language classifier examples complete."); yield break; }