コード例 #1
0
        public static void CreateNewIntent(string messageText, string trainingPhrasesPart)
        {
            IntentsClient client = IntentsClient.Create();

            Intent.Types.Message.Types.Text text = new Intent.Types.Message.Types.Text();
            text.Text_.Add(messageText);

            Intent.Types.Message message = new Intent.Types.Message()
            {
                Text = text
            };

            List <Intent.Types.TrainingPhrase.Types.Part> phraseParts = new List <Intent.Types.TrainingPhrase.Types.Part>();

            phraseParts.Add(new Intent.Types.TrainingPhrase.Types.Part()
            {
                Text = trainingPhrasesPart
            });

            Intent.Types.TrainingPhrase trainingPhrase = new Intent.Types.TrainingPhrase();
            trainingPhrase.Parts.AddRange(phraseParts);

            Intent intent = new Intent();

            intent.DisplayName = trainingPhrasesPart;
            intent.Messages.Add(message);
            intent.TrainingPhrases.Add(trainingPhrase);

            Intent newIntent = client.CreateIntent(
                parent: new AgentName(projectId),
                intent: intent
                );

            Console.WriteLine($"Created Intent: {newIntent.Name}");
        }
        public ActionResult CriarIntencao()
        {
            Google.Cloud.Dialogflow.V2.IntentsClient c = IntentsClient.Create();

            Intent intent = new Intent();

            intent.DisplayName = "Curso.Nome";

            var frase1 = new Intent.Types.TrainingPhrase();

            frase1.Parts.Add(new Intent.Types.TrainingPhrase.Types.Part()
            {
                Text = "Qual o valor do curso de "
            });

            frase1.Parts.Add(new Intent.Types.TrainingPhrase.Types.Part()
            {
                Text       = "sistemas de informação",
                EntityType = "Cursos"
            });


            var frase2 = new Intent.Types.TrainingPhrase();

            frase2.Parts.Add(new Intent.Types.TrainingPhrase.Types.Part()
            {
                Text = "Qual o preço do curso de "
            });

            frase2.Parts.Add(new Intent.Types.TrainingPhrase.Types.Part()
            {
                Text       = "sistemas de informação",
                EntityType = "Cursos"
            });


            intent.TrainingPhrases.Add(frase1);
            intent.TrainingPhrases.Add(frase2);

            var resposta = new Intent.Types.Message();

            resposta.Text = new Intent.Types.Message.Types.Text();
            resposta.Text.Text_.Add("1000.00");

            intent.Messages.Add(resposta);

            var request = new Google.Cloud.Dialogflow.V2.CreateIntentRequest();

            request.Intent = intent;
            request.ParentAsProjectAgentName = new ProjectAgentName(_agentName);

            c.CreateIntent(request);

            return(Ok("Entidade criada"));
        }
コード例 #3
0
        // [START dialogflow_create_intent]
        public static int Create(string projectId,
                                 string displayName,
                                 string messageText,
                                 string[] trainingPhrasesParts)
        {
            var client = IntentsClient.Create();

            var text = new Intent.Types.Message.Types.Text();

            text.Text_.Add(messageText);

            var message = new Intent.Types.Message()
            {
                Text = text
            };

            var phraseParts = new List <Intent.Types.TrainingPhrase.Types.Part>();

            foreach (var part in trainingPhrasesParts)
            {
                phraseParts.Add(new Intent.Types.TrainingPhrase.Types.Part()
                {
                    Text = part
                });
            }

            var trainingPhrase = new Intent.Types.TrainingPhrase();

            trainingPhrase.Parts.AddRange(phraseParts);

            var intent = new Intent();

            intent.DisplayName = displayName;
            intent.Messages.Add(message);
            intent.TrainingPhrases.Add(trainingPhrase);

            var newIntent = client.CreateIntent(
                parent: new ProjectAgentName(projectId),
                intent: intent
                );

            Console.WriteLine($"Created Intent: {newIntent.Name}");

            return(0);
        }
