1: Add NAudio library to handle audio stream. 2: Change Settings location. 3: Organize docker files.

This commit is contained in:
Oceania2018 2018-09-23 10:16:29 -05:00
parent 6898d851f7
commit 1dad8be2be
21 changed files with 329 additions and 66 deletions

View file

@ -51,7 +51,8 @@ namespace BotSharp.Core.UnitTest
agents.ForEach(agentHeader => {
var bot = new BotSharpAi();
bot.RestoreAgent<AgentImporterInDialogflow>(dataPath);
bot.LoadAgentFromFile(dataPath);
bot.SaveAgentToDb();
});
}

View file

@ -81,6 +81,7 @@
<ItemGroup>
<ProjectReference Include="..\BotSharp.Core\BotSharp.Core.csproj" />
<ProjectReference Include="..\BotSharp.Voice\BotSharp.Voice.csproj" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,18 @@
using BotSharp.Voice;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Text;
namespace BotSharp.RestApi.Voice
{
[Route("[controller]/[action]")]
public class WakeupWordController : ControllerBase
{
[HttpGet]
public void Record()
{
new AudioCapture().Start();
}
}
}

View file

@ -0,0 +1,14 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace BotSharp.Voice.UnitTest
{
[TestClass]
public class AudioCaptureTest
{
[TestMethod]
public void TestMethod1()
{
}
}
}

View file

@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<IsPackable>false</IsPackable>
<Configurations>Debug;Release;DIALOGFLOW;RASA</Configurations>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
<PackageReference Include="MSTest.TestAdapter" Version="1.3.2" />
<PackageReference Include="MSTest.TestFramework" Version="1.3.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BotSharp.Voice\BotSharp.Voice.csproj" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,49 @@
using NAudio.Wave;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace BotSharp.Voice
{
public class AudioCapture
{
public async void Start()
{
List<byte> bytes = new List<byte>();
object writeLock = new object();
bool writeMore = true;
var waveIn = new WaveInEvent();
waveIn.DeviceNumber = 0;
waveIn.WaveFormat = new WaveFormat(16000, 1);
waveIn.DataAvailable +=
(object sender, WaveInEventArgs args) =>
{
bytes.AddRange(args.Buffer);
lock (writeLock)
{
if (!writeMore) return;
}
};
waveIn.StartRecording();
Console.WriteLine("Speak now.");
await Task.Delay(TimeSpan.FromSeconds(3));
// Stop recording and shut down.
waveIn.StopRecording();
Console.WriteLine("Capture stopped.");
byte[] buffer = bytes.ToArray();
for (int i = 0; i < buffer.Length; i++)
{
Console.WriteLine($"Buffer {i} ");
}
}
}
}

View file

@ -9,4 +9,13 @@
<OutputPath>bin\RASA</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DIALOGFLOW|AnyCPU'">
<DefineConstants>DEBUG;TRACE</DefineConstants>
<Optimize>false</Optimize>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NAudio" Version="1.8.4" />
</ItemGroup>
</Project>

View file

@ -27,11 +27,10 @@ namespace BotSharp.WebHost
}
settingsFolder = Path.Combine(dir, "Settings");
Console.WriteLine($"Settings folder: {settingsFolder}");
Console.WriteLine($"Read settings from {settingsFolder}");
var settings = Directory.GetFiles(settingsFolder, "*.json");
settings.ToList().ForEach(setting =>
{
Console.WriteLine($"Read {setting}");
config.AddJsonFile(setting, optional: false, reloadOnChange: true);
});
})

View file

