public async Task <ActionResult <ModelMetaData> > Train([FromQuery] string agentId) { var agent = await builder.GetAgentById(agentId); if (agent == null) { agent = await builder.GetAgentByName(agentId); } var corpus = await builder.ExtractorCorpus(agent); var meta = await builder.Train(agent, corpus, new BotTrainOptions { }); return(meta); }
public async Task <ActionResult <AIResponse> > Query(QueryModel request) { String clientAccessToken = (User.Identity as ClaimsIdentity).Claims.FirstOrDefault(x => x.Type == "UserId")?.Value; // find a model according to clientAccessToken AgentModel agent = null; string projectsPath = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects"); string[] d1 = Directory.GetDirectories(projectsPath); for (int i = 0; i < d1.Length; i++) { string[] d2 = Directory.GetDirectories(d1[i]); var raw = Path.Combine(d1[i], "tmp"); if (!Directory.Exists(raw)) { continue; } string metaJson = System.IO.File.ReadAllText(Path.Combine(raw, "meta.json")); var meta = JsonConvert.DeserializeObject <AgentImportHeader>(metaJson); if (meta.ClientAccessToken == clientAccessToken) { agent = await builder.GetAgentById(meta.Id); break; } } ; if (agent == null) { return(BadRequest("The agent not found.")); } var aIResponse = builder.TextRequest(new AiRequest { Text = request.Query, AgentId = agent.Id, SessionId = request.SessionId }); return(null); }