Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GPTを使った水平思考クイズの投稿サイトを作ってみた
Search
eatski
July 28, 2023
Programming
0
190
GPTを使った水平思考クイズの投稿サイトを作ってみた
https://iesona.com/
eatski
July 28, 2023
Tweet
Share
More Decks by eatski
See All by eatski
Testing Library流でフロントエンドテストのコスパを最大化する
eatski
3
1.2k
Other Decks in Programming
See All in Programming
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
600
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
53
16k
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
AIレビュー導入によるCIツールとの共存と最適化
kamo26sima
1
510
⚪⚪の⚪⚪をSwiftUIで再現す る
u503
0
100
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
210
Rubyと自由とAIと
yotii23
6
1.9k
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
160
AIプログラミング雑キャッチアップ
yuheinakasaka
20
5.2k
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
830
Learning Kotlin with detekt
inouehi
1
200
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
2
740
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Speed Design
sergeychernyshev
27
820
How STYLIGHT went responsive
nonsquared
99
5.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Designing for Performance
lara
605
68k
Transcript
LLM×水平思考クイズ 2023/07/28 by eatski
自己紹介
H.N eatski(いとすき) 仕事 Webアプリケーションエンジニア 趣味 マーダーミステリー、TRPGにハマりたい twitter https://twitter.com/eatski629
今日話すこと LLMを使用して、水平思考クイズを遊ぶ上での課題を解決しました。
水平思考クイズとは 不可解な状況が提示され、「なぜそうなったか」を推理していくクイズ 例:ウミガメのスープ 「ある男性が、海の近くのレストランでウミガメのスープを注文しました。彼はスープを一口飲んだところで、シェフに問いかけました。 『すみません、これはウミガメのスープで合っていますか?』 シェフは『はい、お客様が召し上がったのは間違いなくウミガメのスープですよ』と答えました。 男性は会計を済ませ、家に帰ると自殺してしまいました。」 いったいなぜでしょう? 出典: ポール・スローンのウミガメのスープ
質問をして真相を探る 手がかりとして「はい」「いいえ」で答えられる質問をすることができる。 解答者「ウミガメのスープは自殺の理由に関係がありますか?」 出題者「はい」 解答者「ウミガメのスープは美味しかったですか?」 出題者「わからない」
何が課題? 水平思考クイズは質問に回答するための真相を知っている出題者が必要であるため、1人で遊 ぶことが難しい。
出題者をITを使って代替できないか? →難しい 質問が自然言語 質問文を解析するだけではなく論理的に正しい回答を返す必要がある
LLMを使おう 文章生成AIにクイズの出題者をやってもらおう
開発しました! Yesonor AIとウミガメのスープを楽しめる水平思 考クイズの投稿サイト https://iesona.com/
デモ https://iesona.com/stories/5ajwV3ME5dHyZmd
機能の紹介と実現方法の解説
【機能1】質問に対して回答する機能 どう実現したか GPT(Chat Completions API)に真相と質問を結合したプロンプトを与え、回答を出力とし て得るようにした プロンプトのイメージ ## 命令 以下の情報と例に基づいて、ユーザーの質問にTrue(
はい) 、False( いいえ) 、Unknown( 不明/ 言及なし) で答えなさい。 ## 問題 太郎さんは目がいいのにメガネを掛けている。なぜ? ## 真相 太郎さんはオシャレ好きであり、度が入っていない伊達メガネを掛けている。 ## 質問(解答者の入力した文章) 太郎さんは自分の意思でメガネをかけていますか?
回答の精度を高める工夫 質問の例をGPTに与える 一捻りあるクイズだと通常のLLMの文章生成では作者の意図した回答を得られないこともあ る。 そのため、作者には1つの問題に対して質問とその回答の例を3問以上入力するように求めて いる。(いわゆるfew shot learning) 太郎さんは自分の意思でメガネをかけている? →
はい 太郎さんは男ですか? → わからない 太郎さんのメガネには度が入っている? → いいえ
【機能2】カスタムメッセージ機能 クイズの形式上、質問の回答が「はい」か「いいえ」しかないので解答者視点どうしても情 報が不足してしまう。 そのため、一部の質問に対して回答として作者が設定した独自の返答を返すことができる機 能を実装した。 質問: 太郎さんのメガネには度が入っていますか? 回答: いい質問ですね!太郎さんのメガネは伊達メガネであり、度は入っていません。
どう実現したか 質問の例ごとに任意で独自メッセージを設定できるように 回答者からの質問が いずれかの質問の例と意味が近い距離にある文章であり、 かつ独自メッセージが設定されていた場合、 はい」「いいえ」だけではなくその独自メッセージを返すようにした。
質問同士の距離を計算する この時の質問同士の距離を計算するのに Open AIのEmbeddingsを利用してい る。 ※ Embeddingsとは文章の位置をベクト ルとして返してくれるAPI
サイトを作ってみて 意外にGPTがきちんと回答を返してくれる 解答者視点どうしても情報が足りず手詰まりになってしまう もっといろんな人に遊んでほしい
おわりに Yesonorにぜひ遊びに来てください!
Thank you!