Find a file
2018-07-18 22:31:17 -05:00
.vscode fill parameter value for reply message 2018-05-09 09:50:16 -05:00
BotSharp.Core fix dialogflow v1 query post format bug. 2018-07-18 22:31:17 -05:00
BotSharp.MachineLearning added facebook messenger webhook 2018-07-18 20:56:17 -05:00
BotSharp.RestApi fix dialogflow v1 query post format bug. 2018-07-18 22:31:17 -05:00
BotSharp.UnitTest fix dialogflow v1 query post format bug. 2018-07-18 22:31:17 -05:00
BotSharp.WebHost added facebook messenger webhook 2018-07-18 20:56:17 -05:00
.gitignore Add WebHost and RestApi infrastructure. 2018-07-13 07:21:40 -05:00
BotSharp.sln Add machine learning project. 2018-07-17 11:22:31 -05:00
LICENSE Initial commit 2017-12-17 07:51:23 -06:00
README.md intent detail fix 2018-06-02 22:53:54 -05:00

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

PM> Install-Package BotSharp.Core -Version 1.1.0
[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

Ethereum

0x2FdE97210cd14F6020C67BAFA61d4c227FdC268d