private static void HandleWitRequestOptions(WitRequestOptions requestOptions, IDynamicEntitiesProvider[] additionalEntityProviders, List <WitRequest.QueryParam> queryParams) { WitResponseClass entities = new WitResponseClass(); bool hasEntities = false; if (null != additionalEntityProviders) { foreach (var provider in additionalEntityProviders) { foreach (var providerEntity in provider.GetDynamicEntities()) { hasEntities = true; MergeEntities(entities, providerEntity); } } } if (DynamicEntityKeywordRegistry.HasDynamicEntityRegistry) { foreach (var providerEntity in DynamicEntityKeywordRegistry.Instance.GetDynamicEntities()) { hasEntities = true; MergeEntities(entities, providerEntity); } } if (null != requestOptions) { if (!string.IsNullOrEmpty(requestOptions.tag)) { queryParams.Add(QueryParam("tag", requestOptions.tag)); } if (null != requestOptions.dynamicEntities) { foreach (var entity in requestOptions.dynamicEntities.GetDynamicEntities()) { hasEntities = true; MergeEntities(entities, entity); } } } if (hasEntities) { queryParams.Add(QueryParam("entities", entities.ToString())); } }
/// <summary> /// Creates a request for getting the transcription from the mic data /// </summary> ///<param name="config"></param> /// <param name="requestOptions"></param> /// <returns>WitRequest</returns> public static WitRequest DictationRequest(this WitConfiguration config, WitRequestOptions requestOptions) { List <WitRequest.QueryParam> queryParams = new List <WitRequest.QueryParam>(); var path = WitEndpointConfig.GetEndpointConfig(config).Dictation; WitRequest request = new WitRequest(config, path, queryParams.ToArray()); if (null != requestOptions) { request.onResponse += requestOptions.onResponse; request.requestId = requestOptions.requestID; } return(request); }
/// <summary> /// Creates a request for nlu processing that includes a data stream for mic data /// </summary> /// <param name="config"></param> /// <returns></returns> public static WitRequest SpeechRequest(this WitConfiguration config, WitRequestOptions requestOptions) { List <WitRequest.QueryParam> queryParams = new List <WitRequest.QueryParam>(); if (null != requestOptions && -1 != requestOptions.nBestIntents) { queryParams.Add(QueryParam("n", requestOptions.nBestIntents.ToString())); } if (null != requestOptions?.dynamicEntities) { queryParams.Add(QueryParam("entities", requestOptions.dynamicEntities.ToJSON())); } var path = WitEndpointConfig.GetEndpointConfig(config).Speech; return(new WitRequest(config, path, queryParams.ToArray())); }
/// <summary> /// Creates a request for nlu processing that includes a data stream for mic data /// </summary> /// <param name="config"></param> /// <returns></returns> public static WitRequest SpeechRequest(this WitConfiguration config, WitRequestOptions requestOptions, IDynamicEntitiesProvider[] additionalEntityProviders = null) { List <WitRequest.QueryParam> queryParams = new List <WitRequest.QueryParam>(); if (null != requestOptions && -1 != requestOptions.nBestIntents) { queryParams.Add(QueryParam("n", requestOptions.nBestIntents.ToString())); } HandleWitRequestOptions(requestOptions, additionalEntityProviders, queryParams); var path = WitEndpointConfig.GetEndpointConfig(config).Speech; WitRequest request = new WitRequest(config, path, queryParams.ToArray()); if (null != requestOptions) { request.onResponse += requestOptions.onResponse; request.requestId = requestOptions.requestID; } return(request); }
public void ActivateImmediately(WitRequestOptions options) { binding.Call("activateImmediately"); }
public void Activate(WitRequestOptions options) { binding.Call("activate"); }
public void Activate(string text, WitRequestOptions options) { binding.Call("activate", text); }
/// <summary> /// Creates a message request that will process a query string with NLU /// </summary> /// <param name="config"></param> /// <param name="query">Text string to process with the NLU</param> /// <returns></returns> public static WitRequest MessageRequest(this WitConfiguration config, string query, WitRequestOptions requestOptions, IDynamicEntitiesProvider[] additionalDynamicEntities = null) { List <WitRequest.QueryParam> queryParams = new List <WitRequest.QueryParam> { QueryParam("q", query) }; if (null != requestOptions && -1 != requestOptions.nBestIntents) { queryParams.Add(QueryParam("n", requestOptions.nBestIntents.ToString())); } HandleWitRequestOptions(requestOptions, additionalDynamicEntities, queryParams); if (null != requestOptions && !string.IsNullOrEmpty(requestOptions.tag)) { queryParams.Add(QueryParam("tag", requestOptions.tag)); } var path = WitEndpointConfig.GetEndpointConfig(config).Message; WitRequest request = new WitRequest(config, path, queryParams.ToArray()); if (null != requestOptions) { request.onResponse += requestOptions.onResponse; request.requestId = requestOptions.requestID; } return(request); }