现在让我们在 AWS 上为 Agent App 运行生产环境。
AWS 设置
更新凭证
要在 AWS 上运行,您需要满足以下 任一 条件:
- 包含您的 AWS 凭证的
~/.aws/credentials
文件
- 或
AWS_ACCESS_KEY_ID
+ AWS_SECRET_ACCESS_KEY
环境变量
要创建凭证文件,请安装 aws cli 并运行 aws configure
更新区域和子网
在 workspace/settings.py
文件中更新 aws_region
并添加 2 个 子网(ECS 服务必需)
ws_settings = WorkspaceSettings(
...
# -*- AWS settings
#在此处添加您的子网 ID
subnet_ids=["subnet-xyz", "subnet-xyz"],
...
)
更新 Secret
Streamlit 应用密码和 API Secret
在 workspace/secrets/prd_app_secrets.yml
中更新 streamlit 应用密码和 API Secret
workspace/secrets/prd_app_secrets.yml
APP_PASSWORD: "admin"
# OPENAI_API_KEY: "sk-***"
RDS 数据库密码
在 workspace/secrets/prd_db_secrets.yml
中更新 RDS 数据库密码
workspace/secrets/prd_db_secrets.yml
# Secrets used by prd RDS database
MASTER_USERNAME: ai
MASTER_USER_PASSWORD: "ai9999!!"
创建 AWS 资源
使用以下命令创建 AWS 资源:
ag ws up --env prd --infra aws
这将创建:
- 用于应用程序的 ECS 集群。
- 用于在 ECS 集群上运行应用程序的 ECS 任务定义 和 服务。
- 负载均衡器,用于为应用程序路由流量。
- 控制入站和出站流量的 安全组。
- 用于管理应用程序和数据库密钥的 Secrets。
- 用于知识库和存储的 RDS 数据库。
按 Enter 键确认,并等待资源启动。
- RDS 数据库大约需要 5 分钟才能激活。
- 这些资源定义在
workspace/prd_resources.py
文件中。
- 使用 ECS 控制台 查看服务和日志。
- 使用 RDS 控制台 查看数据库实例。
生产 Streamlit
打开负载均衡器 DNS,该 DNS 在创建 Streamlit 应用时提供
- 输入
prd_app_secrets.yml
文件中的 APP_PASSWORD
(默认值:admin
)
- 输入用户名并测试您的 AI Agent。
生产 FastAPI
- 打开负载均衡器 DNS +
/docs
端点以查看 API 端点。
- 使用以下内容测试
/v1/agents/{agent_id}/runs
端点
{
"message": "howdy",
"agent_id": "sage",
"stream": true
}
更新生产环境
请遵循 此指南 来更新您的生产应用程序。您需要:
- 创建一个新镜像
- 更新 ECS 任务定义和服务。
删除 AWS 资源
尽情探索,然后使用以下命令删除 AWS 资源:
ag ws down --env prd --infra aws
或者使用以下命令删除单个资源组:
ag ws down --env prd --infra aws --group app
下一步
恭喜您在 AWS 上成功运行了 Agent App。后续步骤:
Responses are generated using AI and may contain mistakes.