使用说明
动物园导游
该项目使用Google agent Development Kit(ADK)实现了动物园导游代理。该代理可以通过利用本地数据库(通过MCP服务器)和维基百科的外部知识来回答有关动物园动物的问题。
设置
-
克隆存储库:
git clone https://github.com/Domengo/MCP-server-on-cloudrun.git cd MCP-server-on-cloudrun -
创建并激活Python虚拟环境:
python3 -m venv .venv source .venv/bin/activate -
安装所需的依赖项:
pip install -r requirements.txt -
创建一个
.env文件: 创建一个名为的文件.env在项目的根目录中添加以下环境变量。您需要更换<your-mcp-server-url>使用MCP服务器的实际URL。MODEL="gemini-1.5-flash" MCP_SERVER_URL=<your-mcp-server-url>
运行代理
此代理旨在作为web服务部署在Google Cloud Run上。与代理交互的主要方式是通过部署后提供的web UI。
部署到Google Cloud Run
-
设置您的Google Cloud项目:
gcloud config set project <your-gcp-project-id> -
启用必要的Google Cloud服务:
gcloud services enable \ run.googleapis.com \ artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ aiplatform.googleapis.com \ compute.googleapis.com -
设置部署的环境变量:
export PROJECT_ID=$(gcloud config get-value project) export REGION=$(gcloud compute project-info describe \ --format="value(commonInstanceMetadata.items[google-compute-default-region])") export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") export SERVICE_ACCOUNT="${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" -
向服务帐户授予IAM权限:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$SERVICE_ACCOUNT" \ --role="roles/run.invoker" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$SERVICE_ACCOUNT" \ --role="roles/aiplatform.user" -
将代理部署到Cloud Run:
adk deploy cloud_run \ --project=$PROJECT_ID \ --region=$REGION \ --service_name=zoo-tour-guide \ --with_ui \ .出现提示时,键入
Y允许未经身份验证的调用。 -
访问代理: 成功部署后,您将获得一个服务URL。在浏览器中打开此URL,通过ADK的web UI与Zoo Guide Agent进行交互。
清理
为了避免产生未来的成本,您可以使用以下命令删除创建的云资源:
gcloud run services delete zoo-tour-guide --region=$REGION --quiet
gcloud artifacts repositories delete cloud-run-source-deploy --location=$REGION --quiet