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
ChatGPTを活用して対話的な ファッション検索サービスを作った話
Search
kishimoto
June 27, 2023
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ChatGPTを活用して対話的な ファッション検索サービスを作った話
kishimoto
June 27, 2023
More Decks by kishimoto
See All by kishimoto
LLMと検索エンジン・レコメンドエンジンの協調動作への歩み
kishimotobanana
1
680
LLMと自社データベースの協調動作による ファッションECへの応用
kishimotobanana
0
1.6k
マイクロアドにおけるCTR予測への取り組み
kishimotobanana
4
10k
An_Attention-Based_User_Behavior_Modeling_Framework_for_Recommendation.pdf
kishimotobanana
1
2.2k
Other Decks in Technology
See All in Technology
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
1k
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
280
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
14
4.6k
そのドキュメント、自動化しませんか?
yuksew
1
410
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
140
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
260
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
140
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
400
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
4
430
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
150
AI工学特論: MLOps・継続的評価
asei
5
1.2k
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
170
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.2k
Exploring anti-patterns in Rails
aemeredith
3
450
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Into the Great Unknown - MozCon
thekraken
41
2.6k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
The SEO identity crisis: Don't let AI make you average
varn
0
520
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
340
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Transcript
1 ChatGPTを活用して対話的な ファッション検索サービスを作った話
内容 • 自己紹介 • DROBEのサービスについて • ChatGPTを使ったサービスの概要 •
実現方法 • システム構成 • 今後の展望
自己紹介 株式会社 DROBE 岸本将志 • 主に機械学習を用いたサービス開発 • 周辺のインフラなど みずほ情報総研
マイクロアド マイクロアド Gunosy DROBE
DROBEのサービスの流れ 70問のアンケートに答える 1 2 3 自宅にスタイリストが選んだ商品 が届く 気に入ったもののみ購入、 それ以外を返品
DROBEのサービスの流れ • 自然言語によるコーディネートの解説のデータ(スタイリングカルテ)
DROBEの保持する主なデータ • ユーザーのプロフィール • アイテムの情報 • アイテムのコーディネート •
コーディネートのポイント • ユーザーの自然言語によるスタイリングの要望 ◦ ”結婚式に着ていける服をお願いします”のような
ChatGPTを使ってサービスを開発しました • 自然言語で検索が可能 • コンテキストを持った対話型の探索が可能
ChatGPTを使って爆速で開発できるサービスを考えた • ユーザーが自然言語でアイテムを対話的に検索 ◦ スタイリングカルテを活用すればできそう Streamlitで一日で作った 社内確認用モック
実現方法 カテゴリ:パンツ 色:ベージュ 素材:ポリエステル 柄:無地 シルエット:テーパード
プロンプトの工夫 あなたは洋服のスタイリングを行うアシスタントです。以下のような json形式でリクエストが送られます。 ''' {"items":[{"色":"ブラウン","カテゴリ":"ジャケット","素材":"","柄":"千鳥","シルエット":"長袖"},{"色":"ブルー","カテゴリ":"スカート","素材":"ポリエステル, アクリル, レーヨン","柄":"チェック","シルエット":"フレア(スカート・ワンピース ), ロング(スカート)"},{"色":"ブルー","カテゴリ":"ニット","素材":"ウール, ナイロン,
アクリル"," 柄":"無地","シルエット":"長袖, ビッグシルエット"}],"request":"花見に着ていける服を教えて "} ''' itemsはファッションアイテムのリストです。 requestはユーザーの質問です。 以下のようなjson形式で返答してください。 {"desc":""} descにはitemsで構成したコーディネートのポイントを記載してください。その際 itemsのアイテムだけを使って説明文を作ってください。 itemsに同じカテゴリの itemが複数存在する場合は、同じカテゴリの中で 1つのitemだけを使って説明文を作ってください。 {"items": [{"色": "グリーン", "カテゴリ": "ワンピース", "素材": "ポリエステル", "柄": "無地", "シルエット": "ノースリーブ, ひざ丈, ひざ下丈, ミモレ, フレア(スカート・ ワンピース)"}, {"色": "グリーン", "カテゴリ": "ニット", "素材": "ポリエステル, ナイロン, レーヨン", "柄": "無地", "シルエット": "長袖, パフスリーブ"}],"request":"女子 会コーディネートを教えて "} system user
プロンプトの工夫 • アイテムのメタ情報をだけでなくユーザーの入力もjsonとして与えた ◦ “女子会にぴったりなコーディネートを提案します。”のような入力を考慮した回答を生成してくれた • メタ情報に含まれるアイテムのみで説明を作るように
◦ Hallucination対策 • 出力もjsonで生成させるようにした ◦ jsonでないと各アイテムの説明を冗長にする回答、jsonだとポイントを絞った回答が得られる傾向 {"items": [{"色": "グリーン", "カテゴリ": "ニット", "素材": "ポリエステル", "柄": "無 地", "シルエット": "長袖, パフスリーブ"}],"request":"女子会コーディネートを教え て"} {"items": [{"色": "グリーン", "カテゴリ": "ニット", "素材": "ポリエステル", "柄": "無 地", "シルエット": "長袖, パフスリーブ"}],"request":"女子会コーディネートを教え て"} その際itemsのアイテムだけを使って説明文を作ってください。 以下のようなjson形式で返答してください。 {"desc":""}
システム構成 • バックエンド ◦ App Runner, Python, FastAPI, Faiss
• フロントエンド ◦ Vercel, Next.js, Tailwind CSS
ざっくりスケジュール デザイン FE実装 プロンプトの改良 BE実装・インフラ構築 PR(プレスリリース作成・キャンペーン設計) この間大体2週間くらい 企画 PoC
リリースしてみてどうだったか • 当初の目的 ◦ ファッション業界の中でいち早く新技術を取り入れるというPR観点 ▪ リリースまでのスピードが大事 •
どうだったか ◦ webメディアやテレビの取材・放映などがあり 目的は達成できた ▪ デザイナーなど必要な人の確保 ▪ 開発体験重視の技術選定 ▪ 当初からのPRの巻き込み 記事や放映された映像の例 https://news.mynavi.jp/techplus/article/20230425-2659700/ https://newsdig.tbs.co.jp/articles/-/446433
今後の展望 • 現状の課題 ◦ 誰が言ったかを考慮していない ▪ 20代にも50代にも同じアイテムが提示される ◦
細かい要望を汲み取れない ▪ ”パンツだけもっと暗い色が良い”など ▪ スタイリングカルテとのembeddingの類似度だけでは難しい • 展望 ◦ LLMを自社の検索エンジン・レコメンドエンジンと協調させる ▪ LLMでメタ情報を獲得して検索エンジンでアイテムを検索し、レコメンドエンジンでパーソナラ イズ ▪ 検索エンジン・レコメンドエンジンでパーソナライズされたアイテムを抽出して、LLMに提案を 作ってもらう ▪ etc. ◦ ユーザー向けだけでなく内部のオペレーション改善にも組み込む
協調動作のための開発環境 • 各開発者がプロンプトや協調動作のロジックのアイデアの実装だけすれば良い環境を構築 ◦ 記事にもまとめてあるので是非 https://info.drobe.co.jp/blog/engineering/llm-ec
実現方法
プロンプトの工夫 • 最初期 ◦ (以後、ハイパラは基本デフォルト) ◦ 回答の文章の雰囲気がスタイリングカルテと異なる ◦
出力の形式が不安定 ▪ 箇条書きだったり文章だったり ▪ コーディネートを複数生成したり あなたはファッションに詳しい親切なスタイリストです。 私はこれからテーマを与えます。スタイリストであるあなたはそれに沿ったコーディ ネートを生成してください。 system 女子会コーディネートを教えて user
プロンプトの工夫 • 以下によりスタイリングカルテの雰囲気に近く、安定した形式の回答が得られるようになった ◦ Few-shot prompting ◦ 明確な指示
Q: スニーカーの全身コーディネートをお願いします A: スニーカーを使ったおすすめのスタイルをご提案します!フードが取り外し 可能なコートは、ウエストのコードを絞ってシルエットの変化もお楽しみいただ けます。インナーにはバイカラーのラインが印象的なニットを合わせて、ボトム スは春らしいカラーパンツを ♪足元はホワイトのレザースニーカーで大人カジュ アルに◎ … Q: 女子会コーディネートを教えて - 女性向け - 箇条書きではなく文章 - 3行以内で
新たな課題 • 回答のコーディネートのポイントと具体例のアイテムが完全には一致しない 今の季節の通勤服を教えて 今の季節の通勤服を教えて 今の季節の通勤服を教えて 今の季節の通勤服は、ベージュのテーパードパンツに、白のシャツを合わせた コーディネートがおすすめです。足元は、ベージュのパンプスでまとめると、上品
で清潔感のある印象になります。また、羽織ものとして、ベージュのトレンチコート を羽織ると、よりおしゃれな印象になります。 質問 回答 回答 回答 ⭕ ❌ ❌
ChatGPT Prompt Engineering for Developers • 作った後で確認したけどこのコースに書かれているようなポイントを割と抑えていた ◦ https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
リリースしてみてどうだったか • 当初の目的 ◦ ファッション業界の中でいち早く新技術を取り入れるというPR観点 ▪ リリースまでのスピードが大事 •
どうだったか ◦ webメディアやテレビの取材・放映などがあり 目的は達成できた ▪ デザイナーなど必要な人の確保 ▪ 開発体験重視の技術選定 ▪ 当初からのPRの巻き込み 記事や放映された映像の例 https://news.mynavi.jp/techplus/article/20230425-2659700/ https://newsdig.tbs.co.jp/articles/-/446433