fix training bug

This commit is contained in:
Oceania2018 2018-10-02 07:13:28 -05:00
parent ae99ce5ba7
commit 989d0362b9
6 changed files with 36 additions and 35 deletions

View file

@ -15,7 +15,7 @@
},
"BotSharpIntentClassifier": {
"classifer": "SVMClassifier"
"classifer": "NaiveBayesClassifier"
},
"BotSharpTagger": {

View file

@ -28,7 +28,7 @@ namespace Platform.Articulate
public class ArticulateAi<TAgent> :
PlatformBuilderBase<TAgent>,
IPlatformBuilder<TAgent>
where TAgent : AgentBase
where TAgent : AgentModel
{
public DialogRequestOptions RequestOptions { get; set; }
@ -38,7 +38,7 @@ namespace Platform.Articulate
foreach (TAgent agent in results)
{
var domain = (agent as AgentModel).Domains.FirstOrDefault(x => x.Id == domainId);
var domain = agent.Domains.FirstOrDefault(x => x.Id == domainId);
if (domain != null)
{
@ -55,7 +55,7 @@ namespace Platform.Articulate
foreach (TAgent agent in results)
{
foreach (DomainModel domain in (agent as AgentModel).Domains)
foreach (DomainModel domain in agent.Domains)
{
var intent = domain.Intents.FirstOrDefault(x => x.Id == intentId);
if (intent != null)
@ -72,10 +72,8 @@ namespace Platform.Articulate
{
var intents = new List<IntentModel>();
var allAgents = GetAllAgents();
foreach (TAgent agt in allAgents)
foreach (TAgent agent in allAgents)
{
var agent = agt as AgentModel;
foreach (DomainModel domain in agent.Domains)
{
foreach (IntentModel intent in domain.Intents)
@ -94,8 +92,7 @@ namespace Platform.Articulate
public TrainingCorpus ExtractorCorpus(TAgent agent)
{
var corpus = new TrainingCorpus();
var agt = agent as AgentModel;
corpus.Entities = agt.Entities.Select(x => new TrainingEntity
corpus.Entities = agent.Entities.Select(x => new TrainingEntity
{
Entity = x.EntityName,
Values = x.Examples.Select(y => new TrainingEntitySynonym
@ -107,7 +104,7 @@ namespace Platform.Articulate
corpus.UserSays = new List<TrainingIntentExpression<TrainingIntentExpressionPart>>();
foreach(DomainModel domain in agt.Domains)
foreach(DomainModel domain in agent.Domains)
{
foreach(IntentModel intent in domain.Intents)
{
@ -133,6 +130,13 @@ namespace Platform.Articulate
return corpus;
}
public override bool SaveAgent(TAgent agent)
{
agent.Status = "Changed";
agent.LastTraining = DateTime.UtcNow;
return base.SaveAgent(agent);
}
public async Task<bool> Train(TAgent agent, TrainingCorpus corpus)
{
string agentDir = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects", agent.Id);

View file

@ -68,7 +68,7 @@ namespace Platform.Articulate.Controllers
public AgentModel GetAgentById([FromRoute] string agentId)
{
var agent = builder.GetAgentById(agentId);
return agent;
}
@ -76,7 +76,7 @@ namespace Platform.Articulate.Controllers
public AgentModel GetAgentByName([FromRoute] string agentName)
{
var agent = builder.GetAgentByName(agentName);
return agent;
}
}

View file

@ -35,5 +35,7 @@ namespace Platform.Articulate.Models
public List<DomainModel> Domains { get; set; }
public List<EntityModel> Entities { get; set; }
public DateTime LastTraining { get; set; }
}
}

View file

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

View file

@ -1,37 +1,16 @@
version: '3.0'
services:
api:
image: samtecspg/articulate-api:0.12.1
ports: ['0.0.0.0:7500:7500']
networks: ['botsharp-network']
entrypoint: ['node', 'start.js']
environment:
- SWAGGER_BASE_PATH
ui:
image: samtecspg/articulate-ui:0.12.1
ports: ['0.0.0.0:3000:3000']
networks: ['botsharp-network']
environment:
- rasanluendpoint=http://rasa:5000
- API_URL
rasa:
botsharp:
image: botsharpdocker/botsharp-rasa:latest
ports: ['0.0.0.0:5000:5000']
networks: ['botsharp-network']
duckling:
image: samtecspg/duckling:0.1.6.0
ports: ['0.0.0.0:8000:8000']
networks: ['botsharp-network']
redis:
image: redis:4.0.6-alpine
ports: ['0.0.0.0:6379:6379']
networks: ['botsharp-network']
command: redis-server --appendonly yes
networks: {botsharp-network: {}}