Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amplify Gen 2ではじめる 生成AIアプリ開発入門

Avatar for つくぼし つくぼし
October 12, 2024

Amplify Gen 2ではじめる 生成AIアプリ開発入門

Avatar for つくぼし

つくぼし

October 12, 2024
Tweet

More Decks by つくぼし

Other Decks in Technology

Transcript

  1. 2 自己紹介 ★ ハンドルネーム ◦ つくぼし ★ 所属 ◦ AWS事業本部コンサルティング部

    ◦ ソリューションアーキテクト ★ 最近ハマっているAWSサービス ◦ AWS Application Composer ★ SNS/ブログ ◦ X(@tsukuboshi0755) ◦ DevelopersIO(つくぼし)
  2. 3 目次 1. Amplify Gen 2とは 2. UIデザイン支援AIツールの紹介 3. Bedrockを呼び出す際のポイント

    4. 直近のAmplifyアップデート 5. オススメのAmplify × Bedrockハンズオン 6. 最後に
  3. 8 ここがすごいぞAmplify Gen 2 1. ブランチ毎にgit pushでCI/CDが自動で走る 2. サンドボックスで開発環境を分離できる 3.

    CDKベースなのでインフラをTypeScriptで定義可能 4. JS ResolverによりバックエンドをTypeScriptで書ける
  4. 14 AWSにおけるホスティング構成の比較 比較項目 S3 + CloudFront Amplify (Gen 2) 実装方法

    コンソール・CLI・各種IaCいずれも可 コンソール & IaCのみ 認証機能 CloudFrontのLambda@edgeやCloudFront Functionsでコードを書けば実装可能 aws/amplify-backendモジュールのdefineAuthメソッドで簡 単に実装可能 バックエンド機能 単体ではなし ALB + ECSやAPIGateway + Lambda等を組み合わ せて検討 aws/amplify-backendモジュールのdefineDataメソッドで簡 単に実装可能 CI/CD機能 単体ではなし CodePipeline等を組み合わせて検討 デフォルトで設定されている amplify.ymlで簡単なカスタマイズが可能 カスタムドメイン機能 単体ではなし Route 53 + ACMを組み合わせて検討 Amplifyコンソールから簡単に設定可能 WAFの紐付け 可能 不可 CloudFront + WAF + Amplifyで代用 CDNパラメータの調整 (キャッシュビヘイビア・マルチオ リジン・セキュリティポリシー等 ) 可能 不可 CloudFrontがAmplifyでラップされ見えなくなる
  5. 24 バックエンド定義方法(AppSyncリゾルバー)の選択 比較項目 カスタムリゾルバー (HTTPリゾルバー ) Amplify Function(Lambdaリゾルバー ) アーキテクチャ

    ランタイム APPSYNC_JS (JavaScript)のみ Lambdaでサポートされているランタイム全て コードの最大サイズ AppSync関数毎に 32,000 文字 Lambda関数毎に50 MB (zip圧縮、直接アップロード用 ) ネットワークアクセス 不可 可能 ファイルシステムアクセス 不可 可能 コールドスタート なし あり(別途プロビジョニングされた同時実行を使用すればな し) 価格 追加料金なし Lambdaの使用料金が別途かかる
  6. 27 基盤モデルIDの選択 • テキスト生成はClaude 3.5(by Anthropic)一択 ◦ 価格&応答速度のHaiku ◦ バランスのSonnet

    ◦ 性能のOpus • 画像生成は以下の二択 ◦ 知名度が高いSDXL 1.0 (by Stability AI) ◦ 価格が安いTitan Image(by Amazon)
  7. 34 その他直近のAmplifyアップデート • Storage Browser for Amazon S3 (Preview) ◦

    S3 でのファイルブラウズ機能を追加し、データ参照アップロードやダ ウンロード機能を提供するUI ◦ https://github.com/aws-amplify/amplify-ui/issues/5731 • スケジュール実行可能な関数の定義 • 関数の非同期呼び出し • 複数バケットのサポート
  8. 42

OSZAR »