コード例 #4
0
        public AlertModel CreateIntent(Intencion intencion, List <FraseEntrenamientoModel> frases)
        {
            var intento   = new IntentoModel();
            var resultado = new AlertModel();

            try
            {
                var fileSavePath = System.Web.HttpContext.Current.Server.MapPath("~/Dialogflow.json/") + ConstantesWeb.DialogFlow.FilePrivateKeyIdJson;

                if ((System.IO.File.Exists(fileSavePath)))
                {
                    var cred    = GoogleCredential.FromFile(fileSavePath);
                    var channel = new Channel(SessionsClient.DefaultEndpoint.Host, SessionsClient.DefaultEndpoint.Port, cred.ToChannelCredentials());
                    var client  = IntentsClient.Create(channel);

                    var intent = new Intent();
                    intent.DisplayName = intencion.Nombre;


                    //Actualizar Frases de Entrenamiento
                    intent.TrainingPhrases.Clear();
                    foreach (var frase_ in frases)
                    {
                        var trainingPhrasesParts = new List <string>();
                        trainingPhrasesParts.Add(frase_.Descripcion);
                        var phraseParts = new List <Intent.Types.TrainingPhrase.Types.Part>();
                        foreach (var part in trainingPhrasesParts)
                        {
                            phraseParts.Add(new Intent.Types.TrainingPhrase.Types.Part()
                            {
                                Text = part
                            });
                        }
                        var trainingPhrase = new Intent.Types.TrainingPhrase();
                        trainingPhrase.Parts.AddRange(phraseParts);
                        intent.TrainingPhrases.Add(trainingPhrase);
                    }

                    //Actualizar Respuesta
                    intent.Messages.Clear();
                    var text = new Intent.Types.Message.Types.Text();
                    text.Text_.Add(intencion.Respuesta);
                    var message_ = new Intent.Types.Message()
                    {
                        Text = text
                    };
                    intent.Messages.Add(message_);


                    var newIntent = client.CreateIntent(
                        parent: new ProjectAgentName(ConstantesWeb.DialogFlow.ProjectId),
                        intent: intent
                        );

                    resultado.Id          = newIntent.IntentName.IntentId;
                    resultado.DisplayName = newIntent.DisplayName;
                    oIBLSolicitud.InsertarIntencionConsulta(newIntent.DisplayName, newIntent.IntentName.IntentId, ConvertidorUtil.GmtToPacific(DateTime.Now), intencion.IdIntencionPadre);
                    resultado.Mensaje = "INSERT-OK";
                }
            }
            catch (Exception ex)
            {
                resultado.MessageError = "ERROR: " + ex.Message;
                resultado.Mensaje      = "INSERT-ERROR";
            }

            return(resultado);
        }
コード例 #5
0
        public AlertModel UpdateIntent(Intencion intencion, List <FraseEntrenamientoModel> frases)
        {
            var intento   = new IntentoModel();
            var resultado = new AlertModel();

            try
            {
                var fileSavePath = System.Web.HttpContext.Current.Server.MapPath("~/Dialogflow.json/") + ConstantesWeb.DialogFlow.FilePrivateKeyIdJson;

                if ((System.IO.File.Exists(fileSavePath)))
                {
                    var cred = GoogleCredential.FromFile(fileSavePath);

                    var channel = new Channel(SessionsClient.DefaultEndpoint.Host, SessionsClient.DefaultEndpoint.Port, cred.ToChannelCredentials());

                    var client = IntentsClient.Create(channel);

                    GetIntentRequest getRequest = new GetIntentRequest
                    {
                        IntentName = new IntentName(ConstantesWeb.DialogFlow.ProjectId, intencion.IdDialogFlow),
                        IntentView = IntentView.Full
                    };


                    var intent = client.GetIntent(getRequest);



                    //Actualizar Frases de Entrenamiento
                    intent.TrainingPhrases.Clear();
                    foreach (var frase_ in frases)
                    {
                        var trainingPhrasesParts = new List <string>();
                        trainingPhrasesParts.Add(frase_.Descripcion);
                        var phraseParts = new List <Intent.Types.TrainingPhrase.Types.Part>();
                        foreach (var part in trainingPhrasesParts)
                        {
                            phraseParts.Add(new Intent.Types.TrainingPhrase.Types.Part()
                            {
                                Text = part
                            });
                        }
                        var trainingPhrase = new Intent.Types.TrainingPhrase();
                        trainingPhrase.Parts.AddRange(phraseParts);
                        intent.TrainingPhrases.Add(trainingPhrase);
                    }

                    //Actualizar Respuesta
                    intent.Messages.Clear();
                    var text = new Intent.Types.Message.Types.Text();
                    text.Text_.Add(intencion.Respuesta);
                    var message_ = new Intent.Types.Message()
                    {
                        Text = text
                    };
                    intent.Messages.Add(message_);


                    UpdateIntentRequest updRequest = new UpdateIntentRequest
                    {
                        Intent = intent
                    };
                    Intent response = client.UpdateIntent(updRequest);


                    resultado.DisplayName = response.DisplayName;
                    resultado.Mensaje     = "UPDATE-OK";
                }
            }
            catch (Exception ex)
            {
                resultado.MessageError = "ERROR: " + ex.Message;
                resultado.Mensaje      = "UPDATE-ERROR";
            }

            return(resultado);
        }