@ -23,70 +23,202 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Voice", "BotSharp.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Vision", "BotSharp.Vision\BotSharp.Vision.csproj", "{75B02A7C-EDB3-4082-9C1F-471773E760C3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Voice.UnitTest", "BotSharp.Voice.UnitTest\BotSharp.Voice.UnitTest.csproj", "{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Algorithm.UnitTest", "BotSharp.Algorithm.UnitTest\BotSharp.Algorithm.UnitTest.csproj", "{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.NLP.UnitTest", "BotSharp.NLP.UnitTest\BotSharp.NLP.UnitTest.csproj", "{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Core.UnitTest", "BotSharp.Core.UnitTest\BotSharp.Core.UnitTest.csproj", "{30F80E7D-951A-4E8F-9C3C-2C866528EABD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
DIALOGFLOW|Any CPU = DIALOGFLOW|Any CPU
DIALOGFLOW|x64 = DIALOGFLOW|x64
RASA|Any CPU = RASA|Any CPU
RASA|x64 = RASA|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Debug|x64.ActiveCfg = Debug|x64
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Debug|x64.Build.0 = Debug|x64
{95780673-2A1A-4953-962F-C46CBFDD07FF}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{95780673-2A1A-4953-962F-C46CBFDD07FF}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{95780673-2A1A-4953-962F-C46CBFDD07FF}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.RASA|Any CPU.Build.0 = RASA|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.RASA|x64.ActiveCfg = RASA|x64
{95780673-2A1A-4953-962F-C46CBFDD07FF}.RASA|x64.Build.0 = RASA|x64
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Release|Any CPU.Build.0 = Release|Any CPU
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Release|x64.ActiveCfg = Release|x64
{95780673-2A1A-4953-962F-C46CBFDD07FF}.Release|x64.Build.0 = Release|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Debug|Any CPU.Build.0 = Debug|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Debug|x64.ActiveCfg = Debug|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Debug|x64.Build.0 = Debug|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.RASA|Any CPU.Build.0 = RASA|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.RASA|x64.ActiveCfg = RASA|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.RASA|x64.Build.0 = RASA|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Release|Any CPU.ActiveCfg = Release|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Release|Any CPU.Build.0 = Release|Any CPU
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Release|x64.ActiveCfg = Release|x64
{80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Release|x64.Build.0 = Release|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Debug|x64.ActiveCfg = Debug|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Debug|x64.Build.0 = Debug|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.RASA|Any CPU.Build.0 = RASA|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.RASA|x64.ActiveCfg = RASA|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.RASA|x64.Build.0 = RASA|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Release|Any CPU.Build.0 = Release|Any CPU
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Release|x64.ActiveCfg = Release|x64
{03DCA427-327A-4FC9-9A2F-57D17F16708C}.Release|x64.Build.0 = Release|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Debug|x64.ActiveCfg = Debug|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Debug|x64.Build.0 = Debug|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.RASA|Any CPU.Build.0 = RASA|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.RASA|x64.ActiveCfg = RASA|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.RASA|x64.Build.0 = RASA|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Release|Any CPU.Build.0 = Release|Any CPU
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Release|x64.ActiveCfg = Release|x64
{BE1A033F-AC14-4654-95C3-4B33AF8F6BBF}.Release|x64.Build.0 = Release|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Debug|x64.ActiveCfg = Debug|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Debug|x64.Build.0 = Debug|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.RASA|Any CPU.Build.0 = RASA|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.RASA|x64.ActiveCfg = RASA|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.RASA|x64.Build.0 = RASA|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Release|Any CPU.Build.0 = Release|Any CPU
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Release|x64.ActiveCfg = Release|x64
{C2FDC855-BD88-4041-B0FF-3AA8A1C11A22}.Release|x64.Build.0 = Release|x64
{184F8B93-68C2-4849-9625-4023C4360990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.Debug|Any CPU.Build.0 = Debug|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.Debug|x64.ActiveCfg = Debug|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.Debug|x64.Build.0 = Debug|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.RASA|Any CPU.Build.0 = RASA|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.RASA|x64.ActiveCfg = RASA|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.RASA|x64.Build.0 = RASA|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.Release|Any CPU.ActiveCfg = Release|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.Release|Any CPU.Build.0 = Release|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.Release|x64.ActiveCfg = Release|Any CPU
{184F8B93-68C2-4849-9625-4023C4360990}.Release|x64.Build.0 = Release|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Debug|x64.ActiveCfg = Debug|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Debug|x64.Build.0 = Debug|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.RASA|Any CPU.Build.0 = RASA|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.RASA|x64.ActiveCfg = RASA|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.RASA|x64.Build.0 = RASA|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Release|Any CPU.Build.0 = Release|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Release|x64.ActiveCfg = Release|Any CPU
{75B02A7C-EDB3-4082-9C1F-471773E760C3}.Release|x64.Build.0 = Release|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Debug|x64.ActiveCfg = Debug|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Debug|x64.Build.0 = Debug|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.DIALOGFLOW|x64.ActiveCfg = Debug|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.DIALOGFLOW|x64.Build.0 = Debug|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.RASA|Any CPU.Build.0 = RASA|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.RASA|x64.ActiveCfg = Release|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.RASA|x64.Build.0 = Release|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Release|Any CPU.Build.0 = Release|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Release|x64.ActiveCfg = Release|Any CPU
{3F0CAAD4-564B-43FF-90BF-26AC47C9D677}.Release|x64.Build.0 = Release|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Debug|x64.ActiveCfg = Debug|x64
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Debug|x64.Build.0 = Debug|x64
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.RASA|Any CPU.Build.0 = RASA|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.RASA|x64.ActiveCfg = RASA|x64
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.RASA|x64.Build.0 = RASA|x64
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Release|Any CPU.Build.0 = Release|Any CPU
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Release|x64.ActiveCfg = Release|x64
{3C702980-826B-4F7D-8D5A-C9F1C811AAE2}.Release|x64.Build.0 = Release|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Debug|x64.ActiveCfg = Debug|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Debug|x64.Build.0 = Debug|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.RASA|Any CPU.Build.0 = RASA|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.RASA|x64.ActiveCfg = RASA|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.RASA|x64.Build.0 = RASA|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Release|Any CPU.Build.0 = Release|Any CPU
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Release|x64.ActiveCfg = Release|x64
{8A1F6277-FFCB-4CCD-B798-876D8BE525A9}.Release|x64.Build.0 = Release|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Debug|x64.ActiveCfg = Debug|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Debug|x64.Build.0 = Debug|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.DIALOGFLOW|Any CPU.ActiveCfg = DIALOGFLOW|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.DIALOGFLOW|Any CPU.Build.0 = DIALOGFLOW|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.DIALOGFLOW|x64.ActiveCfg = DIALOGFLOW|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.DIALOGFLOW|x64.Build.0 = DIALOGFLOW|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.RASA|Any CPU.ActiveCfg = RASA|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.RASA|Any CPU.Build.0 = RASA|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.RASA|x64.ActiveCfg = RASA|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.RASA|x64.Build.0 = RASA|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Release|Any CPU.Build.0 = Release|Any CPU
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Release|x64.ActiveCfg = Release|x64
{30F80E7D-951A-4E8F-9C3C-2C866528EABD}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -57,7 +57,7 @@ You can use docker compose to run BotSharp quickly, make sure you've got `Docker
PS D:\> git clone https://github.com/Oceania2018/BotSharp
PS D:\> cd BotSharp
PS D:\BotSharp\> docker-compose -f docker-compose-articulateui.yml up
PS D:\BotSharp\> docker-compose -f dockerfiles/docker-compose-articulateui.yml up
Point your web browser at http://localhost:3000 and enjoy BotSharp with Articulate-UI.

View file

@ -4,12 +4,12 @@ WORKDIR /source
# copies the rest of your code
COPY . .
# RUN dotnet build
RUN dotnet publish BotSharp.WebHost/BotSharp.WebHost.csproj --configuration DIALOGFLOW --output /app
# copy Settings folder
WORKDIR /app
COPY Settings Settings
RUN mkdir App_Data/Projects
# stage 2: run

View file

@ -0,0 +1,16 @@
# stage 1: build
FROM microsoft/dotnet AS botsharp
WORKDIR /source
# copies the rest of your code
COPY . .
# RUN dotnet build
RUN dotnet publish BotSharp.WebHost/BotSharp.WebHost.csproj --configuration RASA --output /app
# copy Settings folder
WORKDIR /app
RUN mkdir App_Data/Projects
# stage 2: run
ENTRYPOINT [ "dotnet", "BotSharp.WebHost.dll" ]

View file

@ -13,7 +13,10 @@ You can use docker compose to run, make sure you've got `Docker`_ installed.
PS D:\> git clone https://github.com/Oceania2018/BotSharp
PS D:\> cd BotSharp
1. Integrate with `Articulate UI`_
1. Integrate with `Botpress`_
2. Integrate with `Articulate UI`_
::
@ -22,17 +25,17 @@ You can use docker compose to run, make sure you've got `Docker`_ installed.
Point your web browser at http://localhost:3000 and enjoy Articulate-UI with BotSharp.
|ArticulateHomeScreenshot|
2. Integrate with `Rasa UI`_, you can use docker compose to run.
3. Integrate with `Rasa UI`_, you can use docker compose to run.
::
PS D:\BotSharp\> docker-compose -f docker-compose-rasaui.yml up
PS D:\BotSharp\> docker-compose -f dockerfiles/docker-compose-rasaui.yml up
Point your web browser at http://localhost:5001 and enjoy Rasa-UI with BotSharp.
|RasaUIHomeScreenshot|
3. Integrate with `Rasa Talk`_
4. Integrate with `Rasa Talk`_
Building BotSharp
@ -61,7 +64,7 @@ Build docker image:
::
PS D:\BotSharp\> docker build -t botsharp .
PS D:\BotSharp\> docker build -f dockerfiles/DIALOGFLOW.Dockerfile -t botsharp .
Start a container:
@ -95,7 +98,7 @@ Use BotSharp.NLP as a natural language processing toolkit alone.
PM> Install-Package BotSharp.NLP
.. _Botpress: https://github.com/botpress/botpress
.. _Rasa UI: https://github.com/paschmann/rasa-ui
.. _Articulate UI: https://spg.ai/projects/articulate
.. _Rasa Talk: https://github.com/jackdh/RasaTalk