Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【推しのLINE】 - 推しとLINEがしたい! (Stapy版)

【推しのLINE】 - 推しとLINEがしたい! (Stapy版)

2023年7月13日 「みんなのPython勉強会 #95」で発表したライトニングトークの資料です。
2023年8月24日 「夏休み明けの!!【第3回】最近の開発報告LT会」 でも同じ内容で登壇しました。
詳細はこちら → https://qiita.com/hayate_h/items/2e8ee634b456d751f744

※ スライド内の一部文字がかすれているのは、Speker Deck側の不具合です。(太字がかすれる模様)
※ 2023年8月24日: 一部スライドを修正

Hayate.H

July 13, 2023
Tweet

More Decks by Hayate.H

Other Decks in Technology

Transcript

  1. 「しりとり上手の高木さん」 特徴 WHO からかい上手の高木さん ( © 山本崇一朗 小学館 / からかい上手の高木さん

    ) WHAT しりとりをする POINT 文脈に合わせて からかってくれる ※ アイコン画像は、SNSでの個人利用が許可されているものを使っています。
  2. アーキテクチャ AWS Cloud AWS Lambda Amazon API Gateway LINE App

    GPT API LINE Services Messaging API Amazon DynamoDB AWS Secrets Manager OpenAI AWS CDK
  3. アーキテクチャ AWS Cloud AWS Lambda Amazon API Gateway LINE App

    GPT API LINE Services Messaging API Amazon DynamoDB AWS Secrets Manager OpenAI AWS CDK 工夫したところ GPTのプロンプト 1 文脈に沿った会話の実現 2 AWS CDK を用いた IaC 3
  4. GPTのプロンプト 1 文脈 2 IaC 3 問題点 ・ GPTは(意外と)しりとりが苦手 ・

    好きゆえに「からかう」という概念の難しさ ・ チャットにおける「高木さん」らしさ
  5. GPTのプロンプト 1 文脈 2 IaC 3 #「しりとり」のルールについて - 「しりとり」とは言葉遊びの一つです。単語の最後の文字を抜き出し、 その文字から始まる単語を回答していくゲームです。

    - 例えば、「未来(みらい)」→「犬(いぬ)」→「ぬいぐるみ」→「三 日月(みかづき)」→「きつつき」→「着物(きもの)」→「海苔( のり)」→「りす」等のやりとりが想定されます。 - 単語の末尾が「ん」で終わる言葉を回答すると負けというルールです。 例えば「リボン」「香港(ほんこん)」などは使ってはいけません。 - 一度回答済みの言葉を使うことも、負けというルールです。(以下略) しりとりのルールと例を教示 キャラクター情報や話し方を教示 # 高木さんの基本情報 - 高木さんは、田舎の中学校に通う中学2年生の女子生徒です。 とても明るいキャラクターで礼儀正しいです。成績優秀で~(以下略) - 高木さんの口調は~(以下略)
  6. 文脈に沿った会話の実現 2 GPT 1 IaC 3 問題点 ・ GPT の

    API は、セッションを持たない → チャットの履歴を持たない ・具体的な問題 ✓ しりとりなのに、既出の単語を回答する ✓ チャットごとに話がコロコロ変わる
  7. 文脈に沿った会話の実現 2 GPT 1 IaC 3 問題点 ・ GPT の

    API は、セッションを持たない → チャットの履歴を持たない ・具体的な問題 ✓ しりとりなのに、既出の単語を回答する ✓ チャットごとに話がコロコロ変わる 解決法 ・ DB にチャット内容を保持 ✓ GPT の API 呼び出し時に、過去のチャット文を送信する ✓ Token の上限に達したら、DB の Item を削除(洗替処理)
  8. AWS CDK を用いた IaC 3 GPT 1 文脈 2 特徴

    ・ AWS 環境(Pythonロジック部やDB)をコードで定義 ・ 手作業で構築せず、作業ミスが減るメリット ・『プログラミング言語で書ける!』というのが CDK の売り ・ 他の IaC ツールは、YAML や JSON などを使用 AWS CDK
  9. AWS CDK を用いた IaC 3 GPT 1 文脈 2 ・

    便利 ・ 微妙 特徴 ・ AWS 環境(Pythonロジック部やDB)をコードで定義 ・ 手作業で構築せず、作業ミスが減るメリット ・『プログラミング言語で書ける!』というのが CDK の売り ・ 他の IaC ツールは、YAML や JSON などを使用 ・JSON や YAML に比べると可読性は高い ・ 単純に「慣れ」の問題かもしれません ・公式ドキュメント以外に情報が少なくて辛い ・ CloudFormation や Amplify の方が、情報は断然多い 今回はじめて使ってみて… AWS CDK
  10. アーキテクチャ AWS Cloud AWS Lambda Amazon API Gateway LINE App

    GPT API LINE Services Messaging API Amazon DynamoDB AWS Secrets Manager OpenAI AWS CDK
  11. EOF