コード例 #1
0
        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

            var agents = await builder.GetAllAgents();

            var agent = agents.FirstOrDefault(x => x.ClientAccessToken == clientAccessToken);

            if (agent == null)
            {
                return(BadRequest("The agent not found."));
            }

            var aIResponse = await builder.TextRequest <AIResponseResult>(new AiRequest
            {
                Text      = request.Query,
                AgentId   = agent.Id,
                SessionId = request.SessionId
            });

            return(new AIResponse
            {
                Result = aIResponse,
                Id = Guid.NewGuid().ToString(),
                Lang = request.Lang,
                SessionId = request.SessionId,
                Status = new AIResponseStatus(),
                Timestamp = DateTime.UtcNow
            });
        }
コード例 #2
0
        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);
        }