Slide 1

Slide 1 text

グルメ検索AI グルメ検索AI を作った話 口コミを考慮 口コミを考慮 して飲食店を探してくれる グルメAIコンシェルジュ グルメAIコンシェルジュ 2023.07.05 Etaro Ito

Slide 2

Slide 2 text

Agenda 自己紹介 1. 1. サービス紹介 / Demo 2. 2. 技術的な工夫の紹介 / 悩みポイント 3. 3.

Slide 3

Slide 3 text

Agenda 自己紹介 1. 1. サービス紹介 / Demo 2. 2. 技術的な工夫の紹介 / 悩みポイント 3. 3.

Slide 4

Slide 4 text

自己紹介 Etaro Ito 名前 名前 Software Engineer/SRE 仕事 仕事 SNS SNS Twitter: @etaroid

Slide 5

Slide 5 text

Agenda 自己紹介 1. 1. サービス紹介 / Demo 2. 2. 技術的な工夫の紹介 / 悩みポイント 3. 3.

Slide 6

Slide 6 text

どんなサービスか / Demo 百聞は一見にしかずということで 是非試してみて下さい!

Slide 7

Slide 7 text

飲食店検索とLLMの相性の良さ LLMで価値が出しやすいタスク などの口コミを複数読んで ニュアンスを把握した上で、お店を選定している 「大量の文章を読んでニュアンスで検索」

Slide 8

Slide 8 text

UXのこだわり 何でも聞けるサービスがゆえに使い所がハッキリしない 前提情報を含めた長い文章を打つのは大変すぎる 汎用Chat UIの課題 汎用Chat UIの課題 グルメAIコンシェルジュでのこだわり グルメAIコンシェルジュでのこだわり グルメ検索に用途を限定 タイピングの必要がない入力は極力スマホのタップのみ

Slide 9

Slide 9 text

Agenda 自己紹介 1. 1. サービス紹介 / Demo 2. 2. 技術的な工夫の紹介 / 悩みポイント 3. 3.

Slide 10

Slide 10 text

技術的な工夫① - HyDEでユーザーの入力を均一化 - 夜1000円程度で落ち着いて食べられる 一人飯に向いたコスパの良いお店 一人で入りやすく、 サクッと夜ごはんが食べられるお店 LLM LLM Embedding 類似のレビューのRetrievalに使う

Slide 11

Slide 11 text

技術的な工夫② - Function Callingで確実にJSONを取得 - Before Before After After 「JSON形式で出力して下さい」Promptで 無理やり吐き出させた文字列をjson.loads() 一定確率でJSONが吐き出せない Function Callingで「欲しいデータ型を引数 とする擬似関数の呼び出し」を指示し、返っ てきたargumentsをjson.loads() エラー率がほぼ0に

Slide 12

Slide 12 text

悩みポイント - 精度の評価基盤 - Modelの変更、PromptやEmbeddingのTuningなどの精度改 善施策がProduct全体の体験向上に繋がっているかの計測が肝 局所最適になっていないか etc 自然言語の回答の精度の定量的な計測基盤をどう作るか UserからのFeedback、LLMで評価する etc