$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NuxtHub で作る生成 AI アプリケーション
Search
Seiya Konno
November 04, 2024
Programming
0
54
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
240
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
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.3k
AIコーディングエージェント(Manus)
kondai24
0
200
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
3
260
AIコーディングエージェント(skywork)
kondai24
0
180
GISエンジニアから見たLINKSデータ
nokonoko1203
0
150
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
AIエージェントの設計で注意するべきポイント6選
har1101
4
350
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
390
これならできる!個人開発のすゝめ
tinykitten
PRO
0
110
愛される翻訳の秘訣
kishikawakatsumi
3
330
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Scaling GitHub
holman
464
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Docker and Python
trallard
47
3.7k
How to Ace a Technical Interview
jacobian
281
24k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
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.