Important
このリポジトリはSourceSageを活用しており、リリースノートやREADME、コミットメッセージの9割はSourceSage + claude.aiで生成しています。
Note
AMATERASUはMOAの後継プロジェクトです。各AIサービスを独立したEC2インスタンス上でDocker Composeを用いて実行し、Terraformで簡単にデプロイできるように進化させました。
AMATERASUは、エンタープライズグレードのプライベートAIプラットフォームです。AWS Bedrockをベースに構築されており、セキュアでスケーラブルな環境でLLMを活用したアプリケーションを開発・運用できます。GitLabとの統合により、バージョン管理、CI/CDパイプライン、プロジェクト管理を効率化します。
- AWS Bedrockベースの安全なLLM基盤
- 完全クローズド環境での運用
- エンタープライズグレードのセキュリティ
- 独立したサービスコンポーネント
- コンテナベースのデプロイメント
- 柔軟なスケーリング
- Terraformによる完全自動化されたデプロイ
- 環境ごとの設定管理
- バージョン管理された構成
- バージョン管理、CI/CDパイプライン、プロジェクト管理機能の向上
- セルフホスト型GitLabインスタンスの統合
graph TB
subgraph "AWS Cloud"
subgraph "Application Layer"
subgraph "EC2-based Services"
OW["Open WebUI<br/>チャットインターフェース"]
LL["LiteLLM Proxy<br/>APIプロキシ"]
LF["Langfuse<br/>モニタリング"]
GL["GitLab<br/>バージョン管理"]
end
subgraph "Fargate-based Service"
PP["Prompt Pandora<br/>プロンプト生成支援"]
ECS["ECS Fargate Cluster"]
end
end
subgraph "Infrastructure Layer<br>(AMATERASU Architecture)"
ALB["Application Load Balancer"]
EC2["EC2 Instances"]
SG["Security Groups"]
R53["Route 53"]
ACM["ACM Certificates"]
ECR["Elastic Container Registry"]
end
subgraph "AWS Services"
Bedrock["AWS Bedrock<br/>LLMサービス"]
IAM["IAM<br/>認証・認可"]
end
OW --> ALB
LL --> ALB
LF --> ALB
GL --> ALB
PP --> ECS
ECS --> ALB
ALB --> EC2
ALB --> ECS
EC2 --> SG
ECS --> SG
R53 --> ALB
ACM --> ALB
ECR --> ECS
EC2 --> Bedrock
ECS --> Bedrock
EC2 --> IAM
ECS --> IAM
end
Users["Enterprise Users"] --> R53
- チャットベースのユーザーインターフェース
- レスポンシブデザイン
- プロンプトテンプレート管理
- Claude-3系列モデルへの統一的なアクセス
- APIキー管理
- レート制限と負荷分散
- 使用状況の追跡
- コスト分析
- パフォーマンスモニタリング
- セルフホストGitLabインスタンス
- プロジェクト管理とコード管理
- CIパイプラインとGitLab Runner
- バックアップと復元機能
- LDAP/Active Directory統合
- カスタマイズ可能な認証とアクセス制御
- AWS Fargateでの自動スケーリング
- Claude-3.5-Sonnetを活用したプロンプト生成
- Streamlitベースの直感的UI
- シンプルなDockerイメージによる容易なデプロイ
- AMATERASU環境への統合サンプル
- AWS アカウント
- Terraform >= 0.12
- Docker & Docker Compose
- AWS CLI configured
- リポジトリのクローン
git clone https://github.com/Sunwood-ai-labs/AMATERASU.git
cd AMATERASU- 環境変数の設定
cp .env.example .env
# Edit .env with your configuration- インフラのデプロイ
cd spellbook/base-infrastructure
terraform init && terraform apply
cd ../open-webui/terraform/main-infrastructure
terraform init && terraform apply
cd ../../litellm/terraform/main-infrastructure
terraform init && terraform apply
cd ../../langfuse/terraform/main-infrastructure
terraform init && terraform apply- サービスの起動
# Langfuse
cd ../../../langfuse
docker-compose up -d
# LiteLLM
cd ../litellm
docker-compose up -d
# Open WebUI
cd ../open-webui
docker-compose up -d
# GitLab
cd ../gitlab
docker-compose up -d
# FG-prompt-pandora
cd ../FG-prompt-pandora
docker-compose up -d- 環境設定ファイルの作成:
cd spellbook/gitlab
cp .env.example .env-
環境変数の設定:
.envファイルを編集して、GITLAB_HOME,GITLAB_HOSTNAME,GITLAB_ROOT_PASSWORDなどの必要な環境変数を設定してください。 -
GitLabの起動:
docker-compose up -d- バックアップの設定(オプション):バックアップディレクトリを作成し、
docker-compose exec gitlab gitlab-backup createコマンドでバックアップを実行してください。
- Prometheusによるメトリクス収集
- Langfuseでの使用状況分析
- CloudWatchによるリソースモニタリング
- 平日8:00-22:00の自動起動/停止
- 需要に応じた手動スケーリング
- バッチジョブのスケジューリング
- IPホワイトリスト制御
- TLS/SSL暗号化
- IAMロールベースのアクセス制御
- タスク記述からの最適なプロンプト生成
- 既存プロンプトの改善提案
- プロンプトテンプレートの管理と共有
- チーム全体でのプロンプト品質の標準化
- APIプロキシを介した安全なモデルアクセス
- 使用状況の可視化と分析
- コスト管理とリソース最適化
- セキュアな開発環境の提供
- 🎉 Route53 Private Hosted Zoneのドメイン名変数の追加 ([a3b436d])
domain_name変数を追加し、Route53 Private Hosted Zoneのドメイン名を外部から設定可能に- デフォルト値として "sunwood-ai-labs.click" を設定
- 🎉 Route53 Private Hosted Zone モジュールの追加 ([50e2706])
- base-infrastructureにRoute53 Private Hosted Zone管理モジュールを追加
- VPC内のリソースへのアクセス制御向上とセキュリティ強化を実現
- 🚀 Elastic IPの割り当てとセキュリティグループルールの追加 ([b2f643e])
- EC2インスタンスへのElastic IP割り当て機能を追加
- セキュリティグループにインバウンドルール追加機能を実装
- 🚀 ALBターゲットグループのターゲットIDをプライベートIPに変更 ([425dfd0])
- インスタンスの再起動や置き換え時の設定変更を軽減
- 🐛 ALBターゲットグループへのアタッチメント修正 ([71a53a2])
instance_idの代わりにinstance_private_ipを使用するように修正- プライベートIPアドレスでの正しいアタッチメントを実現
⚠️ Route53 Private Hosted Zoneの管理方法変更 ([90d60a8])- リソースとしての作成から、データソースを使用した既存ゾーンの参照方式に変更
- 既存のゾーンを再利用し、不要な変更を回避する設計に移行
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルをご参照ください。
- このリポジトリをフォーク
- フィーチャーブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add amazing feature') - ブランチをプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
不明点やフィードバックがありましたら、以下までお気軽にご連絡ください:
- GitHub Issues: Issues
- Email: support@sunwoodai.com
Maki、iris-s-coon の貢献に感謝します。
AMATERASUで、エンタープライズグレードのAIプラットフォームを構築しましょう。✨