Ceci est une suite de l'article "J'ai essayé de reproduire M. Saito qui apparaît dans" Aine Kleine Nachtmusik "comme M. Sakurai de Mischil" Devenir. Si vous êtes intéressé, je vous recommande de lire d'abord l'article ci-dessus.
Tout d'abord, je vais vous présenter ce que j'ai fait.
Si vous vous inscrivez comme ami ici, vous pouvez l'essayer!
https://lin.ee/WEqJMO7
C'est simple à utiliser. Je vais parler à M. Sakurai. Ensuite, M. Sakurai chantera une partie de la chanson de Mischil qui correspond à ce sentiment. (Pour être exact, il répondra par texte) En coulisses, j'utilise l'API d'analyse des émotions de COTOHA Il renvoie une partie des paroles proche de la phrase envoyée et du score d'émotion. Par conséquent, veuillez comprendre qu'il existe de nombreux cas où le contenu ne correspond pas beaucoup. (Veuillez l'utiliser comme si vous jouiez.)
Je sens que je suis encourageant avec des expressions telles que l'espoir scintillant de fatigue de la maîtrise de soi causée par Corona.
Veuillez vous référer à Article précédent pour la partie enregistrée dans la DB qui stocke les phrases de paroles et les scores d'émotion. Cette fois, je présenterai la configuration de LINE à la réponse. La configuration est simple et utilise l'API de messagerie de LINE, l'API Gateway d'AWS, Lambda, RDS et l'API de COTOHA.
①-②: Appeler API Gateway depuis LINE par Web Hook à l'aide de l'API de messagerie LINE ③: Appelez la fonction Lambda créée en définissant API Gateway ④: Obtenez le score d'émotion du message envoyé en appelant l'API COTOHA ⑤: Obtenez la phrase des paroles avec un score d'émotion similaire à partir de la base de données créée sur RDS ⑥-⑦: la phrase acquise est renvoyée sous forme de réponse LINE par l'API de messagerie.
J'expliquerai l'API Gateway, Lambda et l'API de messagerie LINE qui peuvent être difficiles à configurer. Il n'y a pas de paramètres particulièrement difficiles pour RDS et COTOHA, je les omettrai donc.
(1) Créer une nouvelle API à partir d'API Gateway
(2) Créé en tant que nouvelle API REST
(3) Création d'une nouvelle méthode
Créer par POST.
(4) Enregistrement Lambda
Entrez le type d'intégration "Fonction Lambda" et le nom Lambda dans la fonction Lambda afin que Lambda puisse l'exécuter.
(5) Cliquez sur la demande d'intégration
(6) Paramètres d'en-tête HTTP
Enregistrez le nom comme Authentification et la source de mappage comme «Porteur \ <Jeton d'accès LINE >». L'obtention du jeton d'accès LINE sera décrite plus loin. Après vous être enregistré, saisissez-le ici.
(7) Déployer l'API
Cliquez sur Actions → Déployer l'API Entrez le nom de l'étape et déployez. (Ici, ça s'appelle prod)
(8) Émission de l'URI API
Une fois déployée, l'URL aurait dû être publiée dans Stage → prod → POST dans le menu de gauche. Je l'enregistrerai plus tard en tant que Webhook de l'API de messagerie LINE, donc copiez l'URL quelque part.
Pour le code source, reportez-vous à lambda / lambda.py sur GitHub. Veuillez noter que les informations de connexion à la base de données, les informations de connexion à l'API COTOHA et les informations sur le jeton de l'API LINE sont enregistrées dans les variables d'environnement Lambda.
De plus, mysql-connector-python n'est pas inclus par défaut, vous devez donc l'inclure sur Lambda. Cette fois, j'ai utilisé la couche Lambda. Veuillez consulter ici pour savoir comment l'utiliser.
Si vous êtes nouveau dans la création de chaînes, veuillez vous référer à ici.
Les paramètres minimum requis sont les suivants.
(1) Paramètres du Webhook
Enregistrez l'URL créée à l'avance avec API Gateway.
(2) Émission d'un jeton d'accès
(3) Désactivez le paramètre de réponse automatique
Si vous ne définissez pas cela, vous obtiendrez une réponse non pertinente.
(4) Confirmation des paramètres de l'API de messagerie
Aller au gestionnaire de compte officiel LINE Cliquez sur l'API de messagerie dans le menu de gauche et vérifiez si l'URL du Webhook est enregistrée. S'il n'est pas enregistré, entrez l'URL de l'API de la même manière que dans (1).
J'ai fait référence à l'article suivant.
Développement de LINE Bot avec API Gateway + Lambda
Recommended Posts