Update readme, remove unnecessary projets.
This commit is contained in:
parent
fc51b23bcf
commit
41fd2a8bc4
|
|
@ -1,38 +0,0 @@
|
||||||
using BotSharp.Core.Agents;
|
|
||||||
using BotSharp.Core.Engines;
|
|
||||||
using EntityFrameworkCore.BootKit;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace BotSharp.Core.RestApi
|
|
||||||
{
|
|
||||||
public class AgentController : EssentialController
|
|
||||||
{
|
|
||||||
[HttpGet("id")]
|
|
||||||
public Agent Get([FromRoute] String id)
|
|
||||||
{
|
|
||||||
var console = new RasaAi(dc, null);
|
|
||||||
return console.LoadAgent();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// New agent with basic configuration
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="agent"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
[HttpPost]
|
|
||||||
public String Create([FromBody] Agent agent)
|
|
||||||
{
|
|
||||||
var rasa = new RasaAi(dc, null);
|
|
||||||
|
|
||||||
dc.DbTran(() => {
|
|
||||||
rasa.SaveAgent(agent);
|
|
||||||
});
|
|
||||||
|
|
||||||
return agent.Id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
|
||||||
<DocumentationFile>bin\Debug\netcoreapp2.0\BotSharp.RestApi.xml</DocumentationFile>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\BotSharp.Core\BotSharp.Core.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
using BotSharp.Core.Entities;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace BotSharp.Core.RestApi
|
|
||||||
{
|
|
||||||
public class EntityController : EssentialController
|
|
||||||
{
|
|
||||||
[HttpPost]
|
|
||||||
public string CreateEntity([FromBody] Entity entity)
|
|
||||||
{
|
|
||||||
return entity.Id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
using EntityFrameworkCore.BootKit;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Builder
|
|
||||||
{
|
|
||||||
public static class EntityDbContextBuilderExtensions
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Use CustomEntityFoundation
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="app"></param>
|
|
||||||
/// <param name="configuration"></param>
|
|
||||||
/// <param name="contentRootPath"></param>
|
|
||||||
/// <param name="assembles"></param>
|
|
||||||
public static void UseEntityDbContext(this IApplicationBuilder app, IConfiguration configuration, String contentRootPath, String[] assembles)
|
|
||||||
{
|
|
||||||
Database.Configuration = configuration;
|
|
||||||
Database.Assemblies = assembles;
|
|
||||||
Database.ContentRootPath = contentRootPath;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace BotSharp.Core.RestApi
|
|
||||||
{
|
|
||||||
public class EntityItemController : EssentialController
|
|
||||||
{
|
|
||||||
[HttpPost]
|
|
||||||
public IActionResult CreateEntity()
|
|
||||||
{
|
|
||||||
return Ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
using BotSharp.Core.Agents;
|
|
||||||
using BotSharp.Core.Entities;
|
|
||||||
using EntityFrameworkCore.BootKit;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace BotSharp.Core.RestApi
|
|
||||||
{
|
|
||||||
public class EntityTypeController : EssentialController
|
|
||||||
{
|
|
||||||
[HttpPost]
|
|
||||||
public string CreateType([FromBody] Entity entityType)
|
|
||||||
{
|
|
||||||
var agent = dc.Table<Agent>().Find(entityType.AgentId);
|
|
||||||
dc.DbTran(() => agent.CreateEntityType(dc, entityType));
|
|
||||||
|
|
||||||
return entityType.Id;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpDelete("{agentId}/{entityTypeId}")]
|
|
||||||
public IActionResult DeleteType([FromRoute] String agentId, [FromRoute] String entityTypeId)
|
|
||||||
{
|
|
||||||
var agent = dc.Table<Agent>().Find(agentId);
|
|
||||||
dc.DbTran(() => agent.DeleteEntityType(dc, entityTypeId));
|
|
||||||
|
|
||||||
return Ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
using BotSharp.Core.Engines;
|
|
||||||
using DotNetToolkit;
|
|
||||||
using EntityFrameworkCore.BootKit;
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.Data.Sqlite;
|
|
||||||
using MySql.Data.MySqlClient;
|
|
||||||
using Newtonsoft.Json.Linq;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Data.SqlClient;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace BotSharp.Core.RestApi
|
|
||||||
{
|
|
||||||
//[Authorize]
|
|
||||||
[Produces("application/json")]
|
|
||||||
[Route("bot/[controller]")]
|
|
||||||
public class EssentialController : ControllerBase
|
|
||||||
{
|
|
||||||
protected Database dc { get; set; }
|
|
||||||
|
|
||||||
public EssentialController()
|
|
||||||
{
|
|
||||||
dc = new DefaultDataContextLoader().GetDefaultDc();
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpPatch("{table}/{id}")]
|
|
||||||
public IActionResult Patch([FromRoute] String table, [FromRoute] String id, [FromBody] JObject jObject)
|
|
||||||
{
|
|
||||||
var patch = new DbPatchModel
|
|
||||||
{
|
|
||||||
Table = table,
|
|
||||||
Id = id,
|
|
||||||
Values = jObject.ToDictionary()
|
|
||||||
};
|
|
||||||
|
|
||||||
dc.Patch<IDbRecord>(patch);
|
|
||||||
|
|
||||||
return Ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using BotSharp.Core.Loader;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Builder
|
|
||||||
{
|
|
||||||
public static class InitLoaderBuilderExtensions
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Initialize Loader
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="app"></param>
|
|
||||||
public static void UseInitLoader(this IApplicationBuilder app)
|
|
||||||
{
|
|
||||||
new InitializationLoader().Load();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Weather Bot",
|
|
||||||
|
|
||||||
"entity_types": [
|
|
||||||
{
|
|
||||||
"name": "date",
|
|
||||||
"values": [ "today", "tomorrow", "yesterday", "now" ]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
|
|
||||||
"entity_synonyms": [
|
|
||||||
|
|
||||||
],
|
|
||||||
|
|
||||||
"intents": [
|
|
||||||
{
|
|
||||||
"name": "greet",
|
|
||||||
"expressions": [
|
|
||||||
{ "text": "Hi" },
|
|
||||||
{ "text": "Hey" },
|
|
||||||
{ "text": "Hello" },
|
|
||||||
{ "text": "How are you?" },
|
|
||||||
{ "text": "What's up?" },
|
|
||||||
{ "text": "How is going?" }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "weather",
|
|
||||||
"expressions": [
|
|
||||||
{
|
|
||||||
"text": "What is the weather like today in Chicago?",
|
|
||||||
"entities": [
|
|
||||||
{
|
|
||||||
"start": 25,
|
|
||||||
"value": "today",
|
|
||||||
"entity": "date"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Will it be rain tomorrow in Beijing?",
|
|
||||||
"entities": [
|
|
||||||
{
|
|
||||||
"start": 16,
|
|
||||||
"value": "tomorrow",
|
|
||||||
"entity": "date"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"start": 28,
|
|
||||||
"value": "Beijing",
|
|
||||||
"entity": "location"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{ "text": "It's windy outside?" },
|
|
||||||
{ "text": "It's very code there?" },
|
|
||||||
{ "text": "It's gonna be snow?" }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Remove="App_Data\bot-rasa.db" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="wwwroot\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
|
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="2.4.0" />
|
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="2.4.0" />
|
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="2.4.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.1" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.AspNetCore;
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace BotSharp.WebStarter
|
|
||||||
{
|
|
||||||
public class Program
|
|
||||||
{
|
|
||||||
public static void Main(string[] args)
|
|
||||||
{
|
|
||||||
BuildWebHost(args).Run();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IWebHost BuildWebHost(string[] args) =>
|
|
||||||
WebHost.CreateDefaultBuilder(args)
|
|
||||||
.ConfigureAppConfiguration((hostingContext, config) =>
|
|
||||||
{
|
|
||||||
var env = hostingContext.HostingEnvironment;
|
|
||||||
var settings = Directory.GetFiles("./Settings/", "*.json");
|
|
||||||
settings.ToList().ForEach(setting =>
|
|
||||||
{
|
|
||||||
config.AddJsonFile(setting, optional: false, reloadOnChange: true);
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.UseUrls("http://localhost:9900")
|
|
||||||
.UseStartup<Startup>()
|
|
||||||
.Build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"IncludeScopes": false,
|
|
||||||
"Debug": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Warning"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Console": {
|
|
||||||
"LogLevel": {
|
|
||||||
"Default": "Warning"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"TokenAuthentication": {
|
|
||||||
"SecretKey": "QEMYOjgkNEq/krV1Ouzz8w==",
|
|
||||||
"Subject": "OpenBotKit",
|
|
||||||
"Issuer": "Haiping Chen",
|
|
||||||
"Audience": "Haiping Chen",
|
|
||||||
"TokenPath": "/token",
|
|
||||||
"CookieName": "token",
|
|
||||||
"LoginPath": "/login"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"AWS": {
|
|
||||||
"AWSRegionEndPoint": "us-east-1",
|
|
||||||
"AWSSecretKey": "",
|
|
||||||
"AWSAccessKey": "",
|
|
||||||
"AWSEncoding": "utf-8",
|
|
||||||
"SESVerifiedEmail": "",
|
|
||||||
"AWSBucketPrefix": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"Rasa": {
|
|
||||||
"Host": "http://bot.local:5000"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"Database": {
|
|
||||||
"Default": "SqlServer",
|
|
||||||
"ConnectionStrings": {
|
|
||||||
"InMemory": "DataSource=:memory:",
|
|
||||||
"Sqlite": "Data Source=|DataDirectory|BotSharp.db;",
|
|
||||||
"SqlServer": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=BotSharp;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"Swagger": {
|
|
||||||
"Version": "v1",
|
|
||||||
"Title": "Open Chatbot Kit",
|
|
||||||
"Description": "OpenBotKit API",
|
|
||||||
"TermsOfService": "MIT",
|
|
||||||
"Contact": {
|
|
||||||
"Name": "Haiping Chen",
|
|
||||||
"Email": "haiping008@gmail.com"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using BotSharp.Core.Engines;
|
|
||||||
using DotNetToolkit.JwtHelper;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using Microsoft.Extensions.Options;
|
|
||||||
using Microsoft.Extensions.PlatformAbstractions;
|
|
||||||
using Newtonsoft.Json.Serialization;
|
|
||||||
using Swashbuckle.AspNetCore.Swagger;
|
|
||||||
|
|
||||||
namespace BotSharp.WebStarter
|
|
||||||
{
|
|
||||||
public class Startup
|
|
||||||
{
|
|
||||||
public Startup(IConfiguration configuration)
|
|
||||||
{
|
|
||||||
Configuration = configuration;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IConfiguration Configuration { get; }
|
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to add services to the container.
|
|
||||||
public void ConfigureServices(IServiceCollection services)
|
|
||||||
{
|
|
||||||
services.AddCors();
|
|
||||||
services.AddJwtAuth(Configuration);
|
|
||||||
|
|
||||||
services.AddMvc();
|
|
||||||
|
|
||||||
// Add framework services.
|
|
||||||
services.AddMvc(options =>
|
|
||||||
{
|
|
||||||
options.RespectBrowserAcceptHeader = true;
|
|
||||||
}).AddJsonOptions(options =>
|
|
||||||
{
|
|
||||||
options.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
|
|
||||||
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
|
|
||||||
//options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
|
|
||||||
});
|
|
||||||
|
|
||||||
services.AddSwaggerGen(c =>
|
|
||||||
{
|
|
||||||
c.AddSecurityDefinition("Bearer", new ApiKeyScheme() { In = "header", Description = "Please insert JWT with Bearer into field", Name = "Authorization", Type = "apiKey" });
|
|
||||||
|
|
||||||
var info = Configuration.GetSection("Swagger").Get<Swashbuckle.AspNetCore.Swagger.Info>();
|
|
||||||
c.SwaggerDoc(info.Version, info);
|
|
||||||
|
|
||||||
var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "BotSharp.RestApi.xml");
|
|
||||||
c.IncludeXmlComments(filePath);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
|
||||||
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
|
|
||||||
{
|
|
||||||
if (env.IsDevelopment())
|
|
||||||
{
|
|
||||||
app.UseDeveloperExceptionPage();
|
|
||||||
}
|
|
||||||
|
|
||||||
app.UseStaticFiles();
|
|
||||||
|
|
||||||
app.UseSwagger();
|
|
||||||
app.UseSwaggerUI(c =>
|
|
||||||
{
|
|
||||||
c.SupportedSubmitMethods(SubmitMethod.Get, SubmitMethod.Post, SubmitMethod.Put, SubmitMethod.Patch, SubmitMethod.Delete);
|
|
||||||
c.ShowExtensions();
|
|
||||||
c.SwaggerEndpoint("/swagger/v1/swagger.json", "API v1");
|
|
||||||
c.RoutePrefix = "api";
|
|
||||||
});
|
|
||||||
|
|
||||||
app.UseCors(builder => builder.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().AllowCredentials());
|
|
||||||
|
|
||||||
app.UseAuthentication();
|
|
||||||
app.UseMvc();
|
|
||||||
|
|
||||||
app.UseEntityDbContext(Configuration, env.ContentRootPath, new String[] { "BotSharp.Core" });
|
|
||||||
app.UseInitLoader();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
58
README.md
Normal file
58
README.md
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
# BotSharp
|
||||||
|
.Net implementation of open chatbot platform like google Dialogflow. Modulized design supports different NLU engine as backend.
|
||||||
|
|
||||||
|
### Features
|
||||||
|
* Multiple agents management
|
||||||
|
* Context In/ Out with lifespan to make conversion flow be controllable.
|
||||||
|
* Rasa NLU as is one of NLU engine
|
||||||
|
* Import agent from Dialogflow directly
|
||||||
|
|
||||||
|
### How to use
|
||||||
|
````cs
|
||||||
|
[TestMethod]
|
||||||
|
public void RestoreAgentTest()
|
||||||
|
{
|
||||||
|
var rasa = new RasaAi(dc);
|
||||||
|
var importer = new AgentImporterInDialogflow();
|
||||||
|
|
||||||
|
string dataDir = $"{Database.ContentRootPath}\\App_Data\\DbInitializer\\Agents\\";
|
||||||
|
var agent = rasa.RestoreAgent(importer, BOT_NAME, dataDir);
|
||||||
|
agent.Id = BOT_ID;
|
||||||
|
agent.ClientAccessToken = BOT_CLIENT_TOKEN;
|
||||||
|
agent.DeveloperAccessToken = BOT_DEVELOPER_TOKEN;
|
||||||
|
agent.UserId = Guid.NewGuid().ToString();
|
||||||
|
|
||||||
|
int row = dc.DbTran(() => rasa.SaveAgent(agent));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TrainAgentTest()
|
||||||
|
{
|
||||||
|
var config = new AIConfiguration(BOT_CLIENT_TOKEN, SupportedLanguage.English);
|
||||||
|
config.SessionId = Guid.NewGuid().ToString();
|
||||||
|
|
||||||
|
var rasa = new RasaAi(dc, config);
|
||||||
|
rasa.agent = rasa.LoadAgent();
|
||||||
|
string msg = rasa.Train(dc);
|
||||||
|
|
||||||
|
Assert.IsTrue(!String.IsNullOrEmpty(msg));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TextRequest()
|
||||||
|
{
|
||||||
|
var config = new AIConfiguration(BOT_CLIENT_TOKEN, SupportedLanguage.English);
|
||||||
|
config.SessionId = Guid.NewGuid().ToString();
|
||||||
|
|
||||||
|
var rasa = new RasaAi(dc, config);
|
||||||
|
|
||||||
|
var response = rasa.TextRequest(new AIRequest { Query = new String[] { "Hi" } });
|
||||||
|
Assert.AreEqual(response.Result.Metadata.IntentName, "Wakeup");
|
||||||
|
}
|
||||||
|
````
|
||||||
|
|
||||||
|
#### Tip Jar
|
||||||
|
* **Ethereum**
|
||||||
|
|
||||||
|

|
||||||
|
##### 0x2FdE97210cd14F6020C67BAFA61d4c227FdC268d
|
||||||
Loading…
Reference in a new issue