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
NuxtHub で作る生成 AI アプリケーション
Search
Seiya Konno
November 04, 2024
Programming
0
64
NuxtHub で作る生成 AI アプリケーション
Seiya Konno
November 04, 2024
Tweet
Share
More Decks by Seiya Konno
See All by Seiya Konno
About node-canvas (#tng7)
nulltask
0
1.3k
Introduction of WebRTC
nulltask
1
250
Node and Face (Tokyo Node Academy #5)
nulltask
1
3.5k
Kinect Workshop
nulltask
1
150
Introduction of Perfume Hackathon
nulltask
1
440
Other Decks in Programming
See All in Programming
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1k
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
800
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
210
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
120
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
360
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
390
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
260
Codex の「自走力」を高める
yorifuji
0
1.1k
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
220
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Technical Leadership for Architectural Decision Making
baasie
3
280
How GitHub (no longer) Works
holman
316
140k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
150
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Darren the Foodie - Storyboard
khoart
PRO
3
2.8k
Odyssey Design
rkendrick25
PRO
2
540
The World Runs on Bad Software
bkeepers
PRO
72
12k
Done Done
chrislema
186
16k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Between Models and Reality
mayunak
2
230
Transcript
NuxtHub で作る生成 AI アプリケーション Seiya KONNO - Z1 team, UNIBA
INC. | 2024/11/05 きいてくれ NIGHT
アンケート - Vue.js 使ったことある人 - Nuxt を使ったことがある人 - Cloudflare Workers
を使ったことがある人 - (Next.js / React を使っている人)
アジェンダ 1. NuxtHub とは 2. 作ったアプリのデモ 3. どうやって作ったか 4. 作ってみての課題
5. 質疑応答
NuxtHub とは Nuxt アプリを Cloudflare 上にホスティングするための仕組み - コマンドラインツール - Nuxt
用モジュール - 管理用ダッシュボード 紛らわしいけどいずれも NuxtHub と呼ばれてるので文脈で判断。Cloudflare 憑依 型ホスティングサービス。
NuxtHub とは これを使うとフルスタックの Nuxt アプリが簡単にデプロイできる! - Cloudflare Workers - SQL
Database (Cloudflare D1) - File Storage (Cloudflare R2) - Key-Value Storage - Workers AI - Vector Database 上記の機能を連携済みの Cloudflare アカウントに自動でプロビジョニング、 NuxtHub モジュールが提供する API 経由で操作。
作ったアプリのデモ 入力したプロンプトに基づいて生成 AI を使って画像を生成するアプリ https://nuxthub-ai-image-generator.nuxt.dev/
どうやって作ったか: UI 編 - Nuxt UI + Tailwind CSS を使って
UI を構築 - ここはふつうの Nuxt アプリを作る感覚で OK - 一般的な UI を作る場合は Nuxt UI が速い安い旨い - https://ui.nuxt.com/getting-started
どうやって作ったか: 画像生成編 - フロントエンドに入力されたプロンプトをサーバに送信 - hubAI() に学習モデルとプロンプトを渡して画像生成 - 今回使ったモデルは @cf/black-forest-labs/flux-1-schnell
- 指定するパラメータが少なくて楽 - バリエーションを出すのは不向きっぽい - 生成した画像をホスティングするために hubBlob() を使って R2 に保存
どうやって作ったか: 画像生成編
どうやって作ったか: プロンプト生成編 - せっかくなのでプロンプトも生成 AI で作ってみる - こちらも hubAI() を使ってテキスト生成モデルとプロンプトを指定
- プロンプトはあらかじめ組み込んでおいたものを使用する
どうやって作ったか: プロンプト生成編
どうやって作ったか: プロンプト生成編 - パラメータのチューニングをしないと生成されるプロンプトに偏りが出た - 猫のプロントばかり出る - 今回調整したのは以下のパラメータ - top_k
を増やす - top_p も増やす - temperature を上げる - 上げすぎるとめちゃくちゃな文章が生成されてしまうので 1 ぐらい に抑えた
どうやって作ったか: 保存編 - プロンプトと画像のパスを D1 にデータを保存 - 画像ファイル自体は R2 に保存済みのためパスのみ格納
- SQL で INSERT 文でも良いが今回は Drizzle ORM を使ってみた - Type Safe なのがうれしい
どうやって作ったか: 保存編 保存用のコード 取り出し用のコード
どうやって作ったか: ローカル開発&デプロイ編 - ローカル開発は miniflare がランタイムとして起動 - ローカル用に別途開発環境を準備しなくても勝手にやってくれる - D1,
R2, AI の動作もシミュレート - Nuxt DevTools がとても強力 - DB, KV, R2 に保存された値の参照・書き換えも可能 - NuxtHub のダッシュボードで GitHub repo を紐づけで自動デプロイ - push するごとにビルドしてユニークな URL を生成 - main ブランチに push で本番反映
作ってみての課題 - 画像生成モデルが日本語のプロンプトを正しく取り扱えなかった - Flux-1-schnell モデルの限界? - 画風のタッチを指定するプロンプトが英語だったから? - 他のモデルなら日本語を取り扱えるかも
- https://developers.cloudflare.com/workers-ai/models/ - 最近追加されたマイグレーション機能が正しく動かなかった - ローカル環境からリモート接続でマイグレーションで対応
Any Question?
- 何か思いついたら懇親会で質問してください! - ソースコードも公開しときます - https://github.com/nulltask/nuxthub-ai-image-generator
Thank You.