Dify で AWS を使い倒す!
by
Morita
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Bedrock Night オンライン 〜AWSで⽣成AIアプリ開発! 最新ナレッジ共有〜 森⽥⼒ Dify で AWS を使い倒す!
Slide 2
Slide 2 text
⾃⼰紹介 2 ● 名前 ○ 森⽥ ⼒ ● 所属 ○ クラスメソッド株式会社 ■ 福岡オフィス所属 ○ クラウド事業本部 コンサルティング部 ● 好きなAWSサービス ○ Amazon Bedrock! ○ AWS Lambda re:Invent 初参加してきました!
Slide 3
Slide 3 text
本⽇のテーマ:Dify
Slide 4
Slide 4 text
Difyとは 4 ⽣成AIアプリケーションを開発するプラットフォーム ● ノーコードで作成 ○ アプリケーション ○ ワークフロー ○ APIとしての呼び出しも可能 ● OSS ● 様々なLLMの利⽤(Amazon Bedrock, Azure, Google Cloud) ● 先⽇ v1.0.0 をリリース 🎉🎉
Slide 5
Slide 5 text
DifyをAWSで使い倒すまで
Slide 6
Slide 6 text
使い倒すまでの道のり🚶 6 1. ホスティング 2. 機能拡張 3. ガバナンス
Slide 7
Slide 7 text
ホスティング
Slide 8
Slide 8 text
Difyを使うための選択肢 8 ● Dify Cloud ● Self Host
Slide 9
Slide 9 text
Dify Cloud 9 メリット ● すぐにDifyの利⽤可能 ● ホスティングと⽐較して安価 デメリット ● ベクトルDB等の制限あり ● API呼び出し時のタイムアウト60秒 ● セキュリティ等のカスタマイズ不可
Slide 10
Slide 10 text
Self Host 10 Self Hostするため、カスタマイズが可能 ● ベクトルDB ● セキュリティ, タイムアウトなど
Slide 11
Slide 11 text
Self Host 11 Self Hostするため、カスタマイズが可能 ● ベクトルDB ● セキュリティ, タイムアウトなど → AWSで Self Host するなら...?
Slide 12
Slide 12 text
AWSでのSelf Host 12 1. EC2 ● Docker Compose で容易に構築可能 ● ベクトルDB等もEC2内 デメリット ● インスタンスの管理が必要 ● 負荷によって、⾼性能のインスタンスが必要なるケースもある
Slide 13
Slide 13 text
ワークショップもあります 13 Dify での生成 AI アプリケーション構築ワークショップ
Slide 14
Slide 14 text
公式AMIの利⽤ 14 ● カスタムブランディング ○ ⾃社サービスとして展開可能
Slide 15
Slide 15 text
AWSでのSelf Host 15 2. EKS, Aurora, ElastiCache 構成 ● AWSマネージドサービスの利⽤ ● ⽐較的⼤規模なトラフィックでも捌ける ● DBサービスのコスト最適化 ○ ElastiCache for Valkey ○ Aurora Serverless 0ACU ● CDKの提供 ○ aws-sample ○ Dify公式 引⽤: solution-for-deploying-dify-on-aws
Slide 16
Slide 16 text
AWSでのSelf Host 16 3. ECS, Aurora, ElastiCache 構成 ● AWSマネージドサービスの利⽤ ● ECSのため学習コストやメンテナンスコストが⼩ ● CDKの提供 ○ aws-sample 引⽤:dify-self-hosted-on-aws
Slide 17
Slide 17 text
ここまでのまとめ 17 Dify Cloud EC2 EKS ECS 学習コスト 無 小 大 中 メンテナンス 無 大 中 小 最低利用費 極小 小 大 中 カスタマイズ ❌ ✅ ✅ ✅
Slide 18
Slide 18 text
機能拡張
Slide 19
Slide 19 text
機能拡張 〜ナレッジベース〜 19 Dify標準ナレッジベースの課題 ● チャンキング戦略不可 ○ 識別⼦での分割のみ ● PDF内の図表からデータを読み取り不可 ○ 事前にMermaid変換などが必要
Slide 20
Slide 20 text
機能拡張 〜ナレッジベース〜 20 Bedrock Knowledge Bases を利⽤する ● ⾼度なチャンキング戦略 ○ 階層的チャンキング ○ セマンティックチャンキング ● PDF内の図表からデータを読み取り ● 他にも ○ 構造化データ取得 ○ GraphRAG(GA!!)
Slide 21
Slide 21 text
機能拡張 〜ナレッジベース〜 21 外部ナレッジベース追加するためエンドポイントが必要 → dify-self-hosted-on-aws でIaC化👏👏 https://dev.classmethod.jp/articles/dify-bedrock-knowledge-bases/
Slide 22
Slide 22 text
機能拡張 〜LLM〜 22 ⾃社独⾃のLLMを使いたい ● ソースコードに記載することで追加可能 ○ xinference.yaml ○ xinference.llm.llm.py
Slide 23
Slide 23 text
機能拡張 〜LLM〜 23 SageMaker AI 連携により容易にモデル追加可能 ● AWS で SageMaker Endpointの作成 ● SageMaker Endpoint を⼊⼒する
Slide 24
Slide 24 text
ガバナンス
Slide 25
Slide 25 text
ガバナンス 25 簡単に⽣成AIを使えるからこそガバナンスは重要 ● Guardrails ● ログ記録
Slide 26
Slide 26 text
Guardrails 26 Bedrock Guardrailsのツールを利⽤する ● LLM処理の前後に配置可能
Slide 27
Slide 27 text
ログ記録 27 マネジメントコンソールでBedrockログ記録の有効化 ● Dify標準でLangfuse利⽤可能 ○ アプリ利⽤のみでしかロギングされない
Slide 28
Slide 28 text
以上、 DifyでAWSを使い倒していきましょう!!