ADK Go(Agent Development Kit for Go)を使用したモンスターハンター攻略情報専用のAIエージェントです。
このエージェントは、Gemini APIを使用してモンスターハンターのゲーム攻略情報に関する質問に答えるAIアシスタントです。 MH-APIのデータベースに直接アクセスし、以下の情報を提供できます:
- モンスター情報
- 武器情報
- アイテム情報
- スキル情報
- get_monsters - モンスターの一覧を取得
- get_monster_by_id - 特定のモンスターの詳細情報を取得
- get_weapons - 武器の検索
- get_items - アイテムの一覧を取得
- get_item_by_id - 特定のアイテムの詳細情報を取得
- get_items_by_monster - 特定のモンスターから入手できるアイテムを取得
- get_skills - スキルの一覧を取得
- get_skill_by_id - 特定のスキルの詳細情報を取得
- Go 1.25以上
- Gemini API Key
- MySQLデータベース(MH-APIのデータベース)
以下の環境変数を設定する必要があります:
# 必須
GEMINI_API_KEY=your_gemini_api_key_here
DATABASE_URL=user:password@tcp(host:port)/database?charset=utf8&parseTime=True&loc=Local
# オプション
GEMINI_MODEL=gemini-2.0-flash-exp # デフォルト
AGENT_PORT=8081 # デフォルト
ENV=dev # dev, stage, prodgo mod downloadmake compose-start
make migrate-up
make seed# 環境変数を設定
export GEMINI_API_KEY=your_api_key_here
export DATABASE_URL=mh-api:P@ssw0rd@tcp(127.0.0.1:3306)/mh-api?charset=utf8&parseTime=True&loc=Local
# エージェントを起動
go run ./cmd/agent/main.goエージェントが起動したら、以下のエンドポイントにアクセスできます:
# ヘルスチェック
curl http://localhost:8081/v1/agent/health
# ADK REST API エンドポイント
# セッション管理、エージェント実行などのエンドポイントが利用可能
# 詳細は ADK Go のドキュメントを参照# バイナリのビルド
go build -o agent ./cmd/agent
# Dockerイメージのビルド
docker build -t monhun-agent --target deploy-agent .
# Docker Composeで起動(ローカル開発)
docker compose up agent# Google Cloud Projectの設定
export PROJECT_ID=your-project-id
export REGION=asia-northeast1
# Artifact Registryにイメージをプッシュ
gcloud builds submit --tag ${REGION}-docker.pkg.dev/${PROJECT_ID}/monhun/agent:latest --target deploy-agentgcloud run deploy monhun-agent \
--image ${REGION}-docker.pkg.dev/${PROJECT_ID}/monhun/agent:latest \
--platform managed \
--region ${REGION} \
--allow-unauthenticated \
--set-env-vars GEMINI_API_KEY=${GEMINI_API_KEY} \
--set-env-vars DATABASE_URL=${DATABASE_URL} \
--set-env-vars GEMINI_MODEL=gemini-2.0-flash-exp \
--set-env-vars AGENT_PORT=8080 \
--port 8080 \
--memory 512Mi \
--cpu 1ADK GoのREST APIハンドラを使用しているため、以下のようなエンドポイントが利用可能です:
- セッションの作成・管理
- エージェントとの対話
- セッション履歴の取得
詳細なAPI仕様については、ADK Goのドキュメントを参照してください。
# セッションを作成してエージェントと対話
# 具体的なAPIエンドポイントは ADK REST API の仕様に従いますcmd/agent/main.go # エントリーポイント
├── internal/agent/
│ ├── server.go # ADK REST APIサーバー
│ └── tools.go # エージェントツールの実装
├── internal/service/ # 既存のMH-APIサービス層を使用
└── pkg/config/ # 設定管理
- ADK Go v0.2.0 - Google製のエージェント開発フレームワーク
- Gemini API - LLMとして使用
- Go 1.25 - プログラミング言語
- MySQL - データベース
- GORM - ORMライブラリ
# データベースが起動しているか確認
docker ps | grep mh-api
# データベース接続文字列を確認
echo $DATABASE_URL# APIキーが正しく設定されているか確認
echo $GEMINI_API_KEY
# APIキーの有効性を確認(Google Cloud Consoleで確認)MIT License