diff --git a/src/Infrastructure/BotSharp.Core/Templating/ResponseTemplateService.cs b/src/Infrastructure/BotSharp.Core/Templating/ResponseTemplateService.cs index ef2c23ba..cac30ff7 100644 --- a/src/Infrastructure/BotSharp.Core/Templating/ResponseTemplateService.cs +++ b/src/Infrastructure/BotSharp.Core/Templating/ResponseTemplateService.cs @@ -7,9 +7,12 @@ namespace BotSharp.Core.Templating; public class ResponseTemplateService : IResponseTemplateService { private readonly IServiceProvider _services; - public ResponseTemplateService(IServiceProvider services) + private readonly ILogger _logger; + + public ResponseTemplateService(IServiceProvider services, ILogger logger) { _services = services; + _logger = logger; } public async Task RenderFunctionResponse(string agentId, RoleDialogModel message) @@ -33,9 +36,17 @@ public class ResponseTemplateService : IResponseTemplateService // Convert args and execute data to dictionary var dict = new Dictionary(); - ExtractArgs(JsonSerializer.Deserialize(message.FunctionArgs), dict); - ExtractExecuteData(message.ExecutionData, dict); + if (message.FunctionArgs != null) + { + ExtractArgs(JsonSerializer.Deserialize(message.FunctionArgs), dict); + } + + if (message.ExecutionData != null) + { + ExtractExecuteData(message.ExecutionData, dict); + } + var text = render.Render(template, dict); return text; diff --git a/src/Plugins/BotSharp.Plugin.MetaAI/Providers/fastTextEmbeddingProvider.cs b/src/Plugins/BotSharp.Plugin.MetaAI/Providers/fastTextEmbeddingProvider.cs index d6e1824d..3388f04c 100644 --- a/src/Plugins/BotSharp.Plugin.MetaAI/Providers/fastTextEmbeddingProvider.cs +++ b/src/Plugins/BotSharp.Plugin.MetaAI/Providers/fastTextEmbeddingProvider.cs @@ -15,10 +15,7 @@ public class fastTextEmbeddingProvider : ITextEmbedding { get { - if (!_fastText.IsModelReady()) - { - _fastText.LoadModel(_settings.ModelPath); - } + LoadModel(); return _fastText.GetModelDimension(); } } diff --git a/src/Plugins/BotSharp.Plugin.RoutingSpeeder/Providers/IntentClassifier.cs b/src/Plugins/BotSharp.Plugin.RoutingSpeeder/Providers/IntentClassifier.cs index 3efb0628..3c3a33f2 100644 --- a/src/Plugins/BotSharp.Plugin.RoutingSpeeder/Providers/IntentClassifier.cs +++ b/src/Plugins/BotSharp.Plugin.RoutingSpeeder/Providers/IntentClassifier.cs @@ -53,12 +53,14 @@ public class IntentClassifier var vector = _services.GetRequiredService(); + var labels = GetLabels(); + var layers = new List { keras.layers.InputLayer((vector.Dimension), name: "Input"), keras.layers.Dense(256, activation:"relu"), keras.layers.Dense(256, activation:"relu"), - keras.layers.Dense(GetFiles().Length, activation: keras.activations.Softmax) + keras.layers.Dense(labels.Length, activation: keras.activations.Softmax) }; _model = keras.Sequential(layers); @@ -235,7 +237,6 @@ public class IntentClassifier var prediction = GetLabels()[probLabel[0]]; - return prediction; } public void InitClassifer() @@ -249,8 +250,8 @@ public class IntentClassifier { var trainingParams = new TrainingParams(); Reset(); - Build(); (var x, var y) = PrepareLoadData(); + Build(); Fit(x, y, trainingParams); } diff --git a/src/WebStarter/appsettings.json b/src/WebStarter/appsettings.json index e409738f..72502bf7 100644 --- a/src/WebStarter/appsettings.json +++ b/src/WebStarter/appsettings.json @@ -47,14 +47,14 @@ } }, - "MetaAi": { - "fastText": { - "ModelPath": "crawl-300d-2M-subword.bin" - } - }, + "MetaAi": { + "fastText": { + "ModelPath": "dbpedia.ftz" + } + }, - "RoutingSpeeder": { - }, + "RoutingSpeeder": { + }, "MetaMessenger": { "Endpoint": "https://graph.facebook.com", diff --git a/src/WebStarter/data/models/dbpedia.ftz b/src/WebStarter/data/models/dbpedia.ftz new file mode 100644 index 00000000..8f649cc9 Binary files /dev/null and b/src/WebStarter/data/models/dbpedia.ftz differ