forked from zhanggangyong/agent_management
- stock_quote_agent: 美股实时行情查询 - stock_news_agent: 美股新闻资讯分析 - stock_analysis_agent: 美股技术分析 更新: - 添加 agent 代码到 agent_templates/agents/ - 更新 k8s_manager.py TEMPLATE_PORTS - 添加构建和部署脚本
149 lines
4.7 KiB
Bash
Executable File
149 lines
4.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# 部署三个美股 Agent:构建镜像、添加模板、测试创建
|
|
# 使用方法: ./deploy_stock_agents.sh
|
|
|
|
set -e
|
|
|
|
AGENT_MANAGER_URL="http://20.212.121.126"
|
|
|
|
echo "=========================================="
|
|
echo "部署美股 Agent 到 Agent Manager"
|
|
echo "=========================================="
|
|
|
|
# ==================== 步骤 1: 构建并推送镜像 ====================
|
|
echo ""
|
|
echo "=== 步骤 1: 登录 ACR ==="
|
|
az acr login --name agnettaiji
|
|
|
|
cd /home/taiji/tools/agent-manager
|
|
|
|
echo ""
|
|
echo "=== 步骤 2: 构建 stock-quote-agent (ARM64) ==="
|
|
docker buildx build --platform linux/arm64 \
|
|
-t agnettaiji.azurecr.io/ai-agents/stock-quote-agent:latest \
|
|
-f agent_templates/agents/stock_quote_agent/stock_quote_agent.Dockerfile \
|
|
agent_templates/ --push
|
|
echo "✅ stock-quote-agent 推送完成"
|
|
|
|
echo ""
|
|
echo "=== 步骤 3: 构建 stock-news-agent (ARM64) ==="
|
|
docker buildx build --platform linux/arm64 \
|
|
-t agnettaiji.azurecr.io/ai-agents/stock-news-agent:latest \
|
|
-f agent_templates/agents/stock_news_agent/stock_news_agent.Dockerfile \
|
|
agent_templates/ --push
|
|
echo "✅ stock-news-agent 推送完成"
|
|
|
|
echo ""
|
|
echo "=== 步骤 4: 构建 stock-analysis-agent (ARM64) ==="
|
|
docker buildx build --platform linux/arm64 \
|
|
-t agnettaiji.azurecr.io/ai-agents/stock-analysis-agent:latest \
|
|
-f agent_templates/agents/stock_analysis_agent/stock_analysis_agent.Dockerfile \
|
|
agent_templates/ --push
|
|
echo "✅ stock-analysis-agent 推送完成"
|
|
|
|
# ==================== 步骤 2: 通过 API 添加模板 ====================
|
|
echo ""
|
|
echo "=== 步骤 5: 通过 API 添加模板 ==="
|
|
|
|
# 添加 stock_quote_agent 模板
|
|
echo "添加 stock_quote_agent 模板..."
|
|
curl -s -X POST "${AGENT_MANAGER_URL}/templates/create" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "stock_quote_agent",
|
|
"display_name": "Stock Quote Agent",
|
|
"description": "美股实时行情查询 Agent - 获取股票价格、涨跌幅、成交量等数据",
|
|
"image": "agnettaiji.azurecr.io/ai-agents/stock-quote-agent:latest",
|
|
"port": 8080,
|
|
"agent_framework": "api",
|
|
"env_requirements": {}
|
|
}' | jq .
|
|
echo ""
|
|
|
|
# 添加 stock_news_agent 模板
|
|
echo "添加 stock_news_agent 模板..."
|
|
curl -s -X POST "${AGENT_MANAGER_URL}/templates/create" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "stock_news_agent",
|
|
"display_name": "Stock News Agent",
|
|
"description": "美股新闻资讯 Agent - 获取股票相关新闻和市场情绪分析",
|
|
"image": "agnettaiji.azurecr.io/ai-agents/stock-news-agent:latest",
|
|
"port": 8080,
|
|
"agent_framework": "api",
|
|
"env_requirements": {}
|
|
}' | jq .
|
|
echo ""
|
|
|
|
# 添加 stock_analysis_agent 模板
|
|
echo "添加 stock_analysis_agent 模板..."
|
|
curl -s -X POST "${AGENT_MANAGER_URL}/templates/create" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "stock_analysis_agent",
|
|
"display_name": "Stock Analysis Agent",
|
|
"description": "美股技术分析 Agent - 提供技术指标、趋势分析和投资建议",
|
|
"image": "agnettaiji.azurecr.io/ai-agents/stock-analysis-agent:latest",
|
|
"port": 8080,
|
|
"agent_framework": "api",
|
|
"env_requirements": {}
|
|
}' | jq .
|
|
|
|
echo ""
|
|
echo "=== 步骤 6: 验证模板添加成功 ==="
|
|
echo "查询所有模板..."
|
|
curl -s "${AGENT_MANAGER_URL}/templates" | jq '.[] | select(.name | startswith("stock_"))'
|
|
|
|
# ==================== 步骤 3: 测试创建 Agent ====================
|
|
echo ""
|
|
echo "=== 步骤 7: 测试创建 stock_quote_agent ==="
|
|
RESULT=$(curl -s -X POST "${AGENT_MANAGER_URL}/agents" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "test-stock-quote",
|
|
"template": "stock_quote_agent",
|
|
"config": {
|
|
"user_id": "test-user",
|
|
"cpu_request": "100m",
|
|
"cpu_limit": "500m",
|
|
"memory_request": "128Mi",
|
|
"memory_limit": "512Mi",
|
|
"replicas": 1
|
|
}
|
|
}')
|
|
|
|
echo "$RESULT" | jq .
|
|
|
|
# 提取域名
|
|
DOMAIN=$(echo "$RESULT" | jq -r '.access_info.domain // empty')
|
|
if [ -n "$DOMAIN" ]; then
|
|
echo ""
|
|
echo "✅ Agent 创建成功!"
|
|
echo "域名: $DOMAIN"
|
|
echo ""
|
|
echo "等待 30 秒后测试 API..."
|
|
sleep 30
|
|
|
|
echo ""
|
|
echo "=== 步骤 8: 测试 Agent API ==="
|
|
echo "测试获取 AAPL 行情..."
|
|
curl -s "http://${DOMAIN}/quote?symbol=AAPL" | jq .
|
|
else
|
|
echo ""
|
|
echo "⚠️ Agent 创建中,请稍后检查状态"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo "✅ 部署完成!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "新增模板:"
|
|
echo " - stock_quote_agent: 美股实时行情查询"
|
|
echo " - stock_news_agent: 美股新闻资讯"
|
|
echo " - stock_analysis_agent: 美股技术分析"
|
|
echo ""
|
|
echo "测试命令:"
|
|
echo " curl \"http://\${DOMAIN}/quote?symbol=AAPL\""
|
|
echo " curl \"http://\${DOMAIN}/quote?symbol=TSLA\""
|