第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

基于BigQuery數(shù)據(jù)構(gòu)建聊天代理:使用ADK和MCP在Cloud Run上部署的方法

介绍:

本文将提供一个详细的实操指南,介绍如何使用ADK和MCP部署在Cloud Run上查询Google BigQuery数据。

ADK:

Google 的代理开发工具包(ADK)是一个帮助开发人员构建可以与数据库等结构化数据源交互的对话代理的工具包。它提供了一个框架体系来定义代理行为、理解并解析自然语言查询并根据实时数据生成回应。ADK 简化了将用户的问题转换为结构化查询(比如 SQL)的过程,实现了聊天界面与后端数据系统(例如 BigQuery)的无缝集成。

MCP:

数据库模型上下文协议(MCP,Model Context Protocol 的缩写)是谷歌将对话式人工智能直接引入你的数据基础设施的方式。可以将其视为连接聊天界面和数据系统之间的桥梁——安全、可靠且内置智能。MCP 作为你的对话代理的运行时环境,处理从解析用户输入到在你的数据库(如 BigQuery)中执行查询,再到返回有意义的、上下文相关的响应等所有任务。它处理会话管理、意图处理和对数据的安全访问等繁重任务,让你能够专注于构建更好的用户体验,而无需担心后端复杂性。

准备好和您的 Google BigQuery 数据聊天了吗?那就开始吧…

10K架构:

  • 用户开始通过对话聊天查询Google BigQuery中的数据。
  • ADK和MCP被部署到了Cloud Run。
灵感来源和感谢: 工具与技术:
  • 代理开发工具包(ADK)
  • 数据库 MCP 工具箱
  • Langchain 框架
  • 模型:gemini-2.0-flash-001
  • Vertex AI
  • Google CloudRun
  • Google BigQuery
最终输出演示: 一步一步的说明。
  1. 打开 Google Cloud Shell 并设置项目,为:

在终端中输入

gcloud config set project <gcp-project-id>
  1. 启用所需的API。
gcloud 服务启用 cloudresourcemanager.googleapis.com \  
                       servicenetworking.googleapis.com \  
                       run.googleapis.com \  
                       cloudbuild.googleapis.com \  
                       cloudfunctions.googleapis.com \  
                       aiplatform.googleapis.com \  
                       sqladmin.googleapis.com \  
                       compute.googleapis.com

输出:

3. 创建 BigQuery 数据集和表,并插入数据,

    # 创建GBQ数据集如下
    bq --location=US mk -d \
        --default_table_expiration 3600 \
        --description "这是我的数据集。" \
        mydataset

    # 创建GBQ表如下
    bq mk \
     -t \
     --expiration 3600 \
     --description "这是我的表" \
     --label 组织标签:开发 \
     mydataset.mytable \
     name:STRING,address:STRING,age:INTEGER

    # 在SQL Studio界面中插入GBQ表数据
    INSERT INTO `<gcp-project>.mydataset.mytable` VALUES ('name1', 'address1', 1);  
    INSERT INTO `<gcp-project>.mydataset.mytable` VALUES ('name2', 'address2', 2);  
    INSERT INTO `<gcp-project>.mydataset.mytable` VALUES ('name3', 'address3', 3);  
    INSERT INTO `<gcp-project>.mydataset.mytable` VALUES ('name4', 'address4', 4);  
    INSERT INTO `<gcp-project>.mydataset.mytable` VALUES ('name5', 'address5', 5);

显示

4. 安装MCP工具箱:

    # 创建一个目录  
    mkdir mcp-toolbox  

    # 切换到目录  
    cd mcp-toolbox  

    # 安装工具箱  
    curl -O https://storage.googleapis.com/genai-toolbox/v0.4.0/linux/amd64/toolbox  
    chmod +x toolbox

结果是:

5. 设置工具箱并进行测试执行:

    # 创建一个名为 tools.yaml 的文件,这是 toolbox 正常运行所必需的配置文件

    sources:  
      my-bigquery-source:  
        kind: bigquery  
        project: <gcp-project>  

    tools:  
     search_age:  
       kind: bigquery-sql  
       source: my-bigquery-source  
       parameters:  
         - name: age  
           type: integer  
           description: 该人的姓名。  
       statement: 查询年龄等于 @age 的记录 FROM `<gcp-project>.mydataset.mytable` WHERE age = @age;  
       description: |  
        使用此工具来获取特定人的信息。  
            接受一个整数参数,表示年龄,并返回用户信息。  

            示例:  
            {{  
                "name": "name1",  
                "address": "address1",  
                "age": 1  
            }}  

    toolsets:  
       my_first_toolset:  
         - search_age  

    # 运行 toolbox  
    ./toolbox --tools-file "tools.yaml" --port 6000  

    # 访问本地主机的端口 6000:http://localhost:6000  
    将会显示 'Hello World' 这条消息

显示:

6. 将MCP运行在Cloud Run上(MCP:具体技术术语)

    # 设置项目ID  
    export PROJECT_ID="YOUR_GOOGLE_CLOUD_PROJECT_ID"   

    # 启用服务  
    gcloud services enable run.googleapis.com \  
                           cloudbuild.googleapis.com \  
                           artifactregistry.googleapis.com \  
                           iam.googleapis.com \  
                           secretmanager.googleapis.com \  

    # 创建服务账户  
    gcloud iam service-accounts create toolbox-identity  
    gcloud projects add-iam-policy-binding $PROJECT_ID \  
       --member serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com \  
       --role roles/secretmanager.secretAccessor  

    # 创建密文和镜像设置  
    gcloud secrets create tools --data-file=tools.yaml  
    export IMAGE=us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:latest  

    # 部署到云运行  
    gcloud run 部署 toolbox \  
    --image $IMAGE \  
    --service-account toolbox-identity \  
    --region us-central1 \  
    --set-secrets "/app/tools.yaml=tools:latest" \  
    --args="--tools_file=/app/tools.yaml","--address=0.0.0.0","--port=8080" \  
    --allow-unauthenticated

输出:

  1. 安装代理开发工具包(ADK):
    # 创建一个文件夹  
    mkdir my-agents  
    cd my-agents  

    # 设置虚拟环境  
    python -m venv .venv  
    source .venv/bin/activate  

    # 安装依赖  
    pip install google-adk toolbox-langchain langchain  

    # 创建一个agent-app的框架  
    adk create hotel-agent-app  
    选择Gemini模型(1)  
    选择Vertex AI(2)

requirements.txt,在 my-agents 文件夹里

    google-adk  
    toolbox-langchain(工具链箱)  
    langchain(语言链)

agent.py,(在我的 agents 文件夹里)

from google.adk.agents import Agent  
from google.adk.tools.toolbox_tool import ToolboxTool  

toolbox = ToolboxTool("https://cloud-run-url.us-central1.run.app")    

tools = toolbox.get_toolset(toolset_name='my_first_toolset')  

root_agent = Agent(  
    name="name_agent",  
    model="gemini-2.0-flash",  
    description=(  
        "用于根据用户输入的名字回答关于个人的信息问题的代理"  
    ),  
    instruction=(  
        "你是一个乐于助人的代理,可以通过名字回答用户关于个人的信息问题。使用工具来回答问题,请先问候用户"  
    ),  
    tools=tools,  
)

最终输出:

参考一下文献:

这里有一些参考资料:
     - https://codelabs.developers.google.com/mcp-toolbox-bigquery-dataset  查看 Google 开发者的 MCP 工具箱 BigQuery 数据集代码实验室。
    - https://googleapis.github.io/genai-toolbox/getting-started/introduction/  了解 GenAI 工具箱的入门介绍。
    - https://google.github.io/adk-docs/ 查阅 Google 的 ADK 文档。
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消