Important
このリポジトリはSourceSageを活用しており、リリースノートやREADME、コミットメッセージの9割はSourceSage + claude.aiで生成しています。
Note
AMATERASUはMOAの後継プロジェクトです。各AIサービスを独立したEC2インスタンス上でDocker Composeを用いて実行し、Terraformで簡単にデプロイできるように進化させました。
AMATERASUは、AWS上にLLM(大規模言語モデル)プラットフォームを構築するための自動化ツールです。MOAの機能を踏襲しながら、各サービスを独立したEC2インスタンスで運用することで、より柔軟なスケーリングと管理を実現します。
主な特徴:
- Terraformを使用した簡単なEC2インスタンス管理
- 各サービスごとに独立したEC2インスタンスとDocker Compose環境
- サービス単位でのスケーリングと運用が可能
- セキュアな通信とアクセス制御
- なし
このREADMEに記載されているインストール手順と使用方法に従って、AMATERASUをセットアップしてください。
- リポジトリのクローン:
git clone https://github.com/Sunwood-ai-labs/AMATERASU.git
cd AMATERASU- 環境変数の設定:
cp .env.example .env
# .envファイルを編集して必要な認証情報を設定- Terraformの初期化と実行:
cd terraform
terraform init
terraform plan
terraform applyssh -i "C:\Users\makim\.ssh\AMATERASU-terraform-keypair-tokyo-PEM.pem" ubuntu@i-062f3dd7388a5da8av0.2.0では、アーキテクチャを刷新し、各AIサービスを独立したEC2インスタンス上でDocker Composeを用いて実行するように変更しました。これにより、各サービスのスケーリングと運用が容易になり、柔軟性が向上しています。また、英語READMEの更新と、リリースノートの見栄えを向上させるための画像の追加を行いました。
アーキテクチャ刷新に伴い、READMEにアーキテクチャ図、システム要件、インストール手順、モジュール構成、デプロイ方法、運用コマンド例、各モジュールの詳細なディレクトリ構成、Docker Compose設定ファイル(docker-compose.yml)と環境変数ファイル(.env)の例、各モジュールへのSSH接続、Docker Composeによるサービス管理(起動、停止、ログ表示)を行うスクリプトが追加されました。セキュリティ強化のため、各EC2インスタンスは独立したセキュリティグループで保護され、サービス間通信は内部VPCネットワークで制御されるようになりました。
各モジュールは独立したEC2インスタンス上でDocker Composeを使って実行されます:
📁 open-webui/
├── 📄 docker-compose.yml # open-webuiとollamaの設定
├── 📄 .env # 環境変数設定
└── 📁 config/ # 設定ファイル
設定例(docker-compose.yml):
version: '3'
services:
ollama:
image: ollama/ollama
ports:
- "11434:11434"
volumes:
- ./data:/root/.ollama
open-webui:
image: open-webui/open-webui
ports:
- "3000:3000"
environment:
- OLLAMA_URL=http://ollama:11434📁 litellm/
├── 📄 docker-compose.yml # litellmサービスの設定
├── 📄 .env # API keyなどの環境変数
└── 📁 config/ # LLMの設定ファイル
📁 langfuse/
├── 📄 docker-compose.yml # langfuseとDBの設定
├── 📄 .env # 環境変数設定
└── 📁 data/ # PostgreSQLデータ
特定のモジュールのみデプロイ:
# open-webuiモジュールのみデプロイ
terraform apply -target=module.ec2_open_webui
# litellmモジュールのみデプロイ
terraform apply -target=module.ec2_litellm
# langfuseモジュールのみデプロイ
terraform apply -target=module.ec2_langfuse各EC2インスタンスへの接続:
# SSH接続スクリプト
./scripts/connect.sh open-webui
./scripts/connect.sh litellm
./scripts/connect.sh langfuseDocker Compose操作:
# 各インスタンス内で実行
cd /opt/amaterasu/[module-name]
docker-compose up -d # サービス起動
docker-compose down # サービス停止
docker-compose logs -f # ログ表示- 各EC2インスタンスは独立したセキュリティグループで保護
- サービス間通信は内部VPCネットワークで制御
- 必要最小限のポートのみを公開
- IAMロールによる権限管理
amaterasu/
├── terraform/ # Terraformコード
│ ├── modules/ # 各EC2インスタンスのモジュール
│ ├── main.tf # メイン設定
│ └── variables.tf # 変数定義
├── modules/ # 各サービスのDocker Compose設定
│ ├── open-webui/ # open-webui関連ファイル
│ ├── litellm/ # litellm関連ファイル
│ └── langfuse/ # langfuse関連ファイル
├── scripts/ # 運用スクリプト
└── docs/ # ドキュメント
- アーキテクチャが刷新されたため、以前のバージョンからのアップグレードには、手順に従って手動での移行が必要です。詳細については、アップグレード手順を参照してください。
- 既存の環境を停止してください。
- このREADMEに記載されている手順に従って、新しいアーキテクチャで環境を構築してください。
- データの移行が必要な場合は、適切な手順を実行してください。(具体的な手順は提供されていません。)
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルをご覧ください。
iris-s-coonとMakiに感謝します。
コントリビューションを歓迎します!以下の手順で参加できます:
- このリポジトリをフォーク
- 新しいブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add amazing feature') - ブランチをプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
ご質問やフィードバックがありましたら、以下までお気軽にご連絡ください:
- Issue作成: GitHub Issues
- メール: support@sunwoodai.com
AMATERASUで、より柔軟で強力なAIインフラストラクチャを構築しましょう! ✨