Important
このリポジトリはSourceSageを活用しており、リリースノートやREADME、コミットメッセージの9割はSourceSage + claude.aiで生成しています。
Note
AMATERASUはMOAの後継プロジェクトです。各AIサービスを独立したEC2インスタンス上でDocker Composeを用いて実行し、Terraformで簡単にデプロイできるように進化させました。
AMATERASUは、エンタープライズグレードのプライベートAIプラットフォームです。AWS Bedrockをベースに構築されており、セキュアでスケーラブルな環境でLLMを活用したアプリケーションを開発・運用できます。GitLabとの統合により、バージョン管理、CI/CDパイプライン、プロジェクト管理を効率化します。 AMATERASU v1.6.1では、Bedrock Novaモデルのテストスクリプトを追加し、その他いくつかの機能強化と修正を行いました。
- AWS Bedrockベースの安全なLLM基盤
- 完全クローズド環境での運用
- エンタープライズグレードのセキュリティ
- 独立したサービスコンポーネント
- コンテナベースのデプロイメント
- 柔軟なスケーリング
- Terraformによる完全自動化されたデプロイ
- 環境ごとの設定管理
- バージョン管理された構成
- バージョン管理、CI/CDパイプライン、プロジェクト管理機能の向上
- セルフホスト型GitLabインスタンスの統合
- LLMを用いたマージリクエスト分析機能
- GitLab Webhookを用いた自動ラベル付けサービス
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- インフラのデプロイ (spellbookディレクトリ内の各サービスのインフラを個別にデプロイする必要があります。)
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
cd ../../gitlab/terraform/main-infrastructure
terraform init && terraform apply
cd ../../FG-prompt-pandora/terraform
terraform init && terraform apply- サービスの起動 (spellbookディレクトリ内の各サービスを個別に起動する必要があります。)
# 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プロキシを介した安全なモデルアクセス
- 使用状況の可視化と分析
- コスト管理とリソース最適化
- セキュアな開発環境の提供
- 🎉 Bedrock Novaモデルテストスクリプト追加: Bedrock Novaモデル(
bedrock/nova-micro,bedrock/nova-lite,bedrock/nova-pro)のテストを自動化するスクリプトを追加しました。応答時間、応答内容、トークン使用量などをログ出力します。text2artとloguruライブラリを使用しています。 - 🎉 LiteLLM設定ファイルの拡張とAWS設定の追加:
.env.exampleファイルにOpenAI、Anthropic、Google Gemini、AWSのAPIキーと認証情報の項目を追加しました。AWS設定にはアクセスキーID、シークレットアクセスキー、デフォルトリージョン(東京)の設定が含まれています。 - 🚀 不要なログ設定削除:
loguruライブラリの不要なログ設定を削除し、簡素化しました。 ⚠️ config.yamlファイル内のBedrockモデルの指定方法変更と地域指定の修正:bedrock/us.amazon.nova-micro-v1:0のような表記をbedrock/amazon.nova-micro-v1:0に変更し、Bedrockモデルのリージョン指定を修正しました。
- 🎉 LLMを用いたマージリクエスト分析機能実装: OpenAI APIとの連携、プロンプトエンジニアリングによるレビュー結果の生成、分析結果のJSONファイルへの保存、データクラスを用いたデータ構造の定義、エラーハンドリングとログ出力、環境変数による設定などを含みます。
- コード品質、セキュリティ、テスト、アーキテクチャの観点からのレビューと改善提案を出力します。
- 🎉 GitLab Webhookを用いた自動ラベル付けサービス実装: FastAPIを用いたWebhookサーバー、GitLab APIとOpenAI API(LiteLLM Proxy経由)との連携、LLMによるIssueタイトルと説明からのラベル自動付与、ngrokを用いた開発環境での公開URL設定(開発環境のみ)、ヘルスチェックエンドポイントとログ出力機能の追加、Webhookトークンによる認証、エラー処理と例外ハンドリング、既存ラベルの保持と新規ラベルの追加、ログ出力機能強化、環境変数による設定管理、型ヒントとDocstringsによるコード品質向上など。
- Issueイベントをトリガーとして、LLMを使用して自動的に適切なラベルを付与します。
- 🚀 GitLabサービスのREADME.md作成: ディレクトリ構造、Webhook設定について記述しました。
- 🚀 GitLab RunnerのREADME.md作成: 設定、Runner登録方法、注意事項について記述しました。
- 🚀 servicesディレクトリのREADME.md作成: サービス構成、設定管理について記述しました。
- 🚀 services_header.svgのデザイン変更: アニメーション追加、グラデーションの色変更、影の追加を行いました。
- 🚀 agents_header.svgのデザイン変更: アニメーション追加、グラデーションの色変更、影の追加を行いました。
- 🚀 GitLab設定ディレクトリ作成: 設定ディレクトリを作成しました。
- 🚀 GitLabデータディレクトリ作成: データディレクトリを作成しました。
- 🚀 GitLabログディレクトリ作成: ログディレクトリを作成しました。
- 🚀 GitLabバックアップディレクトリ作成: バックアップディレクトリを作成しました。
- 🚀 GitLab Runner設定ディレクトリ作成: 設定ディレクトリを作成しました。
- 🚀 依存ライブラリの更新: FastAPI, uvicorn, python-gitlab, openai, python-dotenv, pydantic, pyngrok, loguru, rich, argparseのバージョン更新を行いました。
このプロジェクトは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プラットフォームを構築しましょう。✨