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
あらゆるサイトを クイズにするサイトをつくった
Search
ugo
August 25, 2023
Programming
0
430
あらゆるサイトを クイズにするサイトをつくった
当日のLTとは一部変更を行なっています
ugo
August 25, 2023
Tweet
Share
More Decks by ugo
See All by ugo
3Dモデル作成から販売までを行うWebアプリケーションの裏側 BuriKaigi 2025
yukyu30
0
520
Notionで拍手できるようにした話
yukyu30
0
530
Other Decks in Programming
See All in Programming
令和最新版手のひらコンピュータ
koba789
13
6.6k
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
640
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
450
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
iOS開発スターターキットの作り方
akidon0000
0
240
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
450
Comparing decimals in Swift Testing
417_72ki
0
160
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.7k
ゲームの物理
fadis
3
870
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
350
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
0
490
あのころの iPod を どうにか再生させたい
orumin
2
2.2k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
4 Signs Your Business is Dying
shpigford
184
22k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Designing Experiences People Love
moore
142
24k
Visualization
eitanlees
146
16k
Producing Creativity
orderedlist
PRO
347
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
A Tale of Four Properties
chriscoyier
160
23k
Scaling GitHub
holman
461
140k
Become a Pro
speakerdeck
PRO
29
5.5k
Transcript
ugo (yukyu) あらゆるサイトを クイズにするサイトをつくった フレッシュメンLT #0 夏祭り
自己紹介 ugo (yukyu) 2022年卒で入社2二年目 GMOペパボのSUZURIのエンジニア 業務で使う言語はRails、React 最近ではLLMを使った機能を開発をしてます X @yukyu30
BlueSky @yukyu.net Blog https://yukyu.net Zenn @yu_9
インプットに対する悩み事
技術記事を読んで、理解した気になっている 悩み事 • 記事を読んで実践してみたら、実は前提条件を満たしていなかった • なんとなくで終えてしまい、身についた気がしてしまう • そもそも読み終えられない
理解度を測るなら...🤔
🙆 クイズだ
技術記事からクイズを自動生成できたら...
あらゆるサイトをクイズにするサイト とは URLを入力するとそのサイトのコンテンツを読み込みクイズが生成される https://yukyu.net/posts/2023-06-28
デモ https://quizbite.yukyu.net/ これだけ多くの人が同時に使ったことないから落ちるかも
アプリケーションについて 構成 • バックエンド ◦ Python、FastAPI、LangChain ◦ クイズAPIサーバー ◦
OpenAI APIでGPT-4を利用 • フロント ◦ Next.js ◦ クイズAPIサーバーへリクエストを送る • データベース ◦ Supabase ◦ 生成したクイズを保存して使い回す • LLMのログ管理 ◦ LangSmith ◦ LangChainでのログを保存 Frontend Backend LangChain DB Log(LLM) LangSmith GPT-4
Langchainとは 言語モデルを利用したアプリケーションを開発するためのフレームワーク (https://docs.langchain.com/docs/より引用) • LLMを用いた処理をモジュール化 = Chain ◦ Chainを組み合わせることでLLM応答を次のプロンプトに含める
• ドキュメント、Webサイトを読み込む機能もあるので採用 ※https://book.st-hakky.com/docs/chains-of-langchain/ の例を引用 {product}を作る会社の社名 として、何かいいものはない ですか? 日本語の社名でお願いしま す。 {company_name}という 会社名の企業のキャッチ コピーを考えてください。 カラフルな靴 下 足元を彩る、 カラフルソックス工房 カラフルソックス工房 Chain Chain
LLMが適切に応答しているのか分からん! レスポンスタイムは大体N秒くらいかな〜 (PaaSによってはX秒以内にレスポンスがないとタイムアウトエラーになることもあ る) LMMを使ったアプリケーションあるある
LangChainのログをみたい LangSmithをいれて、LLMのログを保存 • https://docs.smith.langchain.com/ • LLMの実行ログを保存、閲覧 ◦ 応答がみれるようになった
• LLMのレスポンスタイム、 Tokenの消費量が見れる ◦ アプリケーション、環境ごとに APIに利用料金がわかる
LangSmith 実際のログ
ログから改善のアクション
ログから改善策 DB使う • Tokenの消費が多いので、 APIの料金を節約できるなら、 DBつかうのはありだと判断できた ◦ Supabaseにクイズを保存する
◦ 同じURLに対して再度クイズを生成する必要がなくなる • レスポンスタイムも2回目からは早くなる ◦ DBから取得する時間 <<<<<<<<<< クイズを生成する時間
ログから改善策 エラーがおおい → 最適なModelの選定 • GPT-3.5-Turboではトークン数が足りない (max 4,096 tokens)
• GPT-3.5-Turbo-16k(max 8,192 tokens) ◦ トークン数は足りた。応答がエラーになりがち • GPT-4 (max 8,192 tokens) ◦ トークン数も足りた。応答エラーも減った 最大トークン数は https://platform.openai.com/docs/models/より引用
LLMを利用したアプリケーションとその運用 まとめ • LangChainを使うとLLMを利用したアプリケーションがつくりやすい • LLMの挙動は想像できないのでログを取ると良い ◦
最適なLLMのモデルの選定 ◦ 利用料金の把握
ご清聴ありがとうございました!!