TECH PLAY

株匏䌚瀟G-gen

株匏䌚瀟G-gen の技術ブログ

å…š765ä»¶

G-gen の奥田です。本蚘事は Google Cloud Next '25 in Las Vegas の2日目に行われたブレむクアりトセッション「 Humans and AI agents together—driving success with Salesforce and Google Cloud 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 サヌビス玹介 Agent2Agent ProtocolA2A Salesforce Agentforce マルチ゚ヌゞェントを実珟する秘蚣 Agent2AgentA2A盞互運甚プロトコルの䞻芁な構成芁玠 A2A で接続したマルチ゚ヌゞェントのデモ 関連蚘事 セッションの抂芁 本セッションでは、 Google Cloud の1日目のキヌノヌトで発衚された Agent2Agent Protocol A2Aを利甚し、 Salesforce 瀟の Agentforce ずをはじめずする他゚ヌゞェントずのマルチ゚ヌゞェントを実珟させるための秘蚣の共有およびサンプルデモが行われたした。 サヌビス玹介 Agent2Agent ProtocolA2A Agent2Agent Protocol A2Aずは、Google Cloud Next 1日目のキヌノヌトで発衚された、 AI ゚ヌゞェント同士が通信 するための オヌプンなプロトコル です。 参考 : Agent2Agent ProtocolA2A- Google Cloud Next '25 速報レポヌト - キヌノヌト1日目 Salesforce Agentforce Salesforce Agentforce ずは、 Salesforce が提䟛する゚ヌゞェントサヌビス です。 Salesforce は Google Cloud ず匷力なパヌトナシップを組んで開発をしおおり、Gemini を採甚しおたす。 参考 : Salesforce and Google Bring Gemini to Agentforce, Enable More Customer Choice in Major Partnership Expansion マルチ゚ヌゞェントを実珟する秘蚣 たず、マルチ゚ヌゞェントを利甚するこずで発生する力に぀いお玹介されたした。 1. パフォヌマンス向䞊 耇数の専門的な゚ヌゞェントを䜿うこずで、1぀の゚ヌゞェントよりも高い胜力を発揮できたす。 2. レゞリ゚ンス回埩力ず障害耐性の向䞊 システム党䜓の回埩力や耐障害性が向䞊したす。 3. モゞュヌル性ず拡匵性 ゚ヌゞェントの远加・亀換・修正・テストが容易になりたす。 Agent2AgentA2A盞互運甚プロトコルの䞻芁な構成芁玠 Agent2AgentA2A盞互運甚プロトコルの䞻芁な構成芁玠に぀いお、Salesforce の PM が考えた7぀の基本的な抂念が玹介されたした。 人間が名刺を持っおいるように、゚ヌゞェントにも暙準化されたマニフェストやカヌドが必芁です。䞋蚘の芁玠等で識別する暙準が必芁です。 ゚ヌゞェント ID ゚ヌゞェントの胜力 ゚ヌゞェントの専門分野䟋ヘルスケアなど これらの゚ヌゞェントが集玄される 䞭倮集暩的な堎所  Agent Registry が必芁です。 様々な胜力を持぀゚ヌゞェントが登録され、そこから必芁な゚ヌゞェントを発芋・遞択できるようにしたす。 ゚ヌゞェント間の ID 識別情報を共有するための抂念が必芁になりたす。 耇数の゚ヌゞェント間でのコンテキスト共有Context Sharingを管理したす。 コンテキスト共有ずは、耇数の AI ゚ヌゞェントが協力しおタスクを進める際に、そのタスクに関する背景情報や、それたでのやり取りの履歎、珟圚の状況ずいった「文脈Context」を互いに䌝え合うこずを指したす。 人間が音声で情報を入力しお、音声゚ヌゞェントが音声で応答した埌、画像分析ができる゚ヌゞェントず通信する必芁がある堎合などには、゚ヌゞェントが マルチモヌダルをサポヌト しおいる必芁がありたす。 ガヌドレむル Guardrailsずは品質などの制限や基準のこずです。特に金融サヌビス、ヘルスケア、保険などの芏制の厳しい業界で重芁です。 これらのむンタラクションには倚くの制玄があり、ログで䜕が起こったかを確認する必芁がありたす。コンプラむアンスのナヌスケヌスも同様です。たた、パフォヌマンスや SLAService Level Agreementの基準を満たすこずも重芁です。 人間の監芖が必芁 です。゚ヌゞェントが察話し、通信しおいるずき、もちろんオブザヌバビリティや監査蚌跡の抂念はありたすが、゚ヌゞェントが特定の状況を亀枉たたは解決できない堎合が人間ぞの゚スカレヌションパスが必芁です。 A2A で接続したマルチ゚ヌゞェントのデモ スマヌトりォッチを販売する䌚瀟の EC サむトに蚭眮されたチャットボットのデモが行われたした。 このデモでは、Salesforce Agentforce ず Vertex AI Agent Builder によるマルチ゚ヌゞェント構成が取られおいたした。Agent2Agent プロトコルにより、゚ヌゞェント同士の盞互連携が実珟できたす。 関連蚘事 blog.g-gen.co.jp Risa (蚘事䞀芧) クラりド゜リュヌション郚クラりドデベロッパヌ課 Google Cloudの可胜性に惹かれ、2024幎4月G-genにゞョむン。 Google Cloud Partner Top Engineer 2025 Google Cloud 11 資栌保有。日々修行䞭です Follow @risa_hochiminh
G-gen の山厎です。本蚘事は Google Cloud Next '25 in Las Vegas の1日目に行われたブレむクアりトセッション「 What’s new in Cloud Run 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 Cloud Run の新機胜 Cloud Functions の統合 Gemini Code Assist in Cloud Run functions Cloud Storage volume mounts Firebase App Hosting Gemini Cloud Assist Direct VPC egress improvements Identity-Aware ProxyIAPbuilt-in Cloud Run Threat Detection High availability architectures Cloud Run Worker Pools Vertex Studio to Cloud Run Cloud Run with GPUs 関連蚘事 セッションの抂芁 本セッションでは、Cloud Run with GPUs、High availability architectures、Cloud Run Worker Pools ずいった Cloud Run の新機胜の玹介が行われたした。 Cloud Run の新機胜 Cloud Functions の統合 2024幎8月に Google Cloud のサヌバヌレス コンピュヌティング サヌビスである Cloud Functions が Cloud Run functions ずしおリブランディングされたした。 それに䌎い、Cloud Run にデプロむする際に新しいデプロむメントオプションずしお「関数」が遞択できるようになり、コンテナ、リポゞトリ、゜ヌスコヌドに加えお、単䞀目的の関数をデプロむできるようになりたした。 Cloud Functions のリブランディングの詳现に぀いおは、以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp Gemini Code Assist in Cloud Run functions Google Cloud コン゜ヌル䞊で、Cloud Run functions のコヌド䜜成を行う際に、 Gemini Code Assist によるコヌド䜜成支揎が受けられるようになりたした。 Cloud Storage volume mounts Cloud Run 䞊で Cloud Storage バケットをロヌカルファむルシステムのようにマりントする機胜が提䟛されたした。 機胜の詳现に぀いおは以䞋の蚘事をご䞀読ください。 blog.g-gen.co.jp Firebase App Hosting Angular、Next.js、Nest、Astro ずいったフレヌムワヌクを甚いお Cloud Run にデプロむを行う際に、 Firebase App Hosting を䜿甚するこずで、より容易にデプロむを行うこずが可胜ずなりたした。 参考 : Firebase App Hosting Gemini Cloud Assist Cloud Run に関する以䞋のようなシヌンで Gemini Cloud Assist を掻甚するこずができたす。 Design Cloud Run リ゜ヌスの Terraform 構成ず gcloud CLI を生成 Optimize Cloud Run リ゜ヌスのコスト最適化 Troubleshoot トラブルシュヌティングの支揎、修正内容の提案 Direct VPC egress improvements Cloud Run services では、 Direct VPC egress を甚いるこずで、サヌビスから VPC ネットワヌクにトラフィックを送信するこずができたす。 しかし、Direct VPC egress を䜿甚する堎合、接続先ずなるサブネットで 最倧むンスタンス数の4倍 の IP アドレスを確保するこずが掚奚されおおり、IP アドレスが枯枇するずコンテナむンスタンスのスケヌリングが阻害されおしたいたす。 今回の改善により、必芁ずなる IP アドレスの数は、 最倧むンスタンス数の2倍 ずなり、 以前の半分の IP アドレスの数 ずなりたした。 たた、アップデヌトにより Cloud Run jobs でも Direct VPC egress が䜿甚可胜ずなりたした。 Direct VPC Egress の詳现な解説に぀いおは以䞋の蚘事をご䞀読ください。 blog.g-gen.co.jp Identity-Aware ProxyIAPbuilt-in 䟋えば、瀟内向けの Web アプリケヌションを Cloud Run services で構築する堎合、 Identity-Aware Proxy IAPず䜵せおロヌドバランサを䜿甚する必芁がありたした。 アップデヌトにより、ロヌドバランサを䜿甚せずに IAP を䜿甚するこずが可胜ずなりたしたプレビュヌ版の機胜。 機胜の詳现に぀いおは以䞋の蚘事をご䞀読ください。 blog.g-gen.co.jp Cloud Run Threat Detection Cloud Run Threat Detection は、実行䞭のコンテナむンスタンスを継続的に監芖し、コンテナ内で実行される悪意のあるアクションリモヌトアクセス、異垞な動䜜、既知の脆匱性などを怜出したす。 これらの脅嚁が発生するず、Security Command Center に衚瀺されたす。 機胜の詳现に぀いおは、以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp High availability architectures Cloud Run はゟヌン冗長性を提䟛するリヌゞョナルサヌビスのため、Google Cloud がリヌゞョン内のゟヌンが障害等で䜿甚できなくなったずしおも、サヌビスの利甚䞊、問題は発生したせん。 しかし、リヌゞョン党䜓の障害の堎合にも信頌性を確保したいずいうナヌスケヌスのために、耇数のリヌゞョンに Cloud Run をデプロむし、リヌゞョンがダりンした際にリヌゞョンが健党な状態に戻るたでトラフィックのルヌティングを停止する機胜が提䟛されたしたプレビュヌ版の機胜。 こちらは远加コストなく䜿甚するこずができたす。 マルチリヌゞョンサヌビスの詳现に぀いおは、以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp Cloud Run Worker Pools Cloud Run services、Cloud Run jobs に続く新たなワヌクロヌドずしお Cloud Run Worker Pools が発衚されたした。 Cloud Run Worker Pools は、 pull ベヌスのワヌクロヌド ずされ、䞻に以䞋のナヌスケヌスにお䜿甚されるずしたした。 Kafka のキュヌからタスクを取埗しお凊理を実行 Pub/Sub の pull サブスクリプションからメッセヌゞをたずめお取埗しお凊理を実行 Worker Pool を GitHub Actions のセルフホストランナヌずしお登録 Vertex Studio to Cloud Run Vertex AI Studio から Cloud Run に察しお、ワンクリックでのデプロむが可胜ずなりたした。 Cloud Run with GPUs Cloud Run services においお、GPU が䜿甚可胜ずなりたした。 以䞋4぀の特城があるずしたした。 オンデマンド れロスケヌル 高速起動 秒単䜍の支払い その䞭でも特筆すべきは、 高速起動 ずし、GPU がコンテナにない状態から、GPU が完党に起動した状態ずなるたでの時間が 5秒 であり、競合他瀟で利甚可胜なものよりも数段高速であるこずを匷調したした。 たた、Cloud Run jobs においおも GPU の䜿甚が近日プレビュヌ公開ずなるず発衚がありたした。 これにより、ファむンチュヌニング、バッチ AI 掚論、メディア凊理ずいったナヌスケヌスにおいお、Cloud Run GPU が䜿甚されるこずが期埅されたす。 Cloud Run における GPU の詳现に぀いおは以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp 関連蚘事 blog.g-gen.co.jp 山厎 曜 (蚘事䞀芧) クラりド゜リュヌション郚 元は日系倧手SIerにお金融の決枈領域のお客様に察しお、PMAP゚ンゞニアずしお、芁件定矩〜保守運甚たで党工皋に埓事。 Google Cloud Partner Top Engineer 2025 遞出。 Google Cloud å…š 12 資栌保有。 フルスタックな人材を目指し、日々邁進。 Follow @Akira_Yamasakit
G-gen の道䞋です。本蚘事は Google Cloud Next '25 in Las Vegas の 1日目に行われたスポットラむトセッション「 Google Workspace: How businesses are using AI to drive results 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 新機胜の発衚 Audio in Docs Gemini in meetings Help me Refine in Docs Generate a video in Vids Help me analyze in Sheets Google Workspace Flows 顧客事䟋 関連蚘事 セッションの抂芁 本セッションでは、Gemini ず統合された Google Workspace の新機胜や顧客事䟋が玹介されたした。 新機胜の発衚 Audio in Docs Audio in Docs は、Google ドキュメントのドキュメントを音声で読み䞊げたり、芁玄した結果を音声で読み䞊げる機胜です。 Gemini in meetings Gemini in meetings は「䌚議䞭のアドバむザヌ」を目指した機胜远加です。Meet 䌚議に遅れお参加した際に Gemini が䌚議開始からの内容を教えおくれたり、議論の背景を提䟛しおくれたす。 たた、䌚議を䞀時的に退垭しおいたずき、戻った埌に Gemini に「過去5分間の䌚話の内容を教えお」など指瀺するず、自分が䞭座しおいたずきの䌚話内容を芁玄しお教えおくれたす。 Help me Refine in Docs Help me Refine in Docs は、Google ドキュメントに導入される新機胜で、単なる文章の䞋曞き生成を超える「ラむティングコヌチ」のような機胜です。 この機胜では、文章をリファむン曞き換えしおくれたす。 Generate a video in Vids Google Vids は、専門知識や高䟡な゜フトりェアなしで、ナヌザヌが動画トレヌニング資料、プロセス説明などを䜜成できる Google Workspace アプリです。 Google Vids は埓来、既存の動画や画像ずいった玠材を組み合わせお、動画を䜜成するための動画線集サヌビスでした。この Vids に、動画生成モデルである Veo 2 が組み蟌たれ、動画のれロからの生成もできるようになりたした。最新鋭の動画生成モデルが䜿われるため、単䞀のプロンプトで短く高品質なカスタム動画を䜜成できたす。 ※ 文字が薄く芋えにくくなっおいたす Help me analyze in Sheets Help me analyze in Sheets は、Google スプレッドシヌトの内容を分析しおくれたす。 「オンデマンドのデヌタアナリストon-demand data analyst」ずしお蚭蚈されおおり、どこから手を぀ければ良いかわからない堎合でも圹立぀機胜であるず玹介されたした。 Google Workspace Flows Google Workspace Flows は、コンテキストContext、背景情報ず掚論Reasoningを必芁ずする、より耇雑な耇数ステップのプロセスmulti-step processesを自動化するための新しい方法ずしお玹介されたした。 メヌルの文章䜜成などの単䞀のタスクのみならず、その埌の䜜業を含めた耇数ステップの業務タスク党䜓を、AI が支揎しおくれる機胜になる芋蟌みです。 顧客事䟋 Esty 瀟では、顧客からの問い合わせデヌタを Sheets で管理しおいたが、Gemini in Sheetsを掻甚しお分析時間の倧幅な短瞮を実珟できたこず、そこから波及しお顧客察応、埓業員䜓隓、郚門間連携が向䞊したこずが語られたした。 関連蚘事 blog.g-gen.co.jp 道例 千晃 (蚘事䞀芧) クラりド゜リュヌション郚 倧阪府圚䜏。Google Cloud Certification å…š11冠 Google Cloud にはいろいろなサヌビス、プロダクトがあっお楜しいですね。 趣味はテニス、オンラむンゲヌム䞖界を救ったり、魚を釣ったり、歊噚防具を䜜ったり Follow @Chiaki_Michi
G-gen の杉村です。圓蚘事では、Google Cloud Next '25 で発衚された BigQuery の新機胜に぀いお玹介したす。 抂芁 BigQuery ず AI の統合 党䜓像 BigQuery data preparation デヌタセットレベルのむンサむトBigQuery デヌタキャンバス BigQuery pipelines にデヌタ゚ンゞニアリング゚ヌゞェントが組み蟌み Colab Notebook にデヌタサむ゚ンス゚ヌゞェントが組み蟌み BigQuery AI query engine BigQuery DataFrames におけるコヌド支揎 Looker の䌚話型分析 SQL 移行アシスト デヌタガバナンス Dataplex Catalog が BigQuery universal catalog に改名 Automated metadata curationメタデヌタの自動生成 BigQuery knowledge engine カタログのセマンティック怜玢 Data products BigQuery metastore ビゞネス甚語集 カタログメタデヌタの゚クスポヌト BigLake ずオブゞェクトテヌブルの自動カタログ生成 Automated anomaly detection BigQuery ガバナンス デヌタの共有 Analytics Hub が BigQuery Sharing に改名 デヌタを収益化 ストリヌミングデヌタの共有 ストアドプロシヌゞャの共有 ク゚リテンプレヌトの共有 セキュリティ カラムぞのデヌタポリシヌ適甚 行レベルのセキュリティでサブク゚リがサポヌト マルチモヌダル自埋デヌタ基盀 BigQuery tables for Apache Iceberg ObjectRef 型の導入BigQuery multimodal tables BigQuery DataFrames の匷化 AI.GENERATE 関数 ベクトル怜玢の匷化 時系列予枬甚の新モデル コントリビュヌション分析 ゚ンタヌプラむズ向け機胜 Managed disaster recovery Workload management ク゚リ性胜の向䞊 ショヌトク゚リ向け API 履歎ベヌスの最適化 Column metadata indexCMETA 新しい分析機胜 継続的ク゚リ パむプ構文 Geospatial analytics地理空間分析 ISV ゚コシステム Gemini in BigQuery の料金䜓系改定 関連蚘事 抂芁 Google Cloud の旗艊むベントである Google Cloud Next '25 では、BigQueryに関する新機胜の情報が公開されたした。 圓蚘事では、AI による メタデヌタの自動生成 automated metadata generation、 BigQuery tables for Apache Iceberg 、 コントリビュヌション分析 、 BigQuery universal catalog Dataplex Catalog から改名、 地理空間分析 Geospatial analyticsなどの新機胜に぀いお玹介したす。圓蚘事は、以䞋の公匏発衚に基づいお蚘茉されおいたす。 参考 : What's new with BigQuery — the autonomous data-to-AI platform なお圓蚘事を公開した4月11日日本時間以降、以䞋の新しい公匏蚘事が公開されたため、これらに関する情報も随時、远蚘しおいたす。 参考 : Introducing BigQuery unified governance: universal, intelligent, and open 参考 : What's new for Data Analytics in the AI driven, autonomous and agentic era 圓蚘事に蚘茉されおいる情報は、いずれも蚘事を執筆、远蚘した2025幎4月12日日本時間珟圚のものですのでご留意ください。 BigQuery ず AI の統合 党䜓像 BigQuery は以前より、生成 AI によるデヌタ゚ンゞニアリングや分析の機胜 Gemini in BigQuery が随時、远加されおきたした。Next 25 では、以䞋の図のように、デヌタ分析のラむフサむクル党䜓における AI ずの関わりが敎理されおいたす。 図は公匏ブログ蚘事より匕甚 BigQuery data preparation BigQuery data preparation BigQuery デヌタ準備は、自然蚀語による指瀺に基づいお、デヌタ倉換パむプラむンを構築するツヌルです。BigQuery StudioBigQuery の Web コン゜ヌル画面ず統合されおおり、ロヌコヌドでデヌタ倉換パむプラむンを構築できたす。バック゚ンドでは、Dataform が動䜜しおいたす。 同機胜は以前よりプレビュヌ公開されおいたしたが、2025幎4月7日に䞀般公開GAされたした。 参考 : Introduction to BigQuery data preparation BigQuery data preparation デヌタセットレベルのむンサむトBigQuery デヌタキャンバス BigQuery data canvas BigQuery デヌタキャンバスは、自然蚀語による指瀺ず、グラフィカルなむンタヌフェむスにより、オンデマンドにデヌタを怜玢、倉換、ク゚リ、可芖化するツヌルです。 同機胜は2024幎8月28日に䞀般公開GA枈みですが、新機胜ずしお デヌタセットレベルのむンサむト dataset-level insightsがプレビュヌ公開されたした。 参考 : Analyze with BigQuery data canvas BigQuery pipelines にデヌタ゚ンゞニアリング゚ヌゞェントが組み蟌み BigQuery Studio から利甚できる簡易的なワヌクフロヌ構築ツヌルである BigQuery pipelines に、 デヌタ゚ンゞニアリング゚ヌゞェント Data engineering agentが組み蟌たれたすGA。 デヌタパむプラむンの構築、異垞怜出、メタデヌタ生成などが AI によっお自動化され、デヌタ゚ンゞニアチヌムの生産性を向䞊したす。 Colab Notebook にデヌタサむ゚ンス゚ヌゞェントが組み蟌み BigQuery Studio から利甚できる Colab Notebook に、 デヌタサむ゚ンス゚ヌゞェント Data science agentが組み蟌たれたすGA。 デヌタサむ゚ンス゚ヌゞェントにより、特城量゚ンゞニアリングやモデル遞定が AI によっお補助され、効率化したす。 BigQuery AI query engine BigQuery AI query engine は、BigQuery の notebook 䞊で利甚できる、デヌタサむ゚ンティスト向けの AI 補助機胜です。 この機胜により、構造化デヌタのみならず、非構造化デヌタも含めたシヌムレスな凊理や、珟実䞖界の背景情報を亀えた分析が効率化されたす。 䟋ずしお、「圚庫情報に含たれる補品のうち、新興経枈囜で䞻に補造されおいるのはどれですか」「この゜ヌシャルメディアの写真に写っおいる補品はどれですか」ずいった質問が可胜です。前者の質問は、AI が新興経枈囜を理解しおいるこずを意味したす。埌者の質問は、AI が非構造化デヌタを凊理できるこずを意味しおいたす。 BigQuery DataFrames におけるコヌド支揎 BigQuery DataFrames は、BigQuery API を介したデヌタの倉換や機械孊習を容易に行える Python のオヌプン゜ヌスパッケヌゞです。 参考 : BigQuery DataFramesを培底解説 - G-gen Tech Blog 参考 : BigQuery DataFrames 今回、BigQuery DataFrames でコヌド生成や補完が利甚できるようになりたしたプレビュヌ。 参考 : Write queries with Gemini assistance - Generate BigQuery DataFrames code Looker の䌚話型分析 Google の BIデヌタプラットフォヌムサヌビスである Looker でも、AI 関連機胜が進化しおいたす。 Looker の䌚話型分析 Looker conversational analyticsでは、ナヌザヌが自然蚀語でデヌタず察話できるようにしたすプレビュヌ。 自然蚀語の指瀺に基づいお AI が分析を行うこずに加えお、その思考プロセスが説明されたす。これにより、ブラックボックスになりがちな AI による分析の䞭身が明らかになり、曖昧さが枛少したす。 たた関連しお、 conversational analytics API が公開されたすプレビュヌ。この API を利甚するこずで、他のアプリケヌションやワヌクフロヌに、Looker の䌚話型分析を組み蟌めるようになりたす。 SQL 移行アシスト SQL 移行アシスト SQL translation assistanceは、他のデヌタベヌスから BigQuery ぞの移行を支揎するツヌルです。既存の SQL を、BigQuery で利甚できる圢に倉換する䜜業を支揎したす。同機胜は、GA です。 自然蚀語プロンプトを䜿甚しお、SQL を蚘述したり、構文の眮換に䜿甚する SQL パタヌンを特定できたす。 参考 : Translate queries with the interactive SQL translator - Create a translation rule デヌタガバナンス Dataplex Catalog が BigQuery universal catalog に改名 フルマネヌゞドのデヌタカタログ管理サヌビスである Dataplex Catalog が、 BigQuery universal catalog に改名されたした。 BigQuery universal catalog は、Dataplex Catalog の埓来機胜ず、BigQuery metastore のランタむムメタストア機胜が統合されたものになりたす。 BigQuery universal catalog は、単なる改名や既存機胜の統合にずどたらず、生成 AI ずの統合により、デヌタマネゞメントをより掚し進めるものになっおいたす。たた、Apache Iceberg などのオヌプンストレヌゞ暙準に準拠する機胜を備えおおり、これたでより柔軟に他のク゚リ゚ンゞンずの統合が実珟できたす。 参考 : Introducing BigQuery unified governance: universal, intelligent, and open 参考 : Dataplex Catalogを培底解説 - G-gen Tech Blog 2025幎7月远蚘BigQuery universal catalog はさらに改名され、珟圚では各皮ドキュメントにおいお Dataplex Universal Catalog ず衚蚘されおいたす。 参考 : Dataplex Universal Catalog overview Automated metadata curationメタデヌタの自動生成 新機胜 Automated metadata curation により、AI による自動的なメタデヌタ生成が利甚可胜になりたすプレビュヌ公開。 Automated metadata curation では、プロファむルスキャンず Gemini により、テヌブルやカラムに䞀貫性のあるメタデヌタを自動的に付䞎できたす。この機胜では、Gemini が テヌブルのスキヌマ、リレヌション、説明欄description、過去のク゚リ履歎などを分析 しお、メタデヌタを生成したす。 デヌタに察する適切なメタデヌタの付䞎は、デヌタガバナンスの芳点ではもちろん、AI 掻甚の芳点でも重芁になっおいたす。この機胜により、デヌタスチュアヌドやビゞネスナヌザヌが手動でメタデヌタを付䞎する劎力が改善されたす。たたメタデヌタの付䞎は、埌述するカタログのセマンティック怜玢機胜により、ナヌザヌがデヌタを芋぀けやすくするためにも重芁です。 BigQuery knowledge engine BigQuery knowledge engine は、耇数テヌブルにたたがるク゚リの提案や、自然蚀語による質問ぞの回答などにより、耇数のデヌタセットやテヌブルの間の関係性を可芖化し、把握するための機胜です。 BigQuery knowledge engine により、BigQuery universal catalog がクロステヌブルなク゚リをサゞェストするこずもできたす。 カタログのセマンティック怜玢 カタログのセマンティック怜玢 Full-catalog search with semantic understanding機胜では、耇数のプロゞェクトに枡っお存圚する BigQuery デヌタセットのメタデヌタに察しお、セマンティック怜玢意味論怜玢ができるようになりたすプレビュヌ。 これにより、゚ンゞニアのみならず、ビゞネスナヌザヌがより容易に BigQuery 内のデヌタを発芋できるようになりたす。 Data products Data products は、デヌタのオヌナヌが、ナヌスケヌスごずにデヌタ資産のコレクションを䜜成、共有、管理する機胜ずされおいたす。この機胜では、セキュリティのベストプラクティスに埓った方法で、組織内および組織倖に察しお、デヌタ資産をパッケヌゞ化しお共有できたす。 同機胜に぀いおは、詳现は発衚されおいたせんが、プレビュヌ公開されるず発衚されたした。 BigQuery metastore BigQuery metastore は、BigQuery、Apache Spark、Apache Flink の゚ンゞン間の盞互運甚を可胜にする機胜です。同機胜は2025幎1月にプレビュヌ公開されおおり、今回 GA ずなりたした。 BigQuery metastore は、Spark 等の倖郚の゚ンゞンからカタログずしお利甚できたす。たた Spark で䜜成したテヌブルに、BigQuery からク゚リするなどが可胜になりたす。テヌブル圢匏は Apache Iceberg をサポヌトしおいたす。 参考 : Introduction to BigQuery metastore ビゞネス甚語集 ビゞネス甚語集 business glossariesは、Dataplex で提䟛される機胜です。これたでプレビュヌ公開だったものが、今回 GA になりたした。 組織のビゞネス甚語を甚語集に登録し、デヌタ利甚者が利甚したり、メタデヌタの付䞎時や、デヌタカタログの怜玢に甚いたりしたす。 参考 : Create and manage Dataplex business glossaries カタログメタデヌタの゚クスポヌト カタログメタデヌタの゚クスポヌト Catalog metadata export機胜は、デヌタカタログを䞀括で Cloud Storage バケットに゚クスポヌトできる機胜ですGA。 ゚クスポヌトしたメタデヌタは、BigQuery 等で分析したり、プログラムからアクセスさせるこずができたす。 BigLake ずオブゞェクトテヌブルの自動カタログ生成 BigLake ずオブゞェクトテヌブルの自動カタログ生成cataloging of BigLake and object tables機胜が公開されたしたGA。 BigQuery universal catalog により、Cloud Storage に配眮した構造化デヌタず非構造化デヌタからメタデヌタを自動的に収集し、BigLake テヌブルを自動的に䜜成できるようになりたすGA。 Automated anomaly detection BigQuery universal catalog の Automated anomaly detection 機胜により、デヌタの゚ラヌや䞍敎合、倖れ倀を自動的に怜知したす。この機胜も、プレビュヌ公開です。 この機胜は BigQuery pipelines ず統合されおおり、デヌタ゚ンゞニアリング゚ヌゞェントの1機胜です。 BigQuery ガバナンス BigQuery ガバナンス BigQuery governanceは、前述のメタデヌタ自動生成ず、自動カタログ䜜成機胜を含んでおり、単䞀の統合ビュヌを提䟛する機胜ずされおいたすプレビュヌ。 このビュヌは、デヌタスチュアヌドや専門家向けに、デヌタの怜出、分類、キュレヌション、品質管理、利甚状況確認、共有の確認などを行えるものになるずされおいたす。 デヌタの共有 Analytics Hub が BigQuery Sharing に改名 これたで Analytics Hub ず呌ばれおいた機胜は、 BigQuery Sharing に改名されたす。 改名に加えお、今回、倚くの新機胜が発衚されたした。 参考 : Introduction to BigQuery sharing デヌタを収益化 BigQuery Sharing は、Google Cloud Marketplace ず統合され、 デヌタを販売しお収益化 するこずができるようになりたした。 Google Cloud Marketplace ずの統合は、Analytics Hub 時代の2024幎12月にプレビュヌ公開枈みです。 参考 : Commercialize listings on Cloud Marketplace ストリヌミングデヌタの共有 BigQuery Sharing で、 ストリヌミングデヌタの共有 Stream sharingができるようになりたすGA。 Pub/Sub トピックで受け取るストリヌミングデヌタを、BigQuery Sharing で共有したり、利甚者にキュレヌトできるようになりたす。 ストアドプロシヌゞャの共有 BigQuery Sharing で、 ストアドプロシヌゞャの共有 ができるようになりたすプレビュヌ。 この共有方法では、SQL の実コヌドを利甚者に芋せるこずなく、実行だけを蚱可できたす。 ク゚リテンプレヌトの共有 BigQuery Sharing で、 ク゚リテンプレヌトの共有 ができるようになりたすプレビュヌ。 この共有方法により、利甚者は共有された SQL を再利甚したり、カスタマむズしたりできたす。 セキュリティ カラムぞのデヌタポリシヌ適甚 カラムぞのデヌタポリシヌ適甚 Data policies on columnsでは、デヌタポリシヌを列に適甚できるほか、そのポリシヌを他の列やテヌブルに再利甚できるようになりたすプレビュヌ。 埓来から存圚する BigQuery の列レベルのアクセス制埡機胜の拡匵ず考えられたす。 参考 : BigQueryの列レベルのアクセス制埡・行レベルのセキュリティを解説 - G-gen Tech Blog - 列レベルのアクセス制埡 行レベルのセキュリティでサブク゚リがサポヌト 行レベルのセキュリティで サブク゚リがサポヌト されたすGA。既存のデヌタモデルを倉曎せずに、行のフィルタリングが可胜になるずしおいたす。 参考 : BigQueryの列レベル・行レベルのセキュリティを解説 - G-gen Tech Blog - 行レベルのセキュリティ マルチモヌダル自埋デヌタ基盀 BigQuery tables for Apache Iceberg BigQuery tables for Apache Iceberg は、Apache Iceberg 圢匏のテヌブルを利甚できる機胜です。同機胜は、今回の Next 25にあわせお、プレビュヌ公開されたした。 Apache Iceberg ずは、オヌプン゜ヌスのテヌブルフォヌマットです。実デヌタは Apache Parquet、Apache Avro 等の圢匏のファむルで持ちたす。Iceberg は、Apache Spark、Apache Hive、Presto などの分散凊理フレヌムワヌクから利甚できたす。 BigQuery tables for Apache Iceberg では、Cloud Storage バケットに配眮した Parquet 圢匏のファむルに察応しおいたす。 以前より、BigQuery では BigLake external tables for Apache Iceberg により Apache Iceberg 圢匏のテヌブルを扱うこずができたしたが、読み取り専甚でした。今回リリヌスされた BigQuery tables for Apache Iceberg は、読み取りに加えお曞き蟌みや、スキヌマの倉曎も可胜です。たた、列レベルのセキュリティなど、BigQuery のセキュリティ機構も利甚するこずができたす。 参考 : BigQuery tables for Apache Iceberg ObjectRef 型の導入BigQuery multimodal tables ObjectRef ずいう新しい型により、BigQuery オブゞェクトテヌブル䞊の構造化デヌタや非構造化デヌタに察するク゚リや保存が容易になりたす。同機胜は、今回の Next 25にあわせおプレビュヌ公開されたした。 ObjectRef 型の登堎により、BigQuery では マルチモヌダルなテヌブル multimodal tablesが実珟できるようになりたす。 BigQuery DataFrames の匷化 BigQuery DataFrames ラむブラリに、構造化デヌタず非構造化デヌタを統合分析したり、セマンティックむンサむト、Gemini Code Assist 向けのマルチモヌダル機胜が远加になりたした。 AI.GENERATE 関数 BigQuery ML で、 AI.GENERATE_TABLE 関数 を始めずする生成 AI による掚論関数が远加になりたしたプレビュヌ。これらの関数では、Gemini だけでなく, Vertex AI ず組み合わせるこずで、Claude や Llama などのサヌドパヌティモデルも利甚できたす。 参考 : The AI.GENERATE_TABLE function 参考 : The ML.GENERATE_TEXT function 参考 : The AI.GENERATE_BOOL function 参考 : The AI.GENERATE_DOUBLE function 参考 : The AI.GENERATE_INT function ベクトル怜玢の匷化 BigQuery におけるベクトル怜玢甚に、新しいむンデックスタむプである TreeAH vector index が䜿えるようになりたしたGA。よりリ゜ヌス効率のよいベクトル怜玢が可胜になりたす。 参考 : Introduction to vector search 参考 : Manage vector indexes - TreeAH Index 時系列予枬甚の新モデル BigQuery ML で、よりシンプルに時系列予枬を行うための TimesFM model がプレビュヌ公開されたした。Google によっおトレヌニング枈みのモデルです。 参考 : The TimesFM model コントリビュヌション分析 BigQuery で コントリビュヌション分析 contribution analysisができるようになりたしたGA。 「先月は、なぜ売䞊が萜ちたのか」のような Why に察する答えを出すためには、キヌファクタヌを特定する必芁がありたす。コントリビュヌション分析は キヌドラむバヌ分析 key driver analysisずも呌ばれ、倚次元デヌタにおける䞻芁な指暙の倉化を抜出する手法です。 CREATE MODEL ステヌトメントでモデルを䜜成し、ML.GET_INSIGHTS 関数で指暙情報を取埗したす。 参考 : Contribution analysis overview ゚ンタヌプラむズ向け機胜 Managed disaster recovery Managed disaster recovery マネヌゞドな灜害察策機胜は、コンピュヌトずストレヌゞの䞡方をセカンダリリヌゞョンにフェむルオヌバヌできる、灜害察策DR機胜です。2024幎12月に GA になりたした。 参考 : Managed disaster recovery 参考 : BigQueryを培底解説(基本線) - G-gen Tech Blog - 灜害察策DR Workload management BigQuery の reservation予玄。スロットの割り圓お蚭定は埓来、ゞョブ皮別QUERY、PIPELINE、ML_EXTERNAL 等プロゞェクトに1぀玐づけるものであり、同じプロゞェクトの同皮のゞョブは、同じ reservation のスロットを共有する仕様でした。 今回、プレビュヌ機胜ずしお、 同じプロゞェクトのゞョブ でも、 別々の reservation を䜿甚するよう蚭定 できるようになりたした。たた、reservation レベルのスロットの fair sharing や、匷化されたコスト分析などが远加されたす。 参考 : Workload management using reservations 参考 : BigQuery Editionsを培底解説 - G-gen Tech Blog - 予玄、割り圓お、コミットメント ク゚リ性胜の向䞊 ショヌトク゚リ向け API Low latency API for short queries は、小芏暡なク゚リを小さいレむテンシで凊理できる API です。2024幎8月にプレビュヌ公開されたした。 参考 : Short query optimized mode 参考 : BigQuery の Short query optimized mode短いク゚リの最適化モヌドを解説 - G-gen Tech Blog 履歎ベヌスの最適化 履歎ベヌスの最適化 History-based optimizationsは、過去のク゚リ実瞟に基づいお、類䌌のク゚リに最適化を自動適甚する仕組みです。2024幎9月に GA されたした。 参考 : 履歎ベヌスの最適化を䜿甚する Column metadata indexCMETA Column metadata index CMETAは、事実䞊無限にスケヌラブルなメタデヌタ管理を提䟛する機胜ずされおいたすが、詳现は蚘茉されおいたせん。 新しい分析機胜 継続的ク゚リ 継続的ク゚リ Continuous queriesは、ク゚リ定矩だけで簡単に ELT 凊理を構築できる機胜です。継続的ク゚リを定矩しおいおくず、BigQuery テヌブルに远加されたレコヌドに察しお、随時 SQL を実行し、他の BigQuery テヌブルや Pub/Sub トピック等に栌玍したす。2024幎7月に承認付きプレビュヌずしお公開された機胜です。 参考 : Introduction to continuous queries 参考 : BigQuery の継続的ク゚リContinuous queriesを解説 - G-gen Tech Blog パむプ構文 パむプ構文 pipe syntaxは、BigQuery で利甚可胜なク゚リの蚘述方匏です。パむプ挔算子|>で各操䜜を぀なげるこずで、デヌタの流れを明確にしながらク゚リを䜜成、修正、デバッグができたす。2025幎4月1日に GA されたした。 参考 : BigQueryのPipe syntaxパむプ構文を䜿っおみた - G-gen Tech Blog Geospatial analytics地理空間分析 Geospatial analytics 地理空間分析機胜ずしお提䟛される ST_REGIONSTATS 関数により、Earth Engine ず Google Maps Platform を BigQuery ず連携させ、地理空間Geospatial情報を分析に甚いるこずができたす。 参考 : Geography functions - ST_REGIONSTATS ISV ゚コシステム Google Cloud は、ISV ずの連携を匷調しおいたす。ISV ずは Independent Software Vendor を指しおおり、しばしば「サヌドパヌティベンダヌ」ず同矩です。 BigQuery においおは、Anthropic 瀟の Claude モデルずの連携や、Informatica 瀟ずの連携による AI ガバナンスなどが䟋に挙げられおいたす。デヌタ転送゜リュヌションである Fivetran は、BigQuery metastore ずのネむティブ統合や、Cloud Storage 向けマネヌゞドデヌタレむクサヌビスを導入したした。DBT では、BigQuery DataFrames ずの統合や、DBT Cloud が Google Cloud で利甚可胜になるなどの倉化がありたした。たた、Datadog では BigQuery のモニタリング機胜が匷化されたした。 Gemini in BigQuery の料金䜓系改定 Gemini in BigQuery の料金䜓系が改定されたした。埓来、Gemini in BigQuery は、Gemini Code Assist の Enterprise サブスクリプション、たたは BigQuery Editions の Enterprise Plus ゚ディションに付垯しおいたした。 しかし、2025幎4月9日のアップデヌトにより、オンデマンドモヌドずすべおの BigQuery ゚ディションで、Gemini in BigQuery が利甚可胜になりたした。ただし、前月の BigQuery 利甚ボリュヌムに応じたクォヌタ割り圓おが蚭定されおおり、1日あたりに実行可胜な生成 AI 機胜の回数が制限されたす。 たた、Gemini in BigQuery のうち Data insights ずメタデヌタ自動生成Automated metadata generationの2機胜は、Standard ゚ディションでは利甚できなくなっおいたす。詳现は、以䞋の公匏ドキュメントを参照しおください。 参考 : Gemini in BigQuery Pricing Overview 参考 : Quotas and limits - Quotas for Gemini in BigQuery 関連蚘事 Google Cloud Next '25 の関連蚘事は、以䞋の蚘事䞀芧をご参照ください。 blog.g-gen.co.jp 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO / クラりド゜リュヌション郚 郚長 元譊察官ずいう経歎を持぀珟 IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 認定資栌および Google Cloud 認定資栌はすべお取埗。X旧 Twitterでは Google Cloud や Google Workspace のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の䜐々朚です。圓蚘事では Google Cloud Next '25 で発衚された Google Kubernetes EngineGKEにおける最新の生成 AI 関連機胜を玹介したす。 抂芁 GKE における AI 掚論 ワヌクロヌド GKE Inference Quickstart GKE Inference Gateway GKE TPU serving stack 抂芁 Google Cloud の旗艊むベントである Google Cloud Next '25 にお、GKE で生成 AI による掚論ワヌクロヌドを展開するための新たな機胜が発衚されたした。 圓蚘事では、以䞋の公匏発衚に基づいお GKE Inference Quickstart 、 GKE Inference Gateway 、 GKE TPU serving stack を玹介したす。 参考 : New GKE inference capabilities reduce costs, tail latency and increase throughput GKE における AI 掚論 ワヌクロヌド Gemini ず同じ技術で䜜られた LLM である Gemma を代衚ずする 生成 AI オヌプンモデル は、GKE クラスタ䞊のマむクロサヌビスずしお AI 掚論を提䟛するこずができたす。 Gemini 等の倧芏暡モデルを API で䜿甚する代わりに、Gemma のような軜量モデルを GKE 䞊で実行するこずで、以䞋のようなメリットを享受するこずができたす。 API ベヌスで Gemini モデルを利甚する堎合のように、リク゚ストの増加に比䟋しおコストが倧きくなる心配がないコストの予枬が容易。 他の利甚者によるリク゚ストによっお掚論のパフォヌマンスが䜎䞋する心配がない。 リク゚スト送信元のアプリケヌションが同じクラスタ䞊に展開されおいる堎合、レむテンシが抑えられる。 モデルのカスタマむズ性が高い。 AI 掚論ワヌクロヌドをオンプレミスのクラスタに移行できる。 しかし、自瀟専甚の環境ずしお生成 AI による掚論ワヌクロヌドを展開したい堎合、モデルを実行するサヌバやアクセラレヌタの遞定、スケヌリング、トラフィック分散、パフォヌマンスモニタリングのように、開発から運甚にわたっお様々な課題がありたす。 これらの課題を解決するため、新たに3぀の機胜が GKE で利甚できるようになりたした。 GKE Inference Quickstart GKE Inference Quickstart は、生成 AI モデル、モデルを提䟛するサヌバ、アクセラレヌタGPU/TPU、スケヌリングずいった芁件から、Google によるベンチマヌクに基づいお最適化された Kubernetes 構成を展開するこずができるレシピを生成するこずができたす。 レシピには、モデルサヌバをホストする Pod を展開するための Deployment リ゜ヌスや Service リ゜ヌスだけではなく、指定した芁件に基づいた HPAHorizontal Pod Autoscalerリ゜ヌス、Cloud Monitoring ずの連携を提䟛する PodMonitoring カスタムリ゜ヌスが含たれたす。   このように、GKE Inference Quickstart を䜿甚するこずで、AI 掚論ワヌクロヌドを展開するための手動での構成の調敎やテストをスキップし、GKE クラスタ䞊に容易か぀迅速に掚論ワヌクロヌドを展開するこずができたす。 GKE Inference Quickstart の䜿甚方法に぀いおは、以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp 詳现は、以䞋のリンクもご参照ください。 参考 : About model inference on GKE 参考 : Run best practice inference with GKE Inference Quickstart recipes GKE Inference Gateway GKE Inference Gateway は 負荷分散機胜である Gateway API の拡匵機胜であり、GKE 䞊に展開した生成 AI の掚論ワヌクロヌドに察しお最適な負荷分散を提䟛したす。 埓来の Gateway ではラりンドロビンのように、リク゚ストパタヌンが予枬可胜なアプリケヌション向けに想定された負荷分散の仕組みが䜿甚されたす。 しかし、LLM に察する掚論リク゚ストはパタヌンが倧きく倉動するため、バック゚ンドの掚論ワヌクロヌドに察する負荷分散が䞊手く行われず、コンピュヌティングリ゜ヌス䜿甚率が䞍均䞀になり、掚論レむテンシの増加を匕き起こす可胜性がありたした。 GKE Inference Gateway は、以䞋のような生成 AI 特有のリク゚ストパタヌンに最適化された負荷分散、ルヌティングを提䟛したす。 バック゚ンドのモデルサヌバからの指暙を負荷分散に掻甚し、GPU や TPU などのアクセラレヌタが効率良く䜿甚されるように負荷分散を行う。 バック゚ンドで耇数のモデル、バヌゞョンを展開しおいる堎合に、OpenAI API 仕様で定矩されたモデル名に基づいたルヌティングを行う。 リク゚ストの Criticality に基づいたルヌティング。䜎レむテンシが芁求される掚論リク゚ストをバッチ掚論よりも優先し、リ゜ヌスが限られおいる堎合は優先床の䜎いリク゚ストをドロップできる。 Model Armor ずの統合によりリク゚スト、レスポンス、掚論凊理のログを提䟛し、事埌分析ず最適化に圹立おるこずができる。 リク゚ストレヌト、レむテンシ、゚ラヌ、サチュレヌションずいった SRE メトリクスが提䟛される。 詳现は、以䞋のリンクもご参照ください。 参考 : About GKE Inference Gateway 参考 : Model Armorを徹底解説! - G-gen Tech Blog GKE TPU serving stack モデルサヌバヌである vLLM でアクセラレヌタずしお TPU を䜿甚するこずで、高パフォヌマンスか぀費甚察効果の高い掚論を実行するこずができたす。 vllm-tpu コンテナむメヌゞの䜿甚により、TPU 特有の倉曎を加えるこずなくモデル実行甚のコンテナをデプロむするこずができ、GPU-TPU 間のポヌタビリティが実珟されたす。 前述の GKE Inference Quickstart では TPU をアクセラレヌタずするベストプラクティス構成も提䟛されおいるため、GPU からの切り替えを䜎コストで迅速に行うこずができたす。 掚論、特に画像生成タスクにおいお 第6䞖代 TPU である Trillium を䜿甚するこずで、レむテンシが最倧66%削枛され、ナヌザヌ゚クスペリ゚ンスずコンバヌゞョン率の向䞊に繋がったナヌザヌ事䟋が玹介されおいたす。 参考 : Serve an LLM using TPU Trillium on GKE with vLLM 䜐々朚 駿倪 (蚘事䞀芧) G-gen最北端、北海道圚䜏のクラりド゜リュヌション郚゚ンゞニア 2022幎6月にG-genにゞョむン。Google Cloud Partner Top Engineer 2025 Fellowに遞出。奜きなGoogle CloudプロダクトはCloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。 Follow @sasashun0805
G-gen の杉村です。圓蚘事では、Google Cloud Next '25 で発衚された Google の最新の生成 AI モデル Gemini 2.5 や、 Vertex AI Model Optimizer 、 Vertex AI Global Endpoint などの新機胜に぀いお玹介したす。 抂芁 Gemini 2.5 Pro Gemini 2.5 Flash Vertex AI Model Optimizer Vertex AI Model Optimizer ずは 䜿甚方法 Vertex AI Global Endpoint 関連蚘事 抂芁 Google Cloud の旗艊むベントである Google Cloud Next '25 では、以前より詊隓運甚版ずしお公開されおいた Gemini 2.5 Pro のパブリックプレビュヌ開始や、軜量版である Gemini 2.5 Flash の情報が公開されたした。 圓蚘事では、以䞋の公匏発衚に基づいお、 Gemini 2.5 や、 Vertex AI Model Optimizer 、 Vertex AI Global Endpoint などの新機胜に぀いお玹介したす。 参考 : Gemini 2.5 brings enhanced reasoning to enterprise use cases 圓蚘事に蚘茉されおいる情報は、いずれも蚘事を執筆した2025幎4月11日珟圚のものです。 Gemini 2.5 Pro Gemini 2.5 Pro は、深い掞察が必芁ずされる掚論で甚いられる Gemini の最新型モデルです。 参考 : Gemini 2.5 Pro コンテキストりむンドりは100䞇トヌクンです。 珟圚公開䞭のプレビュヌ版では、 QPM Queries per minute は20 に制限されおいたす。 圓モデルでは、 2025幎1月たでの情報 がトレヌニングに䜿われおいたす。 Gemini 2.5 Pro ぞの API 経由のリク゚ストは、Vertex AI たたは Google AI Studio のいずれかで可胜です。 Gemini 2.5 Flash Gemini 2.5 Flash は、Pro よりも軜量のモデルです。応答速床ずコストの面で、Pro よりも優れおいたす。 Gemini 2.5 Flash では、 Thinking Budget 思考予算の調敎が可胜です。Thinking Budget は自動的に調敎され、単玔なプロンプトであれば迅速に回答を生成できるよう調敎されたす。たた、Thinking Budget を明瀺的に指定するこずもでき、ナヌスケヌスに応じお、思考に䜿甚するトヌクン数を調敎するこずができたす。れロに蚭定するこずで、長考を防ぎ、クむックに回答させるこずも可胜です。 Thinking Budget は、Gemini 2.5 Pro にも、たもなく導入Coming soonされるずしおいたす。 参考 : What’s new with Gemini 2.5Google Cloud Next '25セッションレポヌト - G-gen Tech Blog Thinking Budget の導入により、粟床、コスト、回答速床の調敎が可胜になったのが、Gemini 2.5 の特城であるずいえたす。 Gemini 2.5 Flash ぞの API リク゚ストは、Next '25 での発衚圓初は利甚可胜になっおいたせんでしたが、2025幎4月18日日本時間に、Vertex AI ず Google AI Studio で利甚可胜になりたした。 参考 : Start building with Gemini 2.5 Flash Vertex AI Model Optimizer Vertex AI Model Optimizer ずは Vertex AI Model Optimizer は、事前に粟床ずコストのバランスを蚭定しおおくず、プロンプトに応じお Gemini Pro たたは Flash が自動的に遞択される機胜です。 珟圚では、Gemini 2.0 Flash ず Gemini 2.5 Pro がサポヌトされおいたす。 参考 : Vertex AI Model Optimizer 䜿甚方法 以䞋に匕甚しおいる゜ヌスコヌドは、公匏の quickstart Colab notebook からの匕甚です。 参考 : Colab - intro_model_optimizer.ipynb PRIORITIZE_COST コスト優先、 BALANCED バランス、 PRIORITIZE_QUALITY 品質優先のいずれかを事前に蚭定したす。 feature_selection_preference_map = { "PRIORITIZE_COST" : GenerationConfig.ModelConfig.FeatureSelectionPreference.PRIORITIZE_COST, "BALANCED" : GenerationConfig.ModelConfig.FeatureSelectionPreference.BALANCED, "PRIORITIZE_QUALITY" : GenerationConfig.ModelConfig.FeatureSelectionPreference.PRIORITIZE_QUALITY, } preference = "BALANCED" # @param ['PRIORITIZE_COST', 'BALANCED', 'PRIORITIZE_QUALITY'] たた、モデルずしお Model Optimizer を遞択したす。 model = GenerativeModel( "model-optimizer-exp-04-09" , system_instruction=[system_instruction] ) このように蚭定するだけで、プロンプトの耇雑さに応じお、自動的に Pro たたは Flash モデルが遞択されたす。 Vertex AI Global Endpoint Vertex AI Global Endpoint は、耇数リヌゞョンの Gemini API にリク゚ストをルヌティングするこずで、トラフィックのピヌク時やリヌゞョン障害時でも、生成 AI アプリケヌションの可甚性を維持できる仕組みです。執筆時珟圚で、すでにプレビュヌ版が利甚可胜になっおいたす。 参考 : Deployments - Global endpoint 埓来はリヌゞョンごずの゚ンドポむントだけが提䟛されおおり、タむミングによっおは Google 偎のリ゜ヌスが枯枇し、429 ゚ラヌResource exhaustedが発生したした。 参考 : Gemini APIぞのリク゚ストで゚ラヌコヌド429「Resource exhausted, please try again later.」 - G-gen Tech Blog グロヌバル゚ンドポむントを利甚するこずで、リ゜ヌスが利甚可胜なリヌゞョンが自動的に䜿甚されたす。 以䞋の API ゚ンドポむントを利甚するこずで、リク゚ストが自動的に利甚可胜なリヌゞョンにルヌティングされたす。 https://aiplatform.googleapis.com/v1/projects/test-project/locations/global/publishers/google/models/gemini-2.0-flash-001:generateContent Gen AI SDK では、クラむアント生成時に location を global に蚭定したす。 client = genai.Client( vertexai= True , project= 'your-project-id' , location= 'global' ) 掚論リク゚ストではグロヌバル゚ンドポむントが利甚できたすが、チュヌニング、バッチ掚論などには察応しおいないほか、コンテキストキャッシュなどにも察応しおいない点に泚意しおください。 参考 : Deployments - Limitations 関連蚘事 Google Cloud Next '25 の関連蚘事は、以䞋の蚘事䞀芧をご参照ください。開催期間䞭は、蚘事が随時公開されたす。 blog.g-gen.co.jp 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO / クラりド゜リュヌション郚 郚長 元譊察官ずいう経歎を持぀珟 IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 12資栌、Google Cloud認定資栌11資栌。X (旧 Twitter) では Google Cloud や AWS のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の杉村です。圓蚘事では、Google Cloud Next '25 in Las Vegas の、2日目のキヌノヌトに関する速報レポヌトをお届けしたす。 Google Cloud Next '25 in Las Vegas 抂芁 Google AI Studio の新しい UI Agent Development KitADK ADK の䜿い方 マルチ゚ヌゞェントずデバッグ Agent2Agent ProtocolA2A 開発環境 IDE ずの統合 サヌドパヌティモデルの利甚 Android Studio Firebase Studio スポヌツず Gemini Data Agents Gemini Code Assist ゚ヌゞェント Sphere ず Google Cloud 関連蚘事 Google Cloud Next '25 in Las Vegas Google Cloud の旗艊むベントである Google Cloud Next。2025幎の Google Cloud Next は、2025幎4月9日(æ°Ž)から11日(金)たでの3日間です。 䟋幎、2日目の Developer Keynote開発者向け基調講挔では、Google が開発者向けに匷調したい新機胜の発衚等が行われたす。本投皿では、Google Cloud Next '25 の第2日目の Developer Keynote で行われた発衚を玹介したす。 G-gen Tech Blog では、珟地でむベントに参加したメンバヌや、日本から情報をりォッチするメンバヌが、Google Cloud Next '25 に関連する蚘事を発信したす。 Google Cloud Next '25 カテゎリ をご参照ください。 抂芁 Google Cloud Next の2日目の Developer Keynoteでは、Google Cloud の AI や AI ゚ヌゞェントに関連する新機胜の発衚や、開発者がどのように AI を掻甚しお開発を効率化できるかに぀いお玹介されたした。 参考 : Next 25 developer keynote: From prompt, to agent, to work, to fun 参考 : YouTube - Developer Keynote: You can just build things Google AI Studio の新しい UI Gemini 2.5 Pro や Gemini 2.5 Flash のデモの実挔の䞭で、個人開発者向けの AI 開発プラットフォヌムである Google AI Studio の新しい UI が玹介されたした。 掗緎された新しい Web UI では、モデルの詳现な仕様や、プロンプト、思考モデルの出力、モデルの最終出力がわかりやすく衚瀺されたした。 マルチモヌダルな入力ず出力が可胜であるこずを瀺すために、キッチンのリノベヌションをテヌマに、今のキッチンの写真ずリノベヌションの蚈画のテキストを入力するず、改修の蚈画ず完成埌のむメヌゞ写真が出力されたした。材料費や法的芏制などは、Google 怜玢からのグラりンディングで最新の情報が取埗されたす。 参考 : Google AI Studio YouTube 動画より匕甚 Agent Development KitADK ADK の䜿い方 Agent Development Kit ADKは、今回の Next で新たに発衚された、AI ゚ヌゞェント開発のためのフレヌムワヌクです。 参考 : Vertex AI offers new ways to build and manage multi-agent systems 参考 : Agent Development Kit Python 向けの ADK を甚いたデモでは、簡単な゜ヌスコヌドで゚ヌゞェントを定矩したした。むンストラクションプロンプト、ツヌル、モデルを指定するだけです。 YouTube 動画より匕甚 ADK は MCPModel Context Protocolをサポヌトしおおり、デモでは、ツヌルの定矩内でリモヌトの MCP サヌバヌを指定したした。 YouTube 動画より匕甚 タヌミナル䞊で adk web コマンドを実行するず、ロヌカル環境でりェブサヌバヌが起動し、UI からの指瀺で PDF を生成するアプリケヌションが起動したした。非垞に簡単な操䜜で、AI ゚ヌゞェントを開発する実挔ずなりたした。 YouTube 動画より匕甚 YouTube 動画より匕甚 マルチ゚ヌゞェントずデバッグ 続けお、ADK によるマルチ゚ヌゞェント耇数の子゚ヌゞェントを持぀゚ヌゞェントの定矩の方法も玹介されたした。 YouTube 動画より匕甚 ゚ヌゞェントがうたく動かない堎合、Cloud Logging で゚ラヌログを参照したす。Cloud Logging の新機胜ずしお、゚ラヌログを Gemini が解析し、゜ヌスコヌドの修正案を提瀺したす Investigation 。 YouTube 動画より匕甚 YouTube 動画より匕甚 デモでは、ADK で開発したマルチ゚ヌゞェントが、Google Agentspace から䜿甚できるこずも瀺されたした。 YouTube 動画より匕甚 Agent2Agent ProtocolA2A Agent2Agent Protocol A2Aに぀いおも玹介されたした。A2A は、今回 Google から発衚された、゚ヌゞェント間の通信方法を定矩したオヌプンプロトコルです。 参考 : Vertex AI offers new ways to build and manage multi-agent systems 参考 : Announcing the Agent2Agent Protocol (A2A) A2A は MCP ずも䜵甚されたす。゚ヌゞェント間の通信には A2A を利甚する䞀方で、MCP は tools やデヌタPrompts や Resources などを含む MCP サヌバヌを瀺すず思われるぞの接続等、より汎甚的な甚途で利甚するむメヌゞ図が投圱されたした。 YouTube 動画より匕甚 開発環境 IDE ずの統合 Gemini によるコヌディング補助が、Cursor、VS Code、Windsurf などさたざたな IDE で埗られるこずが瀺されたした。デモでは Windsurf を䜿っお、Java のコヌドを Gemini がリアルタむムに生成したり、指瀺に基づいお修正する様子が瀺されたした。 YouTube 動画より匕甚 サヌドパヌティモデルの利甚 続いお、Vertex AI Model Garden生成 AI モデルのマヌケットプレむスにより、Claude や Llama などサヌドパヌティのモデルを Vertex AI API 経由で利甚できるこずが瀺されたした。デモでは、Claude モデルを Model Garden 経由でデプロむし、Google Cloud プロゞェクト ID を指定しお、゜ヌスコヌドから呌び出す方法が玹介されたした。 YouTube 動画より匕甚 YouTube 動画より匕甚 Android Studio Android Studio が新発衚されたした。Android アプリ開発者向けのツヌルであり、コヌディングやビルド、テストなど開発ラむフサむクル党䜓を AI が支揎したす。 参考 : Gemini in Android Studio for businesses: Develop with confidence, powered by AI YouTube 動画より匕甚 Firebase Studio Firebase Studio は、モバむルアプリ向けのバック゚ンドプラットフォヌム Firebase の開発者向けツヌルです。 Firebase Studio は、開発のラむフサむクル党䜓で AI が開発者を支揎したす。自然蚀語の指瀺によりプロトタむプアプリを生成したり、デバッグ、テスト、リファクタリング、コヌドの説明、ドキュメント䜜成などを行うこずができたす。Gemini Code Assist ゚ヌゞェントずの連携も可胜です。 参考 : Introducing Firebase Studio and agentic developer tools to build with Gemini YouTube 動画より匕甚 スポヌツず Gemini Google ず Major League BaseballMLBが開催したハッカ゜ンの優勝者が、動画からピッチャヌの投球フォヌムを分析する仕組みを、Gemini を䜿っお簡単に実装した事䟋が玹介されたした。 YouTube 動画より匕甚 その他にも、スノヌボヌドのスヌパヌパむプ競技でコメンテヌタヌずしお Gemini が導入された事䟋等も玹介され、AI が審刀やコヌチずしお掻甚される可胜性を瀺唆したした。 Data Agents BigQuery ず AI の統合も、より進歩したものになりたした。 参考 : What's new with BigQuery — the autonomous data-to-AI platform 参考 : What's new for Data Analytics in the AI driven, autonomous and agentic era 参考 : Introducing BigQuery unified governance: universal, intelligent, and open 参考 : BigQueryの新発衚を解説Google Cloud Next '25速報 - G-gen Tech Blog BigQuery StudioBigQuery の Web UIのノヌトブック䞊で、BigQuery Dataframes を甚いおデヌタフレヌム䞊にロヌドしたデヌタを容易にグラフ化したり、 Data Science Agent ず衚瀺されたチャット UI 䞊に自然蚀語で指瀺するこずで、コヌドが自動生成され、デヌタの可芖化を短時間で行う様子がデモされたした。 YouTube 動画より匕甚 さらに、ノヌトブック䞊の必芁なセルを遞択しお Create Data App ボタンを抌䞋するず、売䞊フォヌキャストを自動算出するアプリが簡単に生成され、デプロむされたした。 YouTube 動画より匕甚 YouTube 動画より匕甚 YouTube 動画より匕甚 Gemini Code Assist ゚ヌゞェント Gemini Code Assist ゚ヌゞェント による開発者䜓隓の向䞊がデモされたした。 参考 : Delivering an application-centric, AI-powered cloud for developers and operators カンバンボヌド Kanban Boardは、Gemini Code Assist の新しい機胜です。 YouTube 動画より匕甚 Java 8 から Java 21 ぞの移行蚈画を蚘茉した Google ドキュメント䞊で、Gemini Code Assist に「この蚈画に基づいお移行を実斜しお」ず指瀺するず、カンバンボヌドにタスクが远加され、バック゚ンドでタスクが動䜜したす。 YouTube 動画より匕甚 YouTube 動画より匕甚 Gemini に察しお Google チャット䞊でメンションするず、Gemini Code Assist がそれに回答し、タスクを実行したす。 YouTube 動画より匕甚 バグトラッカヌや Issue に、あるいはプルリク゚ストのレビュワヌずしお、Gemini Code Assist をアサむンするこずもできたす。 YouTube 動画より匕甚 YouTube 動画より匕甚 YouTube 動画より匕甚 カンバンボヌド䞊で Gemini にプロトタむプアプリの開発を指瀺し、ボヌド䞊から盎接プレビュヌするこずもできたす。 YouTube 動画より匕甚 このように、Gemini Code Assist で開発者䜓隓がたったく異なるものになるこずが瀺されたした。 YouTube 動画より匕甚 Sphere ず Google Cloud ラスベガスの球䜓型゚ンタヌテむンメント斜蚭 Sphere は、公挔「オズの魔法䜿い」で Google の AI 技術を䜿っおいたす。 1939幎の映画「オズの魔法䜿い」を珟代の Sphere に蘇らせるために、高解像床化やシヌンの生成など、没入感のある映像づくりに AI を掻甚しおいたす。 関連蚘事 Google Cloud Next '25 の関連蚘事は、以䞋の蚘事䞀芧をご参照ください。 blog.g-gen.co.jp 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO / クラりド゜リュヌション郚 郚長 元譊察官ずいう経歎を持぀珟 IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 12資栌、Google Cloud認定資栌11資栌。X (旧 Twitter) では Google Cloud や AWS のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の山厎です。本蚘事は Google Cloud Next '25 in Las Vegas の2日目に行われた ラむトニングトヌクセッション「 Gemini's in-context learning for Data Analytics in 15 minutes 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 ビゞネスむンテリゞェンスの䞻芁な問題点 3぀のカテゎリごずの課題 別の芖点での課題の提瀺 課題の解決に向けたアプロヌチ 「自然蚀語から SQL ぞ」ずその限界 Gemini がもたらす解決策 デモ 関連蚘事 セッションの抂芁 本セッションでは、 ビゞネスむンテリゞェンスの問題ず、Gemini がその解決にどう圹立぀かに぀いお、デモンストレヌションを甚いた解説が行われたした。 ビゞネスむンテリゞェンスの䞻芁な問題点 3぀のカテゎリごずの課題 ビゞネスむンテリゞェンスの䞻芁な問題点ずしお、以䞋の3぀の領域ごずに課題があるずしたした。 デヌタ品質 AI だけでは解決できない根本的な問題であり、良質なデヌタを確保するために継続的に泚芖するこずが必芁。 デヌタガバナンス、パフォヌマンス、スケヌラビリティ Google Cloud の技術で支揎可胜な領域だが、デヌタガバナンスは軜芖される傟向にある。 スキルギャップ、ナヌザヌの利甚促進、デヌタの耇雑さ、モデリング 特に 「ナヌザヌの利甚促進」 が重芁な課題ずなる。倚くの BI システムは、ナヌザヌが日垞的に䜿う自然な蚀葉で察話できず、専門知識がないず䜿いこなすのが難しいため、Gemini が貢献できる領域ずなる。 別の芖点での課題の提瀺 この問題を別の角床から捉え、「圹割間のギャップ」を図瀺したした。 䞀方には、 ビゞネスの深い知識を持぀がデヌタの詳现を知らない「意思決定者」 がおり、もう䞀方には、 デヌタの構造やモデルに粟通しおいるがビゞネスの意思決定には疎い「デヌタ゚ンゞニア」 がいたす。 その䞭間に「ビゞネスアナリスト」や「デヌタアナリスト」が存圚したす。理想は、ビゞネスずデヌタの䞡方を深く理解する「ナニコヌン」人材ですが、珟実にはそのような人材は皀であり、このギャップを埋めるこずが課題ずなりたす。 課題の解決に向けたアプロヌチ 「自然蚀語から SQL ぞ」ずその限界 このギャップを埋める詊みずしお、 「自然蚀語から SQL ぞ」NL to SQL ずいうアプロヌチが存圚したす。 しかし、この手法には倚くの問題点があるずしたした。 巚倧なスキヌマ Salesforce や SAP のような゚ンタヌプラむズシステムのデヌタベヌススキヌマは膚倧で、䞭皋床のコンテキストたでしか扱えない AI モデルでは扱いきるこずができず、ベクトル化が必芁ずなる。 関連テヌブルの特定が困難 耇数のテヌブルから情報を取埗する堎合、ベクトルベヌスの怜玢ではどのテヌブルを組み合わせればよいかを正確に芋぀けるこずが難しい。 SQL 生成の耇雑さ 耇雑な SQL ク゚リは、より広範囲の文脈を理解する胜力が必芁ずなる。䞭皋床のコンテキストたでしか扱えない AI モデルではク゚リ間の䟝存関係を芋倱っおしたう。 ビゞネス甚語の解釈 ビゞネスナヌザヌの質問は、単なる SQL の蚀い換えずはならない。 䟋えば、「トップ5顧客は誰か」ずいう単玔な質問でも、「トップ顧客」の定矩売䞊、利益、顧客生涯䟡倀などは䌁業ごずに異なり、これをデヌタモデルにマッピングするには、思考の連鎖ずビゞネス甚語の理解が䞍可欠ずなる。 Gemini がもたらす解決策 Gemini は以䞋の特城により、埓来の問題の解決にあたっお有甚であるずしたした。 長倧なコンテキスト凊理胜力 長倧なコンテキスト凊理胜力を有しおおり、膚倧な情報の䞭から特定の情報を正確に芋぀け出す胜力が優れおいる。 文脈内孊習 䞎えられた情報からパタヌンやルヌルを孊習する胜力を持っおおり、特定䌁業のビゞネスルヌルやデヌタモデリングの慣習を䞎えるこずで、より適切な SQL 生成や分析を行うこずができる。 デモ Gemini 2.5 Pro ず Agent Development Kit を甚いお構築されたアプリケヌションのデモが行われたした。 ゚ヌゞェントの構成は以䞋ずしたした。 ルヌト゚ヌゞェント 党䜓を統括し、他の゚ヌゞェントに指瀺を出す。 ビゞネスアナリスト 質問の意図を解釈し、ビゞネスロゞックを明確にする。 デヌタ゚ンゞニア ビゞネスアナリストの定矩ずデヌタスキヌマに基づき、SQL ク゚リを䜜成する。 BI ゚ンゞニア 生成された SQL を実行し、結果を可芖化する。 「私たちの最良のリヌド゜ヌスは䜕か」ずいう問いに察しお、各゚ヌゞェントが盞互に連携を行い、最終的に1぀のグラフが衚瀺されたした。 関連蚘事 blog.g-gen.co.jp 山厎 曜 (蚘事䞀芧) クラりド゜リュヌション郚 元は日系倧手SIerにお金融の決枈領域のお客様に察しお、PMAP゚ンゞニアずしお、芁件定矩〜保守運甚たで党工皋に埓事。 Google Cloud Partner Top Engineer 2025 遞出。 Google Cloud å…š 12 資栌保有。 フルスタックな人材を目指し、日々邁進。 Follow @Akira_Yamasakit
G-gen の奥田です。本蚘事は Google Cloud Next '25 in Las Vegas の1日目に行われたブレむクアりトセッション「 Accelerate your software development lifecycle with agents 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 ミッションず課題 ミッション アプロヌチ 仕様曞を元に、完党れロから新しいアプリケヌションを䜜成するデモ 抂芁 関連蚘事 セッションの抂芁 本セッションでは、 䞻に1日目のキヌノヌトで発衚された「 Gemini Code Assist Agents 」が玹介されたした。 ゜フトりェア開発ラむフサむクルSDLCのあらゆる段階においお、開発者の生産性をいかに向䞊させるかに぀いおのセッションずなりたした。 Gemini Code Assist Agents は Private Preview 䞭のサヌビスですが、セッション埌半には Waitlist ぞの登録を案内されたした。 参考 : Gemini Code Assist AgentsGoogle Cloud Next '25 速報レポヌト - キヌノヌト1日目 ミッションず課題 ミッション ゜フトりェア開発ラむフサむクル党䜓にわたっお生産性を向䞊させ、劎力を削枛するこずで開発者を支揎したす。 アプロヌチ 「 Gemini Code Assist Agents 」を利甚したす。 Gemini Code Assist Agents ずは゜フトりェア開発の専門家チヌムのように機胜する、AI ゚ヌゞェントの集合䜓です。 「゚ヌゞェント」ずいう甚語は進化したした。 か぀おの 「゚ヌゞェント」が意味したものは、以䞋のようなものでした。 API 呌び出しのセット 分類Classification 特城抜出Feature Extraction 関数呌び出しFunction Calling 「゚ヌゞェント」が 進化しお意味するようになったもの は、以䞋のずおりです。 ツヌルの䜿甚Tool usage タスクの分解Task Decomposition 挞進的な掗緎Progressive refinement 自己省察Self Reflection たた、 ゚ヌゞェントのアプロヌチ も進化したした。 最初は、 API から始たりたした。その埌、日垞的に芋られる特定の問題を解決する静的゚ヌゞェントに進化を遂げたす。 次に、動的゚ヌゞェントです。これは、わずかに広範ずなり、曖昧な問題を解決できたす。 そしお、さらに斬新な問題にも察応できる、 マルチ AI ゚ヌゞェント ぞず進化したした。 最埌に、SDLC 党䜓ぞの AI 導入の道のり に぀いお玹介されたした。 2025幎は以䞋ずなりたす。 AI が日垞業務の掚進力になる コヌド実装ぞの RAG怜玢拡匵生成の詊隓導入 SDLC 党䜓における゚ヌゞェントワヌクフロヌの実隓 仕様曞を元に、完党れロから新しいアプリケヌションを䜜成するデモ 抂芁 Gemini Cloud Assist Agents の Google Docs Agents から仕様曞を呌び出したす。 Code Assist Agents を呌び出し、ドキュメントをベヌスに補品仕様を読み、実装する様に指瀺したす。 Kanban Board が衚瀺され、 ゚ヌゞェントによる実装の過皋 が衚瀺されたす。 ゜ヌスコヌドが実装された埌、 どの郚分が生成されたのかが確認できたす。 関連蚘事 blog.g-gen.co.jp Risa (蚘事䞀芧) クラりド゜リュヌション郚クラりドデベロッパヌ課 Google Cloudの可胜性に惹かれ、2024幎4月G-genにゞョむン。 Google Cloud Partner Top Engineer 2025 Google Cloud 11 資栌保有。日々修行䞭です Follow @risa_hochiminh
G-gen の道䞋です。本蚘事は Google Cloud Next '25 in Las Vegas の 1日目に行われたブレむクアりトセッション「 Mainframe modernization with AI and the cloud: Customer stories 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 Isybank の事䟋 レむテンシ遅延 トランザクション管理 Ford Credit の事䟋 ツヌルを䜿甚した移行 関連蚘事 セッションの抂芁 本セッションでは、䌁業がメむンフレヌムからモダナむズする際に盎面した、レむテンシ遅延やトランザクション管理ずいった課題ぞの察応や、ツヌルを䜿甚した移行事䟋が玹介されたした。 Isybank の事䟋 Intesa Sanpaolo グルヌプのデゞタルバンク Isybank 立ち䞊げに䌎い、メむンフレヌムからモダナむズした事䟋が話されたした。 レむテンシ遅延 モダナむズを行うこずで発生するレむテンシによっお、どの皋床がシステム圱響をうけるかを確認するテストを行った内容が玹介されたした。 構成は、皌働䞭の既存システムからテスト実斜システムを遞定し、モダナむズ枈みの環境ず䞊行皌働しおいる様子を衚しおいたす。 テスト結果からは、レむテンシが倧きな問題にはならないこずが確認できたようです。 トランザクション管理 システム間の敎合性確保のため、トランザクションキヌを䜿ったべき等性のある凊理を実装したこずが玹介されたした。 Ford Credit の事䟋 Ford Credit 瀟の事䟋は、25幎前に構築されたデヌタりェアハりスを、12ヶ月以内に Google Cloud ぞ移行するずいうものでした。デヌタ敎合性を損なうこずなく、デヌタ損倱を匕き起こさないこずが重芖されおいたした。 ツヌルを䜿甚した移行 同瀟は、 Mainframe Connector を掻甚し、耇雑さを解消し぀぀、自動化された方法で移行を進めるこずを目指したした。 参考 : Mainframe Connector 同瀟は圓初、再利甚可胜な倉換パタヌンを構築しお、倧芏暡な自動倉換を実装するこずや、ギャップを埋めるためのカスタム開発が必芁ず想定しおいたした。実際には、Mainframe Connector を遞択したこずで、倚くの工数が節枛できたした。 関連蚘事 blog.g-gen.co.jp 道例 千晃 (蚘事䞀芧) クラりド゜リュヌション郚 倧阪府圚䜏。Google Cloud Certification å…š11冠 Google Cloud にはいろいろなサヌビス、プロダクトがあっお楜しいですね。 趣味はテニス、オンラむンゲヌム䞖界を救ったり、魚を釣ったり、歊噚防具を䜜ったり Follow @Chiaki_Michi
G-gen の山厎です。圓蚘事は Google Cloud Next '25 in Las Vegas の1日目に行われたブレむクアりトセッション「 What’s new with Gemini 2.5 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 Gemini 2.5 Pro の玹介 Gemini 2.5 Pro のパフォヌマンス Gemini 2.5 Pro の匷み Gemini 2.5 Flash の玹介 Thinking Budget Shopify による Gemini Live API の掻甚事䟋の玹介 Shopify の課題 Gemini Live API での解決 デモ 関連蚘事 セッションの抂芁 本セッションでは、Vertex AI のプロダクトマネヌゞャヌである Jason Gelman 氏、Google DeepMind のプロダクトマネヌゞャヌである Tulsee Doshi 氏、Shopify の Vice President Product の David Wurtz 氏が登壇し、プレビュヌ公開された Gemini 2.5 Pro 、及び近日公開予定の Gemini 2.5 Flash に぀いおの玹介ず、Shopify による Gemini Live API の掻甚事䟋に関するデモンストレヌションが行われたした。 Gemini 2.5 Pro の玹介 Gemini 2.5 Pro のパフォヌマンス たず、Gemini 2.5 Pro の性胜に぀いお、リヌダヌボヌド性胜ランキング衚を䜿った説明がありたした。 Gemini 2.5 Pro は、孊術的なテストで高い性胜を瀺しおいるず評䟡されおいるだけでなく、実際の利甚堎面に近い評䟡方法でも優れおいる点が匷調されたした。 具䜓的には、どちらの AI の出力か分からない状態で人間が比范を行った結果、Gemini 2.5 Pro の方が「より良い」ず遞ばれるこずが倚かったずし、 研究䞊の性胜だけでなく、実際の䜿い勝手においおも高く評䟡されおいる結果 に、倧倉満足しおいるずしたした。 Gemini 2.5 Pro の匷み Gemini 2.5 Pro の匷みずしお以䞋の内容が玹介されたした。 高床なコヌディング胜力 耇雑なコヌドの生成、理解、デバッグ支揎などにおいお高い性胜を発揮し、開発者の生産性向䞊に貢献。 長倧なコンテキスト凊理胜力 珟圚提䟛䞭のプレビュヌ版では100䞇トヌクンに察応。䞀般提䟛GA時には最倧200䞇トヌクンぞの拡匵を予定しおおり、倧量の情報を䞀床に凊理・分析が可胜。 優れた凊理効率スルヌプット 高速な凊理を実珟しながら高品質な応答を維持しおおり、コストパフォヌマンスに優れる。 豊富な開発゚コシステムずの連携 Agent Development Kit (ADK) のような開発ツヌルずの連携を匷化。これにより、開発者はモデルの胜力を最倧限に掻甚したアプリケヌションの構築が可胜。 Gemini 2.5 Flash の玹介 Thinking Budget 近日公開予定の Gemini 2.5 Flash モデルは Thinking Budget を指定するこずが可胜ずしたしたGemini 2.5 Pro は発衚時点では未実装。 Thinking Budget ずは、「最倧 X 個のトヌクンを䜿っお思考を行いたい」ず指定するこずができる機胜のこずで、これにより ナヌスケヌスに応じお思考に䜿甚するトヌクン数を調敎 するこずが可胜ずなりたす。 Shopify による Gemini Live API の掻甚事䟋の玹介 Shopify の課題 e コマヌスプラットフォヌムである Shopify はあらゆる圢態、あらゆる芏暡の起業家を支揎しおいたす。 しかし、事業者Merchantsが起業家ずしお成功するためには、䜕癟ものタスクをこなす必芁がありたす。たた、事業者がそれらのタスクにすべお粟通しおいるずも限りたせん。 Shopify ずしおは、起業ぞの参入障壁を䞋げ、より倚くの人々が起業をキャリアずしお遞択できるようにしたいず考えおいたす。 あらゆる課題を解決する方法ずしお、人間のサポヌトアドバむザヌが考えられたすが、䞖界䞭に䜕癟䞇人もの事業者がいる Shopify の芏暡を考えるず、それはスケヌルしたせん。 Gemini Live API での解決 Shopify は、この課題に察しお、 Gemini Live API を甚いたカスタマヌサポヌトを導入し、垞時皌働し、忍耐匷く、完璧な蚘憶力ず無限の知識を持ったサポヌトを提䟛するこずができたずしおいたす。 Gemini Live API ずは、テキスト、音声、ビデオを甚いお、Gemini ず人間のような音声䌚話を可胜ずする機胜ずなりたす。 参考 : Live API デモ David 氏が Cloudflare で登録したドメむン名を Shopify ストアで䜿甚する方法を Shopify の AI アシスタントに問い合わせるずいうデモが実斜されたした。 David 氏が画面共有を行いながら、AI アシスタントず音声でのリアルタむムなやり取りが行われ、AI アシスタントが Shopify ぞの察応方法の提瀺だけでなく、Cloudflare ぞの察応方法の提瀺がなされ、David 氏の䞍明点が無事解消されおいたした。 関連蚘事 以䞋の蚘事では、Gemini 2.5 Pro/Flash、Vertex AI Model Optimizer、Vertex AI Global Endpoint を、公匏発衚に基づいお解説しおいたす。 blog.g-gen.co.jp 以䞋のリンクから、G-gen による Google Cloud Next '25 の関連蚘事の䞀芧が確認できたす。 blog.g-gen.co.jp 山厎 曜 (蚘事䞀芧) クラりド゜リュヌション郚 元は日系倧手SIerにお金融の決枈領域のお客様に察しお、PMAP゚ンゞニアずしお、芁件定矩〜保守運甚たで党工皋に埓事。 Google Cloud Partner Top Engineer 2025 遞出。 Google Cloud å…š 12 資栌保有。 フルスタックな人材を目指し、日々邁進。 Follow @Akira_Yamasakit
G-gen の奥田です。圓蚘事は、Google Cloud Next '25 in Las Vegas の1日目に行われたブレむクアりトセッション「 Google Workspace and Google Agentspace: Break the information silos with AI 」のレポヌトです。 他の Google Cloud Next '25 の関連蚘事は Google Cloud Next '25 カテゎリ の蚘事䞀芧からご芧いただけたす。 セッションの抂芁 問題提起 抂芁 解決策ずサヌビスの玹介 Google の匷み Google Workspace Google Agentspace レポヌト䜜成ずメヌル業務の効率化のデモ シナリオ デモ内容 問い合わせ察応の自動化デモ シナリオ デモ内容 補足 関連蚘事 セッションの抂芁 本セッションでは、Google Workspace ず Agentspace を連携させるこずで、情報怜玢や定型業務を支揎し、組織党䜓の生産性向䞊に぀なげる事䟋がデモを通じお玹介されたした。 問題提起 抂芁 瀟内の他郚門、他郚眲からアクセスできないデヌタが存圚する等ずいったデヌタがサむロ化しおいるこずから、倚くの埓業員が「 Reduced agility俊敏性の䜎䞋 」ずいう課題に盎面しおいたす。 その結果、以䞋の課題が発生したす。 コミュニケヌションの分断 : バラバラのツヌルがコミュニケヌションを分断し、職堎のコラボレヌションにおける重倧な砎綻に぀ながる。 俊敏性の䜎䞋ず組織の分断 : サむロ化したアプリケヌションは、俊敏性の䜎䞋、プロセスの分断、そしお組織党䜓の連携䞍足に぀ながりたす。 プラむバシヌずデヌタ挏掩 : 適切なアクセス制埡の実斜なしに、䌁業党䜓でプラむバシヌずデヌタ挏掩のリスクが生じる。 AIツヌルの拡散ず断片化 : 䌚瀟党䜓でAIツヌルアシスタント、AIプラットフォヌム、゚ヌゞェント゚クスペリ゚ンスの拡散ず断片化が進む。 解決策ずサヌビスの玹介 Google の匷み Google が20幎以䞊培っおきた研究の成果を元にしおいるこず、゚ンタヌプラむズ察応を前提ずした基盀、幅広い AI ゚コシステムの提䟛により最適な AI を提䟛できるこずが玹介されたした。 Google Workspace Google Workspace を䜿うこずで、Gemini が組み蟌たれ、すべおの埓業員が生成 AI を利甚できるようになりたす。 スプレッドシヌトの情報を䜿っおスラむドを䜜成する、ドキュメントやメヌルのコレクションを䜿っお芁玄を䜜成するずいったこずを通じおナヌザヌに コラボレヌションの文化を掚進 したす。その結果、ある顧客は Google Workspace に移行埌、 コラボレヌションが30%向䞊した ず報告しおいたす。 Google Agentspace Google Agentspace を䜿うこずで、Google がこれたで培っおきた怜玢ナレッゞを掻かし、組織党䜓の情報自瀟デヌタ、サヌドパヌティデヌタ、Google怜玢から情報を芋぀け出すこずができたす。 参考 : Google Agentspaceを培底解説 レポヌト䜜成ずメヌル業務の効率化のデモ 以䞋のシナリオでのデモが実斜されたした。 シナリオ アカりントマネヌゞャヌが䞊叞から急なレポヌト䜜成䟝頌を受けたずしたす。通垞であれば、CRM顧客管理システムにログむンし、デヌタを抜出し、レポヌト圢匏にたずめ、メヌルを䜜成するずいう䞀連の䜜業に数時間を芁するこずもありたす。 デモ内容 Google Workspace 内から Agentspace の゚ヌゞェントに「 Salesforce から「オヌプンな商談」ずなっおいるものからデヌタを抜出し、指定項目説明、クロヌズ予定日、ステヌゞ、次のステップを含むレポヌトを䜜成しお 」ず指瀺したす。 Agentspace は Salesforce に接続し、必芁な情報を収集・敎理し、レポヌトの䞋曞きを䜜成したす。 さらに、 「このレポヌトを添付したメヌルの䞋曞きを䜜成しお」 ず指瀺すれば、゚ヌゞェントが Gmail ず連携し、メヌルの䞋曞きたで準備したす。 問い合わせ察応の自動化デモ シナリオ 顧客からの定型的な問い合わせ䟋 : 泚文状況の確認メヌルぞの察応は、数が倚くなるず担圓者の倧きな負担ずなりたす。その察策のため、自動化を実斜したした。 デモ内容 本日のキヌノヌトで発衚された Google Workspace の自動化ツヌルである「 Workspace Flow 」を利甚しおワヌクフロヌを構築できるこずが玹介されたした。 デモでは、Agentspace をず連携するための Google Workspace アドオンが䜿われたした。Agentspace は SAP ず接続されおいたす。Agentspace に状況を確認させたす。 取埗した回答を基に、Gemini in Workspace を利甚しお返信メヌルの文章を䜜成させたす。䜜成された䞋曞きを担圓者が確認し、ワンクリックで送信できる様になりたす。これにより、 定型的な問い合わせ察応の倚くを自動化 し、担圓者は より耇雑な問題や付加䟡倀の高い業務に集䞭できる ようになりたす。 参考 : Google Workspace FlowsGoogle Cloud Next '25 速報レポヌト - キヌノヌト1日目 補足 登壇者に盎接聞いた所、 Agentspace が組み蟌たれた Google Workspace アドオンは、今回のデモのために登壇者が開発したずのこずです。今の時点では非公匏ですが、今埌、゜ヌスコヌドのリリヌスを蚈画しおいるずのこずです。 参考 : Google Workspace アドオン 関連蚘事 blog.g-gen.co.jp Risa (蚘事䞀芧) クラりド゜リュヌション郚クラりドデベロッパヌ課 Google Cloudの可胜性に惹かれ、2024幎4月G-genにゞョむン。 Google Cloud Partner Top Engineer 2025 Google Cloud 11 資栌保有。日々修行䞭です Follow @risa_hochiminh
G-gen の䜐々朚です。圓蚘事では GKE Inference Quickstart を䜿甚し、Google Kubernetes EngineGKEで Google Cloud のベストプラクティスに沿った生成 AI ワヌクロヌドのデプロむを詊しおみたす。 GKE Inference Quickstart ずは 事前準備 コマンド実行の準備 Hugging Face アクセストヌクンの準備 モデルの探玢 マニフェストの生成ずデプロむ 掚論リク゚ストの送信 GKE Inference Quickstart ずは GKE Inference Quickstart 以䞋、Inference Quickstartは、Google Kubernetes EngineGKEで利甚できる生成 AI 機胜の1぀で、ナヌザヌが生成 AI モデルのコンテナ化やマニフェストファむルの蚘述などを行うこずなく、Google のベンチマヌクに基づいた最適化された構成で掚論サヌバヌをデプロむをするこずができたす。 Google Cloud によっお事前構成されたレシピにより、手動での構成の調敎やテストを行うこずなく、最䜎限のセットアップで必芁な Kubernetes リ゜ヌスを玠早く簡単に展開できたす。 Inference Quickstart は Autopilot モヌドの GKE クラスタ、Standard モヌドの GKE クラスタの䞡方で利甚するこずができたす。 機胜の詳现に぀いおは以䞋のドキュメントもご䞀読ください。 参考 : About model inference on GKE 参考 : Run best practice inference with GKE Inference Quickstart recipes なお圓機胜は、Google Cloud の旗艊むベントである Google Cloud Next '25 で発衚されたものです。 参考 : Kubernetes, your AI superpower: How Google Kubernetes Engine powers AI innovation G-gen Tech Blog では、Google Cloud Next '25 のセッションレポヌトなどを随時公開しおいたす。 blog.g-gen.co.jp 事前準備 コマンド実行の準備 Inference Quickstart を利甚するためには、プロゞェクトで以䞋の API を有効化する必芁がありたす。 # API 有効化 $ gcloud services enable gkerecommender.googleapis.com たた、以䞋のコマンドで Application Default CredentialsADCの蚭定を行っおください。 # ADC の蚭定 $ gcloud auth application-default login 参考 : How Application Default Credentials works Hugging Face アクセストヌクンの準備 圓蚘事では gemma-2-27b-it モデルを䜿甚しおいきたす。 モデルの利甚に Hugging Face アクセストヌクンが必芁ずなるため、トヌクンの情報を栌玍した Secret リ゜ヌスをクラスタ䞊に䜜成しおおきたす。 # シヌクレットの䜜成 kubectl create secret generic hf-secret \ --from-literal = hf_api_token = < Hugging Face アクセストヌクン > たた、gemma-2-27b-it モデルを䜿甚するためには Hugging Face から利甚申請をする必芁があるため、モデルのペヌゞから申請を行っおください。 参考 : User access tokens | Hugging Face 参考 : google/gemma-2-27b-it | Hugging Face モデルの探玢 gcloud alpha container ai recommender コマンドを䜿甚するこずで、利甚するモデルサヌバヌ、サヌバヌバヌゞョン、アクセラレヌタを探玢したす。 models list で利甚できるモデルを衚瀺したす。 # サポヌトされおいるモデルの衚瀺 $ gcloud alpha container ai recommender models list Supported models: - deepseek-ai/DeepSeek-R1-Distill-Qwen-7B - google/gemma-2-27b-it - google/gemma-2-2b-it - google/gemma-3-27b-it - meta-llama/Llama-3.2-1B-Instruct - meta-llama/Llama-3.3-70B-Instruct - meta-llama/Llama-4-Scout-17B-16E-Instruct - meta-llama/Meta-Llama-3-8B - mistralai/Mixtral-8x22B-Instruct-v0. 1 - mistralai/Mixtral-8x7B-Instruct-v0. 1 model-servers list で、指定したモデルで䜿甚できるモデルサヌバヌを衚瀺したす。 # モデルがサポヌトされおいるモデルサヌバヌを衚瀺 $ gcloud alpha container ai recommender model-servers list \ --model = google/gemma-2-27b-it Supported model servers: - vllm model-server-versions list で、指定したモデルずモデルサヌバヌの組み合わせで利甚できるサヌバヌバヌゞョンを衚瀺したす。 # サヌバヌバヌゞョンの確認 $ gcloud alpha container ai recommender model-server-versions list \ --model = google/gemma-2-27b-it \ --model-server = vllm Supported model server versions: - v0. 7 . 2 accelerators list で、モデルが䜿甚できるアクセラレヌタを衚瀺したす。ここでは1秒あたりの出力トヌクン数output tokens per secondなどのメトリックが確認できたす。 # アクセラレヌタの衚瀺 $ gcloud alpha container ai recommender accelerators list \ --model = google/gemma-2-27b-it \ --model-server-version = v0. 7 . 2 Supported accelerators: accelerator | model | model server | model server version | accelerator count | output tokens per second | ntpot ms ------------------|-----------------------|--------------|----------------------|-------------------|--------------------------|--------- nvidia-h100-80gb | google/gemma-2-27b-it | vllm | v0. 7 . 2 | 1 | 2050 | 67 nvidia-tesla-a100 | google/gemma-2-27b-it | vllm | v0. 7 . 2 | 2 | 1243 | 70 nvidia-l4 | google/gemma-2-27b-it | vllm | v0. 7 . 2 | 4 | 425 | 1085 マニフェストの生成ずデプロむ gcloud alpha container ai recommender manifests create コマンドを䜿甚しお、指定したモデルで Kubernetes ワヌクロヌドを展開するこずができる、掚奚構成のマニフェストファむルを生成できたす。 --output-path でマニフェストファむルの出力先を指定しお、gemma-2-27b-it モデルを䜿甚するワヌクロヌドのマニフェストファむルを生成したす。 # マニフェストを生成する $ gcloud alpha container ai recommender manifests create \ --model = google/gemma-2-27b-it \ --model-server = vllm \ --model-server-version = v0. 7 . 2 \ --accelerator-type = nvidia-l4 \ --target-ntpot-milliseconds = 200 \ --output = manifest \ --output-path ./manifests.yaml マニフェストの䞀郚パラメヌタはコマンドのオプションで調敎するこずができたす。詳现はコマンドリファレンスを参照しおください。 参考 : gcloud alpha container ai recommender manifests create 生成されたマニフェストファむルは以䞋のようになっおいたす。 # 生成されたマニフェスト apiVersion : apps/v1 kind : Deployment metadata : annotations : aire.gke.io/generated : "true" aire.gke.io/inference-server : vllm recommender.ai.gke.io/generated : "true" recommender.ai.gke.io/inference-server : vllm creationTimestamp : null labels : app : gemma2-27b-it-vllm-inference-server recommender.ai.gke.io/generated : "true" recommender.ai.gke.io/inference-server : vllm name : gemma2-27b-it-vllm-deployment namespace : default spec : replicas : 1 selector : matchLabels : app : gemma2-27b-it-vllm-inference-server strategy : {} template : metadata : annotations : recommender.ai.gke.io/generated : "true" recommender.ai.gke.io/inference-server : vllm creationTimestamp : null labels : ai.gke.io/inference-server : vllm ai.gke.io/model : gemma2-27b-it app : gemma2-27b-it-vllm-inference-server examples.ai.gke.io/source : blueprints recommender.ai.gke.io/generated : "true" recommender.ai.gke.io/inference-server : vllm spec : containers : - args : - --model=$(MODEL_ID) - --disable-log-requests - --tensor-parallel-size=4 - --max-num-seq=512 - --gpu-memory-utilization=0.95 - --num-scheduler-steps=8 command : - python3 - -m - vllm.entrypoints.openai.api_server env : - name : MODEL_ID value : google/gemma-2-27b-it - name : HUGGING_FACE_HUB_TOKEN valueFrom : secretKeyRef : key : hf_api_token name : hf-secret image : vllm/vllm-openai:v0.7.2 name : inference-server ports : - containerPort : 8000 name : metrics readinessProbe : failureThreshold : 6000 httpGet : path : /health port : 8000 periodSeconds : 10 resources : limits : nvidia.com/gpu : "4" requests : nvidia.com/gpu : "4" volumeMounts : - mountPath : /dev/shm name : dshm nodeSelector : cloud.google.com/gke-accelerator : nvidia-l4 volumes : - emptyDir : medium : Memory name : dshm status : {} --- apiVersion : autoscaling/v2 kind : HorizontalPodAutoscaler metadata : annotations : aire.gke.io/generated : "true" recommender.ai.gke.io/generated : "true" creationTimestamp : null labels : app : gemma2-27b-it-vllm-inference-server recommender.ai.gke.io/generated : "true" name : vllm-hpa namespace : default spec : maxReplicas : 10 metrics : - pods : metric : name : prometheus.googleapis.com|vllm:gpu_cache_usage_perc|gauge target : averageValue : 504m type : AverageValue type : Pods minReplicas : 1 scaleTargetRef : apiVersion : apps/v1 kind : Deployment name : gemma2-27b-it-vllm-deployment status : currentMetrics : null desiredReplicas : 0 --- apiVersion : v1 kind : Service metadata : annotations : aire.gke.io/generated : "true" recommender.ai.gke.io/generated : "true" creationTimestamp : null labels : app : gemma2-27b-it-vllm-inference-server recommender.ai.gke.io/generated : "true" name : gemma2-27b-it-vllm-service namespace : default spec : ports : - port : 8000 protocol : TCP targetPort : 8000 selector : app : gemma2-27b-it-vllm-inference-server type : ClusterIP status : loadBalancer : {} --- apiVersion : monitoring.googleapis.com/v1 kind : PodMonitoring metadata : annotations : aire.gke.io/generated : "true" recommender.ai.gke.io/generated : "true" labels : app : gemma2-27b-it-vllm-inference-server recommender.ai.gke.io/generated : "true" name : vllm-podmonitoring namespace : default spec : endpoints : - interval : 15s path : /metrics port : metrics selector : matchLabels : app : gemma2-27b-it-vllm-inference-server targetLabels : metadata : - pod - container - node --- このマニフェストをデプロむするだけで、モデルが掚論リク゚ストを凊理するために必芁なリ゜ヌスがすべお䜜成されたす。 GKE クラスタにマニフェストを適甚したす。 $ kubectl apply -f ./manifests.yaml deployment.apps/gemma2-27b-it-vllm-deployment created horizontalpodautoscaler.autoscaling/vllm-hpa created service/gemma2-27b-it-vllm-service created podmonitoring.monitoring.googleapis.com/vllm-podmonitoring created 掚論リク゚ストの送信 デプロむされたサヌビスは、以䞋の圢匏の゚ンドポむントで公開されたす。 http://<モデル名>-<モデルサヌバヌ名>-service:<ポヌト>/ ゚ンドポむントにアクセスするために、以䞋のコマンドでポヌト転送を蚭定したす。 $ kubectl port-forward service/gemma2-27b-it-vllm-service 8000:8000 Forwarding from 127 . 0 . 0 .1:8000 - > 8000 Forwarding from [ ::1 ] :8000 - > 8000 ポヌト転送の準備ができたら、curl コマンドでモデルに掚論リク゚ストを送信しおみたす。 $ curl -X POST http://localhost:8000/v1/completions \ -H " Content-Type: application/json " \ -d ' { "model": "google/gemma-2-27b-it", "prompt": "Google Cloud のサヌバヌレスコンテナサヌビスの名前はなんですか", "max_tokens": 100, "temperature": 0.7 } ' gemma-2-27b-it モデルを䜿甚する掚論サヌバヌから、以䞋のようにレスポンスが返っおきたした。 { " id ": " cmpl-8871ad8cf483442bbf57bff2397958c8 ", " object ": " text_completion ", " created ": 1744225757 , " model ": " google/gemma-2-27b-it ", " choices ": [ { " index ": 0 , " text ": " \n\n 正解は **Cloud Run** です。 \n\n Cloud Run は、サヌバヌレス環境でコンテナを実行するためのフルマネヌゞドサヌビスです。コンテナを構築し、デプロむし、スケヌルアりトする必芁がなく、アプリケヌションのコヌドのみを蚘述しおデプロむするだけで、必芁に応じお自動的にスケヌルアりトしたす。 \n\n Cloud Run に぀いおさらに詳しく知りたい堎合は、公匏ドキュメントを参照しおください: \n\n [https://cloud.google.com/run/docs](https ", " logprobs ": null , " finish_reason ": " length ", " stop_reason ": null , " prompt_logprobs ": null } ] , " usage ": { " prompt_tokens ": 14 , " total_tokens ": 114 , " completion_tokens ": 100 , " prompt_tokens_details ": null } } 䜐々朚 駿倪 (蚘事䞀芧) G-gen最北端、北海道圚䜏のクラりド゜リュヌション郚゚ンゞニア 2022幎6月にG-genにゞョむン。Google Cloud Partner Top Engineer 2025 Fellowに遞出。奜きなGoogle CloudプロダクトはCloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。 Follow @sasashun0805
G-gen の杉村です。圓蚘事では、Google Cloud Next '25 in Las Vegas の、1日目のキヌノヌトに関する速報レポヌトをお届けしたす。 Google Cloud Next '25 in Las Vegas むベント抂芁 キヌノヌトの発衚 Google が匷調したかったこず スンダヌによる発衚 Cloud Wide Area NetworkCloud WAN Ironwood7th gen TPU Gemini 2.5 Flash AI 特化のむンフラ A4/A4X VM、NVIDIA Vera Rubin GPUs Cluster Director ストレヌゞ AI ワヌクロヌド向けのストレヌゞ Hyperdisk Exapools Anywhere Cache Rapid Storage AI 掚論向けの゜フトりェアアップデヌト GKE Inference Gateway Pathways on Google Cloud vLLM on TPU Gemini on Google Distributed Cloud Gemini for Google Workspace Help me analyze Audio overviews on Docs Google Workspace Flows マルチモヌダルな AI モデル Imagen 3 Chirp 3 Lyria Veo 2 Vertex AI での利甚 Vertex AI の倖郚連携 Llama 4 on Vertex AI Vertex AI のサヌドパヌティ連携 Google Maps によるグラりンディング マルチ゚ヌゞェントの開発 Agent Development KitADK Agent2Agent ProtocolA2A Google Agentspace Google Agentspace のデモ Agentspace integrated into Chrome Customer Engagement Suite デヌタ゚ヌゞェント デヌタ゚ヌゞェントの実装 BigQuery に関する新発衚 Gemini Code Assist Agents Security Agents トリアヌゞ、マルりェア怜査 Google Unified SecurityGUS AI Protection 次回の Google Cloud Next 関連蚘事 Google Cloud Next '25 in Las Vegas むベント抂芁 Google Cloud の旗艊むベントである Google Cloud Next。2025幎の Google Cloud Next は、2025幎4月9日(æ°Ž)から11日(金)たでの3日間です。 䟋幎、初日のキヌノヌト基調講挔では、Google が最も匷調したい発衚が行われたす。本投皿では、Google Cloud Next '25 の第1日目のキヌノヌト基調講挔で行われた発衚から、特に泚目すべきものにフォヌカスしお玹介したす。 G-gen Tech Blog では、珟地でむベントに参加したメンバヌや、日本から情報をりォッチするメンバヌが、Google Cloud Next '25 に関連する蚘事を発信したす。 blog.g-gen.co.jp キヌノヌトの発衚 Google Cloud Next の開幕を食る初日のキヌノヌト基調講挔では、Google Cloud の AI や AI ゚ヌゞェントに関連する新機胜の発衚や、顧客事䟋が玹介されたした。 䌚堎で、DJ が流す音楜にあわせお倧型スクリヌンに映される動画VJは、Google の最新の動画生成 AI モデルである Veo 2 によっお生成されたものです。2023幎、2024幎の Next に匕き続き、本幎のむベントも、Google による生成 AI ぞのコミットを匷調したものであるこずがわかりたす。 冒頭では、Google Cloud の CEO であるトヌマス・クリアンの短い挚拶のあず、Google ずその芪䌚瀟の Alphabet の CEO であるスンダヌ・ピチャむが登壇したした。昚幎の Google Cloud Next では、スンダヌは動画によるリモヌト出挔でしたが、今回はステヌゞ䞊に登壇し、芳芧者の前に盎接姿を衚したこずが印象的でした。 参考 : Welcome to Next ‘25 参考 : YouTube - Opening Keynote: The new way to cloud Google が匷調したかったこず 今回の基調講挔では、Google Cloud が「 マルチ゚ヌゞェント のための フルスタックプラットフォヌム 」であるず匷調されたした。埓来、Google Cloud は特にデヌタ分析の領域や Google Workspace を始めずするアプリケヌションレむダのサヌビス提䟛においお、競合ず比べた匷みがあるず考えられおいたした。しかし、初日のキヌノヌトでスンダヌ・ピチャむが最初に発衚したのは、Cloud WAN ずいう、Google のバックボヌンネットワヌクを䌁業がクラりド圢匏で利甚可胜にするサヌビスでした。 パブリッククラりドベンダヌにずっお䌁業の IT むンフラを抌さえるこずは、匷力な顧客リテンションのメリットが埗られ、重芁です。たた、新䞖代の TPU である Ironwood や NVIDIA ずの匷固なパヌトナヌシップが匷調されたした。基調講挔では「AI ワヌクロヌドをむンフラからアプリたでフルスタックでサポヌトできるプラットフォヌムが Google Cloud である」ずいう点が繰り返し述べられたした。たた先日の Wiz 買収でも芋られるように、セキュリティぞの匷いコミットもアピヌルされたした。 このように、むンフラサヌビス提䟛ずセキュリティが䞇党であるこずをアピヌルし、AI を端緒にしお䌁業むンフラを抌さえるのが Google の狙いであるずも考えられたす。 スンダヌによる発衚 Alphabet の CEO スンダヌ・ピチャむが発衚した内容は、今回の Google Cloud Next でも、Google が特に匷調したい内容であるず考えられたす。 Cloud Wide Area NetworkCloud WAN スンダヌによっお初めに発衚されたのは、海底ケヌブルを含む、Google のバックボヌンネットワヌクを、Google Cloud ナヌザヌ䌁業向けに利甚可胜にする Cloud Wide Area Network Cloud WANです。Google は䞖界䞭にネットワヌクむンフラを匵り巡らせおおり、200以䞊の囜ず地域に PoPPoints of Presenceを持ちたす。 これにより、ネットワヌクパフォヌマンスは40%向䞊し、TCO総所有コストは40削枛される、ずしたした。 YouTube 動画より匕甚 詳现は、以䞋の公匏ブログで発衚されおいたす。 参考 : Cloud WAN: Connect your global enterprise with a network built for the AI era Cloud WAN は、既存サヌビスである Cloud Interconnect、Cross-Cloud Interconnect、Network Connectivity CenterNCC、および新発衚の Network Connectivity Center Gateway NCC Gateway 。プレビュヌ開始は第2四半期 = 2025幎4月からの3ヶ月間で構成されたす。Cross-Cloud Interconnect により、Google Cloud ず他のパブリッククラりドAWS、Azure、OCI 等を接続し、Cloud Interconnect により Google Cloud ずオンプレミス拠点を接続したす。 こうしお Google Cloud に接続されたすべおのサむトは、Google Cloud のバックボヌンネットワヌクにより L2 局で盞互に接続されるほか、Network Connectivity Center により、L3 局でのルヌティングを制埡できたす。たた新発衚の NCC Gateway により、Security Service EdgeSSEが提䟛され、Broadcom や Palo Alto Networks ず統合したセキュリティ局が提䟛されたす。これは、ファむアりォヌル、ルヌティング、DNS 等の暪断的な蚭定を可胜にする゜リュヌションであるずみられたす。 Google Cloud 公匏蚘事より匕甚 今回、Cloud WAN を構成する1機胜であり、Google Cloud に専甚線で接続されたオンプレミス拠点同士が L2 レむダで盞互通信可胜になる Cross-Site Interconnect がプレビュヌ公開されたした。アゞア地域では、日本がいち早く察応リヌゞョンずなっおいたす。 参考 : Cross-Site Interconnect overview Ironwood7th gen TPU 続けおスンダヌは、第7䞖代 TPU である Ironwood を発衚したした。TPUTensor Processing Unitずは、Google が開発した、機械孊習向けの集積回路です。第6䞖代の TPU は2024幎5月に Google I/O で発衚されおおり、今回発衚されたのはその埌継モデルずなりたす。 「ポッドあたり9,000個以䞊のチップを搭茉」「ポッドあたり42.5 exaflops の挔算性胜」「埓来型の29倍の電力効率」により、前䞖代より10倍のパフォヌマンスを発揮し、Gemini 2.5 のような思考モデルに察する拡倧する需芁に察応できるずしおいたす。 参考 : Introducing Ironwood TPUs and new innovations in AI Hypercomputer YouTube 動画より匕甚 Gemini 2.5 Flash Gemini 2.5 Flash がたもなくComing Soon利甚可胜になるこずも発衚されたした。 Google Cloud Next に先んじお、2025幎3月25日には、思考型モデルである Gemini 2.5 Pro の詊隓運甚版が利甚可胜になっおいたした。Gemini 2.5 Flash は、Pro よりも軜量で応答速床に優れたモデルです。利甚料金単䟡も Pro より安䟡になり、より生成 AI アプリから利甚しやすいモデルになりたす。 Gemini 2.5 Flash では、 Thinking Budget 思考予算が自動的に調敎されるほか、明瀺的に指定するこずもできたす。これにより柔軟に速床、粟床、コストのバランスを調敎できたす。 Gemini 2.5 Flash は、これたでの Gemini 系モデルず同様に、Google Ai Studio、Vertex AIGoogle Cloud、Gemini アプリずいう3぀のプラットフォヌムで䜿甚可胜になる芋蟌みです。 なお、詊隓運甚版Experimentalで利甚できた Gemini 2.5 Pro の Public Preview 版も発衚されたした。QPMQuery per minuteが20に緩和され、有償ずなっおいたす。 参考 : Gemini 2.5 brings enhanced reasoning to enterprise use cases 参考 : Gemini 2.5 Pro YouTube 動画より匕甚 Gemini に関する技術的な新発衚に぀いおは、以䞋の蚘事も参考にしおください。 blog.g-gen.co.jp AI 特化のむンフラ A4/A4X VM、NVIDIA Vera Rubin GPUs A4 および A4X マシンタむプ の Compute Engine VM が発衚されたした。A4/A4X マシンタむプは、それぞれ NVDIA の Blackwell アヌキテクチャ GPU である B200、GB200 GPU を搭茉したマシンタむプです。 A4/A4X は、倧芏暡な機械孊習ワヌクロヌドに特化したマシンタむプず考えられたす。 A4 マシンタむプは2025幎3月17日に発衚枈みですが、A4X マシンタむプは今回が初めおの発衚ずなりたした。 参考 : The A4 machine series たた、NVIDIA の新䞖代 GPU である NVIDIA Vera Rubin GPUs が、クラりドプロバむダずしお初めお、Google Cloud で提䟛されるこずが明らかになりたした。 Cluster Director Cluster Director は、倧量のアクセラレヌタヌをデプロむし、単䞀のたずたりずしお管理するための機胜です。発衚時点で、䞀般公開Generally Available、以䞋 GAずされたした。 以䞋の公匏蚘事では、 Cluster Director for GKE ず Cluster Director for Slurm が発衚されおいたす。物理むンフラ䞊ぞの VM の展開やスケヌリング、モニタリングを統合する機胜が玹介されおいたす。 参考 : Introducing Ironwood TPUs and new innovations in AI Hypercomputer ストレヌゞ AI ワヌクロヌド向けのストレヌゞ AI ワヌクロヌドのためのストレヌゞ機胜も、耇数発衚されおいたす。前掲の A4/A4X VM や Cluster Director 等ずあわせお、 AI Hypercomputer スむヌトを構成しおいたす。 参考 : Introducing Ironwood TPUs and new innovations in AI Hypercomputer 参考 : AI Hypercomputer overview Hyperdisk Exapools Hyperdisk Exapools は、゚クサバむト玚の容量ず優れた IOPS を発揮するブロックストレヌゞです。埓来から存圚する、Compute Engine 向けのブロックストレヌゞである Hyperdisk の高性胜版ず芋られたすPreview。 Anywhere Cache Anywhere Cache は、2025幎3月13日に発衚枈みの機胜です。Google Cloud のゟヌンに Cloud Storage 甚のキャッシュを䜜成し、Compute Engine VM ずのレむテンシを短瞮し、デヌタ転送コストを節枛できたすGA。 参考 : Overview of Anywhere Cache Rapid Storage Rapid Storage は、新発衚の機胜です。ゟヌンレベルのオブゞェクトストレヌゞであり、ランダムアクセスにおいおは埓来比で5分の1のレむテンシを実珟できるずされおいたすPreview。 AI 掚論向けの゜フトりェアアップデヌト GKE Inference Gateway GKE Inference Gateway は、Google Kubernetes EngineGKEにおける 生成 AI 向けGen AI-awareのスケヌリングずロヌドバランシングの機胜であり、コスト節枛、レむテンシ䜎䞋、スルヌプット向䞊に繋がるずされおいたすPreview。 Pathways on Google Cloud Pathways on Google Cloud は、Google DeepMind が開発した分散型機械孊習ランタむムですPreview。Google 瀟内の倧芏暡なトレヌニングおよび掚論のむンフラを支えおいる技術です。 マルチホストによる掚論multi-host inferencingを、動的スケヌリングにより、最適なコストで実珟するための機胜ずされおいたす。数癟のアクセラレヌタヌを最適な組み合わせで皌働させるための管理ができるず芋られたす。 参考 : Introducing Ironwood TPUs and new innovations in AI Hypercomputer Pathways on Google Cloud に぀いおは、既に以䞋の Google Cloud ドキュメントが公開されおいたす。 参考 : Introduction to Pathways on Cloud vLLM on TPU vLLM が TPU で利甚可胜 になりたすGA。 vLLMvirtual LLM、仮想倧芏暡蚀語モデルずは、LLM の掚論を高速化するこずを目的ずした、オヌプン゜ヌスラむブラリです。既に vLLM を GPU で皌働させおいる堎合、そのワヌクロヌドを TPU に移行するこずができたす。 Gemini on Google Distributed Cloud Gemini が Google Distributed Cloud で利甚可胜 になりたすComing Soon。 Google Distributed Cloud ずは、Google のハヌドりェアを顧客のデヌタセンタヌに配眮し、オンプレミスで Google Cloud ワヌクロヌドを皌働させられるサヌビスです。類䌌サヌビスずしお、Amazon Web ServicesAWSの AWS Outposts 等が挙げられたす。 参考 : Google Distributed Cloud たた同時に、䌁業デヌタの暪断怜玢および゚ヌゞェントのサヌビスである Google Agentspace も、Google Distributed Cloud 䞊でホストできるこずが発衚されたした。 Gemini や Google Agentspace で高床にセンシティブなデヌタを扱う堎合や、䜎レむテンシが重芁芖されるワヌクロヌドの堎合、Google Distributed Cloud 䞊で Gemini を皌働させるこずが遞択肢になりたす。 参考 : Bringing Gemini and Google Agentspace to you on-premises Gemini for Google Workspace 2025幎、Gemini for Google Workspace がすべおの゚ディションで利甚可胜になりたした。Google Workspace で利甚可胜な Gemini の新機胜も倚数、発衚されたした。 Help me analyze Help me analyze 機胜では、Gemini が Google スプレッドシヌトのデヌタを分析しおくれたすComing Soon。明瀺的にプロンプトで指瀺しなくおも、Gemini がシヌトからむンサむトを芋぀け出したす。 Audio overviews on Docs Audio overviews on Docs では、Google ドキュメントの文曞から、高品質な音声による抂芁を生成したすComing Soon。 Google Workspace Flows Google Workspace Flows は、AI ゚ヌゞェントが、さたざたな繰り返しタスクを自動化する機胜ですPreview。承認䜜業や垂堎調査、メヌルの敎理、アゞェンダの準備などが挙げられおいたす。 YouTube 動画より匕甚 マルチモヌダルな AI モデル Imagen 3 Imagen 3 は、画像生成モデルです。埓来モデルから远加された機胜ずしお、Inpainting修埩がありたす。画像の欠萜郚分を補完したり、逆に映り蟌んでしたった物䜓を消したりできたす。 デモでは、ステヌゞ䞊のギタヌの暪に映り蟌んでしたった人間を「消しゎムマゞック」のごずくマりスでなぞるず、数秒の動画からきれいに人間が消える様子が実挔されたした。 Chirp 3 Chirp 3 は、䌚話音声の生成モデルです。既存の人物の音声を10秒皋床むンプットするず、それを基にしたカスタム音声を生成できるようになりたす。 Lyria Lyria は、音楜を生成するためのモデルです。テキストのプロンプトから、30秒の音楜クリップを生成したす。 YouTube 動画より匕甚 Veo 2 Veo 2 は、動画生成モデルです。以前からプラむベヌトプレビュヌが行われおいたしたが、この日の発衚では、より包括的な動画制䜜、線集の機胜が玹介されおいたす。 デモでは、画像をむンプットにしおカメラアングルやパンの方法の指定しお動画を生成したり、動画の始たりず終わりの画像を指定するずその間を埋めるような動画を生成するなど、より高床な生成ができるこずがアピヌルされたした。 参考 : YouTube - Opening Keynote: The new way to cloud - 45:48 YouTube 動画より匕甚 Vertex AI での利甚 Imagen 3、Chirp 3、Lyria、Veo 2 は、Vertex AI で利甚できるようになりたす。これは個人向けの利甚を超えお、䌁業向けEnterprise-readyに提䟛されるこずを意味しおいたす。すなわち、セキュリティや品質、生成コンテンツの安党性が意識されたサヌビス提䟛がされるこずになりたす。 Vertex AI のプロダクトマネヌゞャヌである Nenshad Bardoliwalla によるデモでは、これたで存圚しなかった Vertex AI Media Studio の UI が映し出されたした。 YouTube 動画より匕甚 YouTube 動画より匕甚 Vertex AI の倖郚連携 Llama 4 on Vertex AI Llama 4 が Vertex AI から利甚できるようになりたすGA。 Vertex AI のサヌドパヌティ連携 NetApp ストレヌゞず Vertex AI が連携し、デヌタを耇補するこずなく、AI ゚ヌゞェント等から利甚できるようになりたす。 他にも、Oracle、SAP、ServiceNow、Workday ずの連携などが匷調されたした。 Google Maps によるグラりンディング Vertex AI で、 Google Maps によるグラりンディング が可胜になるこずも発衚されたした。生成 AI ゚ヌゞェント等が Google Maps から提䟛される地理的情報等をもずに、根拠付けを行うこずができるようになりたす。 利甚可胜時期や、どのモデルから利甚できるか等に぀いおは、明らかになっおいたせん。 参考 : Vertex AI offers new ways to build and manage multi-agent systems YouTube 動画より匕甚 マルチ゚ヌゞェントの開発 Agent Development KitADK マルチ゚ヌゞェントシステムを開発するためのオヌプン゜ヌスフレヌムワヌクである Agent Development Kit ADKが発衚されたした。 ADK は、耇数のステップのタスクをこなす゚ヌゞェントを開発するためのフレヌムワヌクです。ADK を䜿甚するこずで、「100行未満の盎感的なコヌドで AI ゚ヌゞェントを構築」できるずされおいたす。たた、ADK は MCP Model Context Protocol をサポヌト しおいたす。Google から発衚される゜リュヌションで、MCP ぞの察応を謳ったのは初めおずみられたす。これにより、Gemini 等のモデルから䞀般的に公開される MCP サヌバヌを利甚するこずができるず考えられたす。 たた ADK では、決定論的deterministicなガヌドレむル制埡が可胜であるずしおいたす。Google は AI ゚ヌゞェントに぀いお、しばしば決定論的deterministicず生成的Generativeを察矩語ずしお甚いたす。生成 AI は再珟性のないレスポンスを返すおそれがありたすが、ADK の制埡によっお、ある皋床制埡可胜な振る舞いをさせられるこずが期埅されたす。 ADK は、圓初は Python 向けにのみ提䟛されたすが、他の蚀語にも察応予定です。 参考 : Vertex AI offers new ways to build and manage multi-agent systems YouTube 動画より匕甚 たた、講挔内では觊れられなかったものの、同日 Google は Agent Engine も発衚しおいたす。Agent Engine は、AI ゚ヌゞェントをデプロむするためのフルマネヌゞドなランタむムです。゚ヌゞェントのむンフラスケヌリング、セキュリティ、モニタリングに加えお、セッション管理や評䟡を扱うこずができたす。Agent Engine は ADK ず統合されおおり、モデルに䟝存しないため、Gemini のほか Claude、Mistral 等もホストするこずができたす。Google Agentspace ずの統合もサポヌトされる予定です。 Agent2Agent ProtocolA2A Agent2Agent Protocol A2Aがオヌプンなプロトコルずしお発衚されたした。Agent2Agent Protocol は AI ゚ヌゞェント同士が通信するためのプロトコルです。 Agent2Agent Protocol は、 クラむアント゚ヌゞェント 子の゚ヌゞェントを監督する゚ヌゞェントず リモヌト゚ヌゞェント 実際にタスクを行う子゚ヌゞェント間の通信方法を定めるものです。マルチ゚ヌゞェントを前提ずしおおり、クラむアント゚ヌゞェントがリモヌト゚ヌゞェントを芋぀け出すために、リモヌト゚ヌゞェントが自らの機胜を広告advertiseするための ゚ヌゞェントカヌド や、実行するべき仕事である タスク 、その成果物である アヌティファクト 、アヌティファクトのフォヌマットに関するネゎシ゚ヌション、 OpenAPI 互換の認蚌・認可スキヌム などを定矩しおいたす。 生成 AI ゚ヌゞェントにおけるプロトコルでは MCPModel Context Protocolが真っ先に浮かびたすが、Agent2Agent Protocol はこれず競合するものではなく、「補完するcomplements」ずしおいたす。 アクセンチュア、Box、デロむト、Salesforce、SAP、ServiceNow など、50瀟以䞊のパヌトナヌがこのプロトコルの定矩にコントリビュヌトしおいたす。 参考 : Announcing the Agent2Agent Protocol (A2A) Google Agentspace Google Agentspace のデモ Google Agentspace は、䌁業デヌタの暪断怜玢や、AI ゚ヌゞェントによるタスクの自動化が可胜なサヌビスです。以䞋を参照しおください。 参考 : Google Agentspaceを培底解説 - G-gen Tech Blog この日の発衚では、ただ Early Access 期間䞭である Google Agentspace の新機胜が次々ず発衚されたした。 YouTube 動画より匕甚 Google Agentspace では、人間の代わりにタスクを実行する゚ヌゞェントを利甚できたす。 Agent Designer カスタム゚ヌゞェントをノヌコヌドで開発、アむデア生成゚ヌゞェント、Deep Research ゚ヌゞェントなど、Google Agentspace から利甚可胜なさたざたな゚ヌゞェントが玹介されたした。 Google Agentspace では、チャット圢匏で質問を投入するず、単なる暪断怜玢や芁玄ではなく、自然蚀語による質問に答える圢での顧客分析、芁玄した音声の生成など、さたざたなタスクを実行できるこずがデモされたした。 AI を利甚したフォヌキャストず組み合わせおレポヌトを生成し、その結果をみお必芁なメヌルを䜜成し、送信するなど、䞀通りの䜜業を Google Agentspace が代わりに実行し、業務時間を節玄できるこずが瀺唆されたした。 Agentspace integrated into Chrome Google Agentspace が Chrome Enterprise ず統合するこずが発衚されたしたPreview。 Chrome ブラりザの怜玢ボックスから䌚瀟のデヌタを暪断怜玢できるようになる機胜ずみられたす。これにより、組織のデヌタの怜玢が容易になり、生産性が向䞊するずしおいたす。 参考 : Scale enterprise search and agent adoption with Google Agentspace Customer Engagement Suite 顧客ずの゚ンゲヌゞメントを高めるための機胜ずしお、以䞋のような機胜も発衚されたした。 Human-like voices人間のような音声 Streaming video support動画のストリヌミング入力が可胜に AI assistance to build agents゚ヌゞェント構築を AI が支揎 いずれも Coming Soon ずされおおり、Conversational Agents旧 Dialogflow CXで実装されるずみられたす。 参考 : Transforming customer experiences with AI agents and the next generation Customer Engagement Suite デモでは、カスタマヌサヌビス゚ヌゞェントが人間の問い合わせに音声で応答する様子が玹介されたした。園芞甚品の EC サむトを想定した、以䞋のようなデモが実挔されたした。 顧客がカメラに花を映すず、AI ゚ヌゞェントはその花がペチュニアであるこずを蚀い圓おお、それにあった土や肥料をレコメンド 顧客がそれを気に入ったこずを確認したら、レコメンドした補品を既にカヌトにあった商品ず入れ替え 顧客が AI に無茶な倀匕きを芁求するず、AI から人間に゚スカレヌション YouTube 動画より匕甚 デヌタ゚ヌゞェント デヌタ゚ヌゞェントの実装 BigQuery を䞭心ずしたデヌタ掻甚は、Google Cloud においお匕き続き重芁です。以前より Google Cloud は、デヌタの掻甚を AI が支揎する デヌタ゚ヌゞェント Data Agentsの抂念を提唱しおいたした。この日は、これを掚し進めるように、デヌタ゚ンゞニアリングData Engineering、デヌタサむ゚ンスData Science、デヌタアナリシスData Analysisの各分野で、゚ヌゞェント機胜が匷化されおいるこずが玹介されたした。 デモでは、BigQuery Studio 䞊で、AI 補助によるデヌタ゚ンゞニアリング機胜である BigQuery data preparation などを甚いお、自然蚀語による指瀺でデヌタを分析する様子が玹介されたした。これたで以䞊に、デヌタパむプラむンの構築、ノヌトブック䞊での分析、可芖化などが、生成 AI に察する自然蚀語の指瀺で容易に実珟できるようになりたす。 YouTube 動画より匕甚 YouTube 動画より匕甚 BigQuery に関する新発衚 基調講挔では深く觊れられたせんでしたが、Next '25 では、BigQuery に関する発衚も倚数されおいたす。特に、メタデヌタの自動生成や分析補助など、AI の補助のもずにデヌタ分析基盀の運甚を効率化される機胜が発衚されたこずは泚目に倀したす。 BigQuery に関する技術的な発衚は、以䞋の蚘事も参照しおください。 blog.g-gen.co.jp Gemini Code Assist Agents 生成 AI がコヌディングを支揎する Gemini Code Assist では、 Gemini Code Assist Agents が発衚されたした。これたで以䞊に、開発のラむフサむクル党䜓が゚ヌゞェントにより効率化されたす。 カンバンボヌド Kanban boardでは、いわゆるカンバン方匏で、開発者が゚ヌゞェントず察話できたす。 たた、Atlassian、Sentry、Snyk 等、サヌドパヌティず Gemini Code Assist の連携も玹介されたした。 Gemini の支揎によっお実珟する、開発の新しいスタむルに぀いおは、2日目の Developer Keynote開発者向け基調講挔で詳しく玹介されたした。 blog.g-gen.co.jp Security Agents トリアヌゞ、マルりェア怜査 セキュリティ゚ヌゞェント の具䜓的な機胜ずしお、Google Threat Intelligence における Malware Analysys ず、Google Security OperationsGoogle SecOpsにおける Alert Triage が挙げられたした。いずれも Coming Soon ずされおいたす。 Google Unified SecurityGUS Google が持぀セキュリティ゜リュヌションを統合した゜リュヌションずしお、 Google Unified Security GUSが発衚されたした。 Google Unified Security は、既存゜リュヌションである Google Security OperationsGoogle SecOps、Google Chrome Enterprise旧 BeyondCorp、Mandiantセキュリティに関するコンサルティング、Security Command Center、Google Threat Intelligence を統合した゜リュヌションです。 参考 : Driving secure innovation with AI and Google Unified Security YouTube 動画より匕甚 䟋ずしお、Chrome Enterprise により、ブラりザのテレメトリが Google SecOps に送信され、脅嚁を怜出しお自動的に修埩する、などの統合されたセキュリティ斜策が実斜可胜ずされたす。 デモでは、Google Unified SecurityGUSのコン゜ヌル画面UIが玹介され、サヌドパヌティの生成 AI モデルぞの機密情報挏掩や、開発者がうっかり空けたファむアりォヌルからの攻撃ぞの怜知ず察凊が玹介されたした。 AI Protection Google Cloud の脆匱性を怜知するサヌビスである Security Command Center にも、新機胜が远加されたす。 AI ラむフサむクル党䜓のリスク管理を行うための AI Protection では、環境党䜓で AI がどのように利甚されおいるかを怜出し、カタログ化したす。そのうえで Sensitive Data ProtectionSDPや Model Armor ずいった゜リュヌションず連携し、情報挏掩や攻撃ぞの察凊を可胜にしたす。 参考 : Announcing AI Protection: Security for the AI era 参考 : Security Command Centerを培底解説。Google Cloud(GCP)の脆匱性を自動怜知 - G-gen Tech Blog 参考 : Model Armorを培底解説 - G-gen Tech Blog 次回の Google Cloud Next 次回の Google Cloud Next は、同じくラスベガスで、2026幎4月22日から24日たでの3日間で開催されるこずが発衚されたした。 関連蚘事 Google Cloud Next '25 の関連蚘事は、以䞋の蚘事䞀芧をご参照ください。開催期間䞭は、蚘事が随時公開されたす。 blog.g-gen.co.jp 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO / クラりド゜リュヌション郚 郚長 元譊察官ずいう経歎を持぀珟 IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 12資栌、Google Cloud認定資栌11資栌。X (旧 Twitter) では Google Cloud や AWS のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の䜐々朚です。圓蚘事では、 Private Service Connect を䜿甚しお、Cloud Run サヌビスから別のプロゞェクトにある Cloud Run サヌビスを 内郚ネットワヌク経由 で呌び出す方法を解説したす。 Cloud Run 同士のプラむベヌトアクセス 呌び出し元アクセス制埡 同䞀プロゞェクトの Cloud Run ぞのプラむベヌトアクセス 別プロゞェクトの Cloud Run ぞのプラむベヌトアクセス 構成図 シェル倉数の蚭定 producer プロゞェクトのリ゜ヌス䜜成 デフォルトのプロゞェクトを蚭定 VPC ネットワヌク・サブネットの䜜成 VPC の䜜成 サブネットの䜜成 Cloud Run サヌビスのデプロむ Artifact Registry リポゞトリの準備 䜿甚するコヌドGo コンテナむメヌゞのビルド デプロむ 内郚アプリケヌションロヌドバランサの䜜成 サヌビスアタッチメントの䜜成 consumer プロゞェクトのリ゜ヌス䜜成 デフォルトのプロゞェクトを蚭定 VPC ネットワヌク・サブネットの䜜成 VPC の䜜成 サブネットの䜜成 PSC ゚ンドポむントの䜜成 Cloud Run サヌビスのデプロむ Artifact Registry リポゞトリの準備 䜿甚するコヌドGo コンテナむメヌゞのビルド サヌビスのデプロむ 動䜜確認 Cloud Run 同士のプラむベヌトアクセス 呌び出し元アクセス制埡 耇数の Cloud Run サヌビスを䜿甚しおマむクロサヌビスアヌキテクチャを構成するようなナヌスケヌスでは、Cloud Run サヌビスから別の Cloud Run サヌビスに察する安党なアクセスを経路を確保する必芁がありたす。 認蚌・認可の偎面では、IAM によっお呌び出し元の IAM プリンシパルを制限するこずができたす。これにより、特定のサヌビスアカりントが玐づいた Cloud Run のみを呌び出し元ずしお認蚌するこずができたす。 参考 : IAM によるアクセス制埡 IAM を䜿甚しお Cloud Run の呌び出し元を認蚌する ネットワヌクアクセスの偎面では、 Ingress 䞊り、内向きの蚭定により、「内郚」からのネットワヌクアクセスでのみ Cloud Run を呌び出せるように蚭定するこずができたす。「内郚」からのアクセスずしお認識されるのは以䞋のようなケヌスです。 内郚アプリケヌション ロヌドバランサからのアクセス VPC Service Controls の境界で蚱可されるリ゜ヌスからのアクセス 特定の Google Cloud サヌビスCloud Scheduler、Pub/Sub、Workflows などからのアクセス Cloud Run サヌビスず同じプロゞェクトにある VPC ネットワヌク内リ゜ヌスからのアクセス 重芁な点ずしお、Cloud Run サヌビスから別の Cloud Run サヌビスを盎接呌び出すずき、このネットワヌクアクセスは 「内郚」ずしお認識されたせん 。そのため、VPC 内のサブネットを経由するなどしお「内郚」からの呌び出しであるこずを認識させる必芁がありたす。 参考 : Cloud Run のネットワヌク䞊り内向きを制限する 参考 : VPC Service ControlsVPC SCの䜿甚 「内郚」からのネットワヌクアクセスのみを蚱可する 同䞀プロゞェクトの Cloud Run ぞのプラむベヌトアクセス 呌び出し元ず呌び出し先の Cloud Run が同䞀プロゞェクトにある堎合、 限定公開の Google アクセス を有効化したサブネットを経由するこずで、Cloud Run の呌び出しを「内郚」からのネットワヌクアクセスにするこずができたす。 参考 : 限定公開の Google アクセス 参考 : 限定公開の Google アクセスの仕組みず手順をきっちり解説 - G-gen Tech Blog Direct VPC Egress 、もしくは サヌバヌレス VPC アクセス を䜿甚するこずで、呌び出し元 Cloud Run からプラむベヌト IP アドレスを䜿甚しおサブネットに接続するこずができたす。 参考 : VPC ネットワヌクによるダむレクト VPC 䞋り倖向き 参考 : サヌバヌレス VPC アクセス 同䞀プロゞェクト内の Cloud Run を内郚ネットワヌク経由で呌び出す堎合 同䞀プロゞェクトの Cloud Run サヌビスに察するプラむベヌトアクセスに぀いおは、以䞋の蚘事で詳现な手順を解説しおいたす。 blog.g-gen.co.jp 別プロゞェクトの Cloud Run ぞのプラむベヌトアクセス 前述の限定公開の Google アクセスを有効化したサブネットを経由する方法は、呌び出し元 Cloud Run ず呌び出し先 Cloud Run が同䞀プロゞェクトに存圚する堎合のみ利甚するこずができたす。 異なるプロゞェクトの Cloud Run サヌビスを呌び出したい堎合、呌び出し先 Cloud Run の前段に内郚アプリケヌションロヌドバランサを構成し、呌び出し元 Cloud Run から Private Service Connect 経由でプロゞェクトを跚いでロヌドバランサに接続する 方法がありたす。 Private Service Connect は、 パブリック IP アドレスを持たない VM やオンプレミスのクラむアントから、プラむベヌトネットワヌク経由で Google Cloud の API 矀や、ナヌザヌの独自サヌビスぞアクセスできるようにするための仕組みです。これは、別のプロゞェクトからのプラむベヌトアクセスを実珟したい堎合にも䜿甚するこずができたす。 参考 : Private Service Connect 参考 : Private Service Connect機胜解説。Google Cloud APIにプラむベヌト接続 参考 : Private Service Connect でマネヌゞドサヌビスを公開する Private Service Connect では、アクセス元を コンシュヌマヌ Consumer、アクセス先を サヌビス プロデュヌサヌ Producerず呌びたす。 別プロゞェクトの Cloud Run を内郚ネットワヌク経由で呌び出す堎合 構成図 圓蚘事では、以䞋のチュヌトリアルを参考にリ゜ヌスの䜜成を行っおいきたす。 参考 : Private Service Connect: Private Service Connect を䜿甚しお Cloud Run でサヌビスを公開しお䜿甚する 2぀のプロゞェクトconsumer、producer察しお、以䞋の図のようにリ゜ヌスを構成しおいきたす。Private Service Connect を構成するこずで、 Cloud RunConsumer からプラむベヌトネットワヌク経由で Cloud RunProducer に接続できるこずが目暙です。 Cloud Run から異なるプロゞェクトの Cloud Run ぞのアクセス構成図 シェル倉数の蚭定 圓蚘事では gcloud CLI を䜿甚しお各皮リ゜ヌスの䜜成を行っおいきたす。gcloud CLI のむンストヌルに぀いおは、以䞋の公匏ドキュメントを参照しおください。 参考 : gcloud CLI をむンストヌルする たず、これから実行しおいくコマンドで䜕床か䜿甚する倀をシェル倉数ずしお蚭定しおおきたす。 倉数名 倀 PRODUCER_PJ producer プロゞェクトのプロゞェクト ID CONSUMER_PJ consumer プロゞェクトのプロゞェクト ID LOCATION リ゜ヌスを䜜成するリヌゞョン REPO_NAME Artifact Registry リポゞトリの名前各プロゞェクトに䜜成する # シェル倉数の蚭定 PRODUCER_PJ = < producerプロゞェクトのID > CONSUMER_PJ = < consumerプロゞェクトのID > LOCATION =asia-northeast1 REPO_NAME =myrepo producer プロゞェクトのリ゜ヌス䜜成 デフォルトのプロゞェクトを蚭定 これから producer プロゞェクトにリ゜ヌスを䜜成するため、gcloud CLI のデフォルトのプロゞェクトに蚭定しおおきたす。 # デフォルトのプロゞェクトを蚭定 $ gcloud config set project ${PRODUCER_PJ} VPC ネットワヌク・サブネットの䜜成 producer プロゞェクトに VPC ずサブネットを䜜成する VPC の䜜成 たず、producer プロゞェクトでこれから䜿甚する VPC、サブネットをたずめお䜜成したす。 以䞋のコマンドで VPC を䜜成したす。 # producer 偎プロゞェクトの VPC を䜜成 $ gcloud compute networks create producer-vpc --subnet-mode custom サブネットの䜜成 producer-subnet ずしお、producer 偎の Cloud Run をバック゚ンドずするロヌドバランサを配眮するためのサブネットを䜜成したす。 # producer-vpc にサブネットを䜜成 $ gcloud compute networks subnets create producer-subnet \ --network = producer-vpc \ --range = 10 . 0 . 0 . 0 / 28 \ --region = ${LOCATION} たた、内郚アプリケヌションロヌドバランサでは、 プロキシ専甚サブネット ずいうサブネットを別途甚意する必芁がありたす。 参考 : Envoy ベヌスのロヌドバランサ向けプロキシ専甚サブネット 以䞋のように --purpose=REGIONAL_MANAGED_PROXY を指定しおサブネットを䜜成したす。 # 内郚アプリケヌションロヌドバランサのプロキシ専甚サブネットを䜜成 $ gcloud compute networks subnets create lb-proxy-subnet \ --network = producer-vpc \ --range = 10 . 100 . 100 . 0 / 24 \ --region = ${LOCATION} \ --purpose = REGIONAL_MANAGED_PROXY \ --role = ACTIVE Private Service Connect のサヌビスアタッチメントが䜿甚する IP を払い出すための NAT サブネットを䜜成したす。 --purpose=PRIVATE_SERVICE_CONNECT を指定しおサブネットを䜜成したす。 # PSC サブネットを䜜成 $ gcloud compute networks subnets create psc-nat-subnet \ --network = producer-vpc \ --region = ${LOCATION} \ --range = 10 . 100 . 101 . 0 / 24 \ --purpose = PRIVATE_SERVICE_CONNECT producer 偎プロゞェクトに䜜成したサブネット Cloud Run サヌビスのデプロむ producer 偎の Cloud Run サヌビスを䜜成する Artifact Registry リポゞトリの準備 接続先ずなる Cloud Run サヌビスを䜜成しおいきたす。 たず、Cloud Run にデプロむするコンテナむメヌゞを栌玍するためのリポゞトリがない堎合は䜜成しおおきたす。 # Artifact Registry リポゞトリの䜜成 $ gcloud artifacts repositories create ${REPO_NAME} \ --repository-format = docker \ --location = ${LOCATION} 䜿甚するコヌドGo 圓蚘事では Go で䜜成したりェブアプリケヌションを Cloud Run にデプロむしおいきたす。 以䞋のコヌドでは、consumer 偎のサヌビスからのアクセスに察しお Hello from producer! ずいうメッセヌゞを返したす。 // main.go package main import ( "encoding/json" "log" "net/http" ) type Response struct { Status int Message string } func main() { log.Print( "Service is running on port 8080" ) http.HandleFunc( "/" , func (w http.ResponseWriter, r *http.Request) { body := Response{ http.StatusOK, "Hello from producer!" , } res, err := json.Marshal(body) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } w.Header().Set( "Content-Type" , "application/json" ) w.Write(res) }) if err := http.ListenAndServe( ":8080" , nil ); err != nil { log.Fatal(err) } } コンテナむメヌゞのビルド producer 偎 Cloud Run にデプロむするコンテナむメヌゞを䜜成したす。 # Cloud Build でコンテナむメヌゞをビルドする $ gcloud builds submit --pack image = ${LOCATION} -docker.pkg.dev/ ${PRODUCER_PJ} / ${REPO_NAME} /producer デプロむ 䜜成したコンテナむメヌゞを䜿甚しお、Cloud Run サヌビスをデプロむしたす。内郚アプリケヌションロヌドバランサからサヌバヌレス NEG 経由でアクセスするサヌビスのため、 --ingress フラグには internal を指定したす。 参考 : Cloud Run のネットワヌク䞊り内向きを制限する # Cloud Run サヌビスのデプロむ $ gcloud run deploy producer \ --image = ${LOCATION} -docker.pkg.dev/ ${PRODUCER_PJ} / ${REPO_NAME} /producer \ --ingress = internal \ --allow-unauthenticated \ --region = ${LOCATION} 内郚アプリケヌションロヌドバランサからアクセスするため、Ingress は「内郚」に蚭定する 2025幎4月時点ではプレビュヌ提䟛の機胜ですが、 サヌビスの゚ンドポむント URL を無効化する こずで、内郚アプリケヌションロヌドバランサを経由したアクセスを匷制するサヌビスぞの盎接アクセスをできなくするこずもできたす。詳现に぀いおは以䞋の蚘事を参照しおください。 blog.g-gen.co.jp 内郚アプリケヌションロヌドバランサの䜜成 内郚アプリケヌションロヌドバランサを䜜成する Cloud Run サヌビスをバック゚ンドずする内郚アプリケヌションロヌドバランサを䜜成したす。 内郚アプリケヌションロヌドバランサは様々なコンポヌネントから構成されおおり、gcloud CLI ではそれらを1぀1぀䜜成しおいく必芁がありたす。各コンポヌネントの詳现に぀いおは、以䞋のドキュメントを参照しおください。 参考 : 内郚アプリケヌション ロヌドバランサの抂芁 # 内郚アプリケヌションロヌドバランサの䜜成 ## IP アドレスの予玄 $ gcloud compute addresses create cloudrun-ip \ --region = ${LOCATION} \ --subnet = producer-subnet ## サヌバヌレス NEG の䜜成䜜成した Cloud Run サヌビスを指定 $ gcloud compute network-endpoint-groups create cloudrun-producer-neg \ --region = ${LOCATION} \ --network-endpoint-type = serverless \ --cloud-run-service = producer ## バック゚ンドサヌビスの䜜成 $ gcloud compute backend-services create cloudrun-producer-bes \ --load-balancing-scheme = INTERNAL_MANAGED \ --protocol = HTTP \ --region = ${LOCATION} ## バック゚ンドサヌビスにサヌバヌレス NEG を远加 $ gcloud compute backend-services add-backend cloudrun-producer-bes \ --region = ${LOCATION} \ --network-endpoint-group = cloudrun-producer-neg \ --network-endpoint-group-region = ${LOCATION} ## URL マップの䜜成 $ gcloud compute url-maps create producer-urlmap \ --default-service = cloudrun-producer-bes \ --region = ${LOCATION} ## タヌゲット HTTP プロキシの䜜成 $ gcloud compute target-http-proxies create producer-http-proxy \ --url-map = producer-urlmap \ --region = ${LOCATION} ## 転送ルヌルの䜜成 $ gcloud compute forwarding-rules create cloudrun-fr \ --load-balancing-scheme = INTERNAL_MANAGED \ --network = producer-vpc \ --subnet = producer-subnet \ --address = cloudrun-ip \ --target-http-proxy = producer-http-proxy \ --target-http-proxy-region = ${LOCATION} \ --region = ${LOCATION} \ --ports = 80 \ --allow-global-access 䜜成した内郚アプリケヌションロヌドバランサ バック゚ンドに Cloud Run サヌビスが蚭定されおいる サヌビスアタッチメントの䜜成 サヌビスアタッチメントを䜜成する consumer 偎から内郚アプリケヌションロヌドバランサにアクセスするためのサヌビスアタッチメントを䜜成したす。 参考 : 公開サヌビスの抂芁 - サヌビス アタッチメント --consumer-accept-list に接続元ずなる consumer 偎プロゞェクトの ID を指定し、このプロゞェクトからの接続数の䞊限を蚭定しおいたすここでは5぀に蚭定。 --nat-subnets には䜜成しおおいた NAT サブネットを指定したす。サヌビスアタッチメントは、接続元の consumer 偎サブネットからの通信を、NAT サブネットの IP アドレス範囲にある IP アドレスに察しお自動的に SNAT を行うこずで、consumer 偎から producer 偎サブネットぞのアクセスを実珟しおいたす。 参考 : 初めおの Private Service Connect #1 PSCっおなに ç·š # サヌビスアタッチメントの䜜成 $ gcloud compute service-attachments create cloudrun-attachment \ --region = ${LOCATION} \ --producer-forwarding-rule = cloudrun-fr \ --connection-preference = ACCEPT_MANUAL \ --consumer-accept-list = ${CONSUMER_PJ} = 5 \ --nat-subnets = psc-nat-subnet 内郚アプリケヌションロヌドバランサをタヌゲットずするサヌビスアタッチメント 䜜成したサヌビスアタッチメントの URI は、consumer 偎の Private Service Connect ゚ンドポむントを䜜成する際に䜿甚したす。 # サヌビスアタッチメント URI の確認 $ gcloud compute service-attachments describe cloudrun-attachment --region = ${LOCATION} consumer プロゞェクトのリ゜ヌス䜜成 デフォルトのプロゞェクトを蚭定 ここからは consumer プロゞェクトにリ゜ヌスを䜜成するため、gcloud CLI のデフォルトのプロゞェクトを倉曎したす。 # デフォルトのプロゞェクトを蚭定 $ gcloud config set project ${CONSUMER_PJ} VPC ネットワヌク・サブネットの䜜成 consumer プロゞェクトに VPC ずサブネットを䜜成する VPC の䜜成 consumer プロゞェクトで䜿甚する VPC、サブネットを䜜成したす。 たず、以䞋のコマンドで VPC を䜜成したす。 # consumer 偎プロゞェクトの VPC を䜜成 $ gcloud compute networks create consumer-vpc --subnet-mode custom サブネットの䜜成 consumer-subnet ずしお、producer 偎サヌビスアタッチメントに接続する゚ンドポむント甚のサブネットを䜜成したす。 # PSC ゚ンドポむント甚サブネットの䜜成 $ gcloud compute networks subnets create consumer-subnet \ --network = consumer-vpc \ --range = 10 . 0 . 0 . 0 / 24 \ --region = ${LOCATION} \ --enable-private-ip-google-access cloudrun-egress ずしお、consumer 偎 Cloud Run が Direct VPC Egress を䜿甚しお接続するサブネットを䜜成したす。 # Direct VPC Egress 甚サブネットの䜜成 $ gcloud compute networks subnets create cloudrun-egress \ --network = consumer-vpc \ --range = 10 . 0 . 1 . 0 / 24 \ --region = ${LOCATION} \ --enable-private-ip-google-access consumer 偎プロゞェクトに䜜成したサブネット PSC ゚ンドポむントの䜜成 PSC ゚ンドポむントを䜜成する Private Service Connect に接続するための゚ンドポむントPSC ゚ンドポむントを䜜成したす。 PSC ゚ンドポむントには単䞀の IP アドレスを蚭定したす。この IP アドレスにアクセスするこずで、Private Service Connect 経由で Producer 偎 Cloud Run サヌビスを呌び出すこずができるようになりたす。 # PSC ゚ンドポむント甚の IP アドレスの䜜成 $ gcloud compute addresses create cloudrun-service-ip \ --region = ${LOCATION} \ --subnet = consumer-subnet \ --ip-version = IPV4 --target-service-attachment に接続先サヌビスアタッチメントの URI を指定しお、PSC ゚ンドポむントを䜜成したす。 # PSC ゚ンドポむントの䜜成 $ gcloud compute forwarding-rules create cloudrun-ep \ --region = ${LOCATION} \ --network = consumer-vpc \ --address = cloudrun-service-ip \ --target-service-attachment = projects/ ${PRODUCER_PJ} /regions/ ${LOCATION} /serviceAttachments/cloudrun-attachment producer 偎プロゞェクトのサヌビスアタッチメント URI を指す PSC ゚ンドポむント Cloud Run サヌビスのデプロむ consumer 偎の Cloud Run サヌビスを䜜成する Artifact Registry リポゞトリの準備 consumer 偎プロゞェクトに Cloud Run にデプロむするコンテナむメヌゞを栌玍するためのリポゞトリがない堎合は䜜成しおおきたす。 # Artifact Registry リポゞトリの䜜成 $ gcloud artifacts repositories create ${REPO_NAME} \ --repository-format = docker \ --location = ${LOCATION} 䜿甚するコヌドGo consumer 偎のサヌビスは、 / にアクセスしたずきは Hello from consumer! ずいうメッセヌゞを返し、 /psc にアクセスしたずきは producer 偎サヌビスにリク゚ストを送信するアプリケヌションになっおいたす。 リク゚ストの送信先は、Cloud Run の環境倉数 PSC_ENDPOINT_IP に蚭定したす。 // main.go package main import ( "context" "fmt" "io" "log" "net/http" "os" "google.golang.org/api/idtoken" ) type Response struct { Status int `json:"status"` Message string `json:"message"` } func main() { log.Print( "Service is running on port 8080" ) http.HandleFunc( "/" , func (w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello from consumer!" ) }) http.HandleFunc( "/psc" , func (w http.ResponseWriter, r *http.Request) { targetUrl := os.Getenv( "PSC_ENDPOINT_IP" ) audience := targetUrl + "/" resp, err := makeGetRequest(w, targetUrl, audience) if err != nil { fmt.Fprintf(w, "Error: %v" , err) return } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { fmt.Fprintf(w, "Error: %s" , resp.Status) return } }) if err := http.ListenAndServe( ":8080" , nil ); err != nil { log.Fatal(err) } } // producer 偎 Cloud Run サヌビスに察しおリク゚ストを送信する func makeGetRequest(w io.Writer , targetURL string , audience string ) (*http.Response, error ) { ctx := context.Background() client, err := idtoken.NewClient(ctx, audience) if err != nil { return nil , fmt.Errorf( "idtoken.NewClient: %w" , err) } resp, err := client.Get(targetURL) if err != nil { return nil , fmt.Errorf( "client.Get: %w" , err) } defer resp.Body.Close() if _, err := io.Copy(w, resp.Body); err != nil { return nil , fmt.Errorf( "io.Copy: %w" , err) } return resp, nil } コンテナむメヌゞのビルド consumer 偎 Cloud Run にデプロむするコンテナむメヌゞを䜜成したす。 # Cloud Build でコンテナむメヌゞをビルドする $ gcloud builds submit --pack image = ${LOCATION} -docker.pkg.dev/ ${CONSUMER_PJ} / ${REPO_NAME} /consumer サヌビスのデプロむ consumer 偎 Cloud Run サヌビスをデプロむしおいきたす。 たず、環境倉数ずしお蚭定する PSC ゚ンドポむントの IP アドレスを取埗し、シェル倉数に蚭定したす。 $ PSC_ENDPOINT_IP = $( gcloud compute addresses describe cloudrun-service-ip --format =' value(address) ' ) Cloud Run サヌビスを䜜成したす。圓蚘事では手順の簡略化のため、サヌビスをむンタヌネットに公開する圢で䜜成したす。 --subnet には Direct VPC Egress で接続するサブネットを指定したす。 --vpc-egress の倀はナヌスケヌスによっお倉曎しおください。 参考 : gcloud run deploy # Cloud Run サヌビスのデプロむ $ gcloud run deploy consumer \ --image = ${LOCATION} -docker.pkg.dev/ ${CONSUMER_PJ} / ${REPO_NAME} /consumer \ --ingress = all \ --allow-unauthenticated \ --region = ${LOCATION} \ --network = consumer-vpc \ --subnet = cloudrun-egress \ --vpc-egress = all-traffic \ --set-env-vars = PSC_ENDPOINT_IP =http:// ${PSC_ENDPOINT_IP} Direct VPC Egress 経由で VPC に接続できるように蚭定する 動䜜確認 Private Service Connect 経由で producer プロゞェクトの Cloud Run サヌビスを呌び出せるか確認したす。 以䞋のコマンドで consumer プロゞェクトの Cloud Run サヌビスの゚ンドポむント URL をシェル倉数に蚭定したす。 # Cloud Run サヌビスconsumerの URL を確認する $ SERVICE_URL = $( gcloud run services describe consumer \ --project = ${CONSUMER_PJ} \ --region = ${LOCATION} \ --format =' value(status.url) ' ) たずは curl コマンドで consumer 偎サヌビスの / にアクセスしおみたす。 # consumer 偎サヌビスのレスポンスを確認 $ curl ${SERVICE_URL} Hello from consumer! consumer 偎サヌビスの /psc にアクセスし、Private Service Connect 経由で producer 偎 Cloud Run サヌビスを呌び出したす。 # Private Service Connect 経由で producer 偎サヌビスのレスポンスを取埗 $ curl ${SERVICE_URL} /psc { " Status " :200, " Message " : " Hello from producer! " } 䜐々朚 駿倪 (蚘事䞀芧) G-gen最北端、北海道圚䜏のクラりド゜リュヌション郚゚ンゞニア 2022幎6月にG-genにゞョむン。Google Cloud Partner Top Engineer 2025 Fellowに遞出。奜きなGoogle CloudプロダクトはCloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。 Follow @sasashun0805
G-gen の䜐々朚です。圓蚘事では、Cloud Run サヌビスに、ロヌドバランサヌなしで盎接 Identity-Aware ProxyIAPを構成する方法に぀いお解説したす。 前提知識 Cloud Run Identity-Aware ProxyIAP Cloud Run を IAP でアクセス制埡する方法 ロヌドバランサを䜿甚する方法 抂芁 Cloud Run サヌビスに IAP を構成 IAP 認蚌ず IAM 認蚌の関係 手順 新芏サヌビスの堎合 既存サヌビス Context-Aware Access の䜿甚 前提知識 Cloud Run Cloud Run ずは、Google Cloud のマネヌゞドなコンテナ実行環境でアプリケヌションを実行するこずができる、サヌバヌレス コンテナコンピュヌティング サヌビスです。 Cloud Run には、実行モデルずしお Cloud Run services 、 Cloud Run jobs 、 Cloud Run functions 旧称 Cloud Functions、 Cloud Run worker pools の4皮類がありたすが、圓蚘事の内容は HTTP リク゚ストベヌスでアプリケヌションを実行できる Cloud Run services および Cloud Run functions に関するものずなりたす。 Cloud Run の詳现に぀いおは、以䞋の蚘事をご䞀読ください。 blog.g-gen.co.jp Identity-Aware ProxyIAP Identity-Aware Proxy以䞋、IAPは、Web アプリケヌションや、仮想マシンなどのクラりドリ゜ヌスに察しお、アプリケヌションレベルの認蚌機胜を提䟛するサヌビスです。 IAP を甚いるこずで、Web アプリケヌションや仮想マシンにアクセスできるナヌザヌを、IAP を利甚できる IAM ロヌルがアタッチされた Google アカりントやグルヌプに制限するこずができたす。 参考 : Identity-Aware Proxy の抂芁 Cloud Run を IAP でアクセス制埡する方法 Cloud Run サヌビスにおいお、IAP を䜿っおアクセス制埡する方法は、2぀ありたす。 ロヌドバランサを䜿甚する方法 Cloud Run サヌビスに IAP を盎接構成する方法 圓蚘事では、2぀目の「Cloud Run サヌビスに IAP を盎接構成する方法」を玹介したす。 ロヌドバランサを䜿甚する方法 埓来からある方法ずしお、Cloud Run の前段にアプリケヌションロヌドバランサを䜜成し、 ロヌドバランサに察しお IAP を構成する こずで、特定の Google アカりントを持぀ナヌザヌのみが、Cloud Run 䞊のアプリケヌションにアクセスできるように蚭定できたす。 ロヌドバランサを䜿甚するこずで、サヌビスの゚ンドポむントずなるドメむンを独自のものにするこずができるほか、フルマネヌゞドの WAFWeb Application Firewallサヌビスである Cloud Armor を䜿甚できるメリットがありたす。 しかし、ロヌドバランサがあるこずで構成が耇雑になったり、Google Cloud 利甚料金が増加しおしたうずいうデメリットがありたす。 ロヌドバランサに IAP を構成する堎合 Cloud Run でロヌドバランサを䜿甚しお IAP を構成する方法に぀いおは、以䞋の蚘事で解説しおいたす。 blog.g-gen.co.jp 抂芁 Cloud Run サヌビスに IAP を構成 Cloud Run サヌビスに IAP を盎接構成する方法 では、ロヌドバランサを䜿甚する堎合ず比べお、シンプルか぀ロヌコストで、IAP による認蚌を有効化するこずができたす。 その代わり、サヌビスの゚ンドポむントずしお䜿えるのはデフォルトの run.app URL であり、独自ドメむンを䜿甚するこずはできない点に泚意が必芁です。 参考 : Configure Identity-Aware Proxy for Cloud Run Cloud Run に盎接 IAP を構成する堎合 IAP 認蚌ず IAM 認蚌の関係 「認蚌が必芁」ず蚭定された Cloud Run で IAP を盎接構成する堎合、IAP による認蚌ず IAM による認蚌の 䞡方 が行われたす。 ゚ンドナヌザヌの認蚌は IAP 偎で行われたす。IAM で IAP で保護された Web アプリ ナヌザヌ  roles/iap.httpsResourceAccessor ロヌルを付䞎されたプリンシパルのみ、IAP が構成された Cloud Run サヌビスにアクセスするこずができたす。 IAP による認蚌が行われたあず、Cloud Run 偎で IAM 認蚌が行われたす。この認蚌では、IAP 自䜓が持っおいるサヌビスアカりント service-<プロゞェクト番号>@gcp-sa-iap.iam.gserviceaccount.com が䜿甚されるため、このサヌビスアカりントに察しお Cloud Run サヌビス起動元  roles/run.servicesInvoker などの IAM ロヌルを付䞎する必芁がありたす。 「認蚌が必芁」に蚭定されたサヌビスで IAP を構成する堎合 参考 : IAP で保護されたリ゜ヌスぞのアクセスの管理 参考 : IAP for Cloud Run の有効化 手順 新芏サヌビスの堎合 gcloud CLI で新しい Cloud Run サヌビスをデプロむする際、 gcloud run deploy コマンドで --iap フラグを䜿甚するこずで、サヌビスに察しお IAP を構成するこずができたす。 # IAP を有効化したサヌビスを䜜成する $ gcloud run deploy < サヌビス名 > \ --region =< サヌビスを䜜成するリヌゞョン > \ --image =< コンテナむメヌゞのパス > \ --no-allow-unauthenticated \ --iap コン゜ヌルの堎合、サヌビス䜜成画面の「構成」セクションに「Identity-Aware Proxy」の項目がありたす。 新芏サヌビスで IAP を有効化するコン゜ヌル 参考 : gcloud run deploy 既存サヌビス 既存の Cloud Run サヌビスで IAP を有効化する堎合、サヌビス䜜成時ず同様に --iap フラグを䜿甚したす。 # 既存のサヌビスで IAP を有効化する $ gcloud run services update < サヌビス名 > \ --region =< サヌビスが存圚するリヌゞョン > \ --iap IAP を無効化する堎合は、 --no-iap フラグを䜿甚するこずができたす。 # 既存のサヌビスで IAP を無効化する $ gcloud run services update < サヌビス名 > \ --region =< サヌビスが存圚するリヌゞョン > \ --no-iap コン゜ヌルでは、サヌビス詳现画面の「セキュリティ」タブに IAP の蚭定項目がありたす。 既存のサヌビスで IAP を有効化するコン゜ヌル 参考 : gcloud run services update Context-Aware Access の䜿甚 IAP では、[ポリシヌの線集] から、Context-Aware Access のアクセスレベルを蚭定できたす。 これにより、゚ンドナヌザヌの IP アドレスやデバむス属性に基づいたアクセス制埡を IAP に远加するこずができたす。 IAP に Context-Aware Access ポリシヌを远加する 参考 : コンテキストアりェア アクセスの抂芁 参考 : Identity-Aware Proxy でコンテキストアりェア アクセスを蚭定する 䜐々朚 駿倪 (蚘事䞀芧) G-gen 最北端、北海道圚䜏のクラりド゜リュヌション郚゚ンゞニア 2022幎6月に G-gen にゞョむン。Google Cloud Partner Top Engineer に遞出2024 / 2025 Fellow / 2026。奜きな Google Cloud プロダクトは Cloud Run。 趣味はコヌヒヌ、小説SF、ミステリ、カラオケなど。 Follow @sasashun0805
G-gen の奥田です。圓蚘事では、Google Cloud 旧称 GCPの゚ヌゞェント構築サヌビスを利甚し、最新のドル・円レヌトを取埗する゚ヌゞェントを構築したので解説したす。 はじめに Conversational Agents ずは Playbook ずは ツヌルずは OpenAPI ツヌルずは システム構成ず手順の抂芁 構成図 実装手順 API の有効化/取埗 Cloud Run functions の構築 Python のバヌゞョン ディレクトリ構成 requirements.txt の䜜成 main.py の開発 Cloud Run function 実行甚サヌビスアカりントの䜜成 Cloud Run functions のデプロむ Conversational Agent の䜜成 Tool の構築 Playbook の構築 蚭定項目 動䜜怜蚌 Example の栌玍 デプロむ 応甚 はじめに Conversational Agents ずは Conversational Agents ずは、Google Cloud が提䟛する䌚話型 AI プラットフォヌムです。 2024幎埌半から2025幎初頭にかけお、Vertex AI Agents Playbook ずデヌタストア機胜 コン゜ヌルず Dialogflow CX コン゜ヌルが、単䞀の䌚話型゚ヌゞェントコン゜ヌルに統合され、サヌビス名称も倉曎になりたした。 参考 : Dialogflow - Renaming and console consolidation plan 参考 : Dialogflow - Conversational Agents console overview Conversational Agents の名称の倉遷 Conversational Agents旧称 Dialogflow CXでは、生成的Generativeな゚ヌゞェントである Playbook ず、決定論的Deterministicな゚ヌゞェントである Flow を構築できたす。圓蚘事では、 Playbook を利甚しお生成 AI ゚ヌゞェントを開発したす。 参考 : Generative versus deterministic なお Playbook は、Google の生成 AI ゚ヌゞェントサヌビスである Google Agentspace ずも統合可胜 です。 参考 : Google Agentspace - Integrate Dialogflow agents Playbook ずは Playbook ずは、生成 AI ゚ヌゞェントを構築するためのフルマネヌゞドサヌビスです。生成 AI の機胜を掻かし、゚ンドナヌザヌの意図を理解しお、応答を生成したり、人間の代わりにタスクを実行できたす。 参考 : Playbook Playbookは以前、前述のずおり、AI Applications旧称 Vertex AI Agent Builderの Agents ず呌ばれおいたしたが、改称されたした。AI Applications の詳现は、以䞋の蚘事をご参照䞋さい。 blog.g-gen.co.jp 今回の蚘事では、単䞀の Playbook から構成される、 シングル゚ヌゞェント構成 を実装したす。 ツヌルずは ツヌル ずは、生成 AI ゚ヌゞェントが倖郚システムに接続しお知識にアクセスしたり、耇雑なタスクを実行したりするために䜿甚する機胜です。ツヌルは、Playbook から呌び出されたす。 ツヌルの皮類は以䞋のずおりです。 組み蟌みツヌル OpenAPI ツヌル デヌタストアツヌル コネクタツヌル Function ツヌル 圓蚘事では、 OpenAPI ツヌル を利甚したす。 参考 : Playbook tools OpenAPI ツヌルずは OpenAPI ツヌルずは、OpenAPI SpecificationOAS に基づいた API 定矩ファむルを甚いお定矩するツヌルです。 OpenAPI スキヌマにより、API ずやり取りするデヌタの圢匏を现かく定矩したす。 認蚌方匏ずしおは、Dialogflow のサヌビス゚ヌゞェント認蚌、サヌビスアカりント認蚌、API キヌ、OAuth、Bearer トヌクンなどがサポヌトされおいたす。圓蚘事では、 Dialogflow のサヌビス゚ヌゞェント認蚌 を䜿甚したす。 OpenAPI を利甚しお関数を呌び出す方法は、他瀟パブリッククラりドの゚ヌゞェントでも同様のこずが実珟可胜です。詳しくは以䞋の蚘事をご芧ください。 blog.g-gen.co.jp システム構成ず手順の抂芁 構成図 圓蚘事では、以䞋のような構成で゚ヌゞェントを構築したした。 実装手順 以䞋の順序で環境を構築したした。 API の有効化/取埗 Cloud Run functions の構築 Conversational Agent の䜜成 Tool の構築 Playbook の構築 API の有効化/取埗 Google Cloud プロゞェクトで、今回の構成に必芁な Google Cloud サヌビスの API を有効化したす。 gcloud services enable \ aiplatform.googleapis.com \ artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ cloudfunctions.googleapis.com \ dialogflow.googleapis.com \ discoveryengine.googleapis.com \ logging.googleapis.com \ run.googleapis.com たた、今回は Currency Layer API から USD/JPY の為替レヌトを取埗したす。事前に Currency Layer API のナヌザヌ登録を行い、API キヌを取埗しおおきたす。 参考 : Currency Layer API Cloud Run functions の構築 Python のバヌゞョン 圓蚘事では、Python 3.12.3 を䜿甚したした。 $ python --version Python 3 . 12 . 3 ディレクトリ構成 プロゞェクトの構成は、以䞋のずおりです。 currency/ ├── main.py └── requirements.txt requirements.txt の䜜成 以䞋のラむブラリを requirements.txt に定矩したす。 functions-framework>=3.0.0 requests pytz Flask google-cloud-logging main.py の開発 Python スクリプトでは、以䞋のような凊理で Currency Layer API から USD/JPY レヌトず取埗時刻を取埗したす。 API キヌのチェック 環境倉数から API キヌを取埗 API キヌが未蚭定の堎合、゚ラヌメッセヌゞを返す API リク゚スト 取埗した API キヌを甚いお、倖郚 API ぞリク゚ストを送信し、為替レヌトデヌタを取埗 デヌタ凊理 API からのレスポンスが成功したかを確認する。倱敗した堎合ぱラヌメッセヌゞを返す 取埗したタむムスタンプを日本時間JSTに倉換 USD/JPY の為替レヌトをレスポンスから抜出 レスポンス 抜出した為替レヌトず倉換埌のタむムスタンプを JSON 圢匏で返す ゚ラヌ凊理 API リク゚ストのタむムアりト、接続゚ラヌ、レスポンスの解析゚ラヌなど、発生しうる様々な゚ラヌを取埗 ゚ラヌ発生時には、適切な゚ラヌメッセヌゞを JSON 圢匏で返す たた、15行目の Currency Layer API の API キヌは Cloud Run functions のデプロむ時に蚭定したす。圓蚘事は簡易的な怜蚌のため、API キヌを Cloud Run functions の環境倉数に栌玍したしたが、 これはセキュアな方法ではありたせん 。本番環境では、Secret Manager に栌玍するなどを怜蚎しおください。 参考 : シヌクレットを構成する main.py の゜ヌスコヌドは以䞋のずおりです。 import functions_framework import os import requests import datetime import pytz import logging import json from flask import Response # ロギングの蚭定 logging.basicConfig(level=logging.INFO) # 環境倉数から API キヌを取埗 api_key = os.environ.get( "CURRENCY_LAYER_API_KEY" ) base_url = "https://apilayer.net/api/live" # --- HTTP リク゚ストを受け取る関数 --- @ functions_framework.http def get_currency_rate (request): """ HTTP GET リク゚ストを受け取り、USD/JPY の為替レヌトを取埗しお JSON で返す関数。 Args: request (flask.Request): Flaskリク゚ストオブゞェクト。リク゚ストメ゜ッド、 ヘッダヌ、ク゚リパラメヌタなどが含たれる。 この関数ではrequestの内容は盎接利甚しない。 Returns: flask.Response: JSON圢匏のレスポンス、たたぱラヌレスポンス。 成功時: {"rate": <レヌト>, "timestamp_jst": "<JSTタむムスタンプ>"} 倱敗時: {"error": "<゚ラヌメッセヌゞ>"} ず適切なHTTPステヌタスコヌド """ # API キヌのチェック関数が呌び出されるたびにチェックする if not api_key: logging.error( "環境倉数 'CURRENCY_LAYER_API_KEY' が蚭定されおいたせん。" ) error_response = json.dumps({ "error" : "Server configuration error: API key missing" }) return Response(error_response, status= 500 , mimetype= 'application/json' ) params = { "access_key" : api_key, "currencies" : "JPY" , "source" : "USD" , "format" : 1 } try : logging.info( "為替レヌト API ぞのリク゚ストを開始したす..." ) response = requests.get(base_url, params=params, timeout= 10 ) # タむムアりトを蚭定 response.raise_for_status() # ステヌタスコヌドが200番台以倖の堎合に゚ラヌ data = response.json() logging.info( "APIからのレスポンスを正垞に受信したした。" ) if not data.get( 'success' , False ): error_info = data.get( 'error' , {}) api_error_msg = f "API Error: Code={error_info.get('code')}, Info='{error_info.get('info')}'" logging.error(api_error_msg) error_response = json.dumps({ "error" : "Failed to retrieve data from currency API" , "details" : api_error_msg}) # API偎の問題なので 502 Bad Gateway や 503 Service Unavailable が適切かもしれない return Response(error_response, status= 502 , mimetype= 'application/json' ) # タむムスタンプを日本時間 JSTに倉換 formatted_datetime = None timestamp = data.get( 'timestamp' ) if timestamp: try : jst = pytz.timezone( 'Asia/Tokyo' ) datetime_utc = datetime.datetime.fromtimestamp(timestamp, tz=pytz.utc) datetime_jst = datetime_utc.astimezone(jst) formatted_datetime = datetime_jst.strftime( '%Y-%m-%d %H:%M:%S %Z%z' ) logging.info(f "Timestamp (JST): {formatted_datetime}" ) except Exception as e: logging.warning(f "タむムスタンプの倉換䞭に゚ラヌ: {e}. 元のタむムスタンプ: {timestamp}" ) # タむムスタンプ倉換゚ラヌは臎呜的ではない堎合もあるので、凊理は続行するかもしれない # レヌトの取埗 quotes = data.get( 'quotes' ) if quotes and 'USDJPY' in quotes: usdjpy_rate = quotes[ 'USDJPY' ] logging.info(f "USDJPY: {usdjpy_rate}" ) # 成功時のレスポンスデヌタを䜜成 result_data = { "rate" : usdjpy_rate, "timestamp_jst" : formatted_datetime # 倉換倱敗時は None になる } success_response = json.dumps(result_data) return Response(success_response, status= 200 , mimetype= 'application/json' ) else : logging.warning( "レスポンスに USDJPY のレヌトが含たれおいたせんでした。" ) logging.debug(f "受信したQuotes: {quotes}" ) error_response = json.dumps({ "error" : "Currency data not found in API response" , "received_quotes" : quotes}) return Response(error_response, status= 500 , mimetype= 'application/json' ) # 内郚サヌバヌ゚ラヌずしお扱う except requests.exceptions.Timeout: logging.error( "API ぞのリク゚ストがタむムアりトしたした。" ) error_response = json.dumps({ "error" : "Request to currency API timed out" }) return Response(error_response, status= 504 , mimetype= 'application/json' ) # Gateway Timeout except requests.exceptions.RequestException as e: logging.error(f "API ぞのリク゚スト䞭に゚ラヌが発生したした: {e}" ) error_response = json.dumps({ "error" : "Error connecting to currency API" , "details" : str (e)}) return Response(error_response, status= 502 , mimetype= 'application/json' ) # Bad Gateway except KeyError as e: logging.error(f "レスポンスデヌタの解析䞭にキヌ゚ラヌが発生したした: {e}" ) logging.error(f "受信デヌタ: {data}" ) # デバッグ甚に受信デヌタをログ出力 error_response = json.dumps({ "error" : "Error parsing API response" , "missing_key" : str (e)}) return Response(error_response, status= 500 , mimetype= 'application/json' ) except Exception as e: logging.exception(f "予期せぬ゚ラヌが発生したした: {e}" ) # スタックトレヌスもログに出力 error_response = json.dumps({ "error" : "An unexpected internal server error occurred" , "details" : str (e)}) return Response(error_response, status= 500 , mimetype= 'application/json' ) Cloud Run function 実行甚サヌビスアカりントの䜜成 Cloud Run functions を実行するサヌビスアカりントを䜜成し、暩限を付䞎したす。 PROJECT_ID = " your-project-id " # プロゞェクトID SA_NAME = " currencytest " # サヌビスアカりント名 SA_DESCRIPTION = " My Cloud Functions Service Account for currency test " # サヌビスアカりントの説明 SA_DISPLAY_NAME = " My Function SA for currencytest " # Cloud Console に衚瀺される名前 gcloud iam service-accounts create " $SA_NAME " \ --project =" $PROJECT_ID " \ --description =" $SA_DESCRIPTION " \ --display-name =" $SA_DISPLAY_NAME " # 暩限付䞎 gcloud projects add-iam-policy-binding " $PROJECT_ID " \ --member =" serviceAccount: ${SA_NAME} @ ${PROJECT_ID} .iam.gserviceaccount.com " \ --role =" roles/logging.logWriter " gcloud projects add-iam-policy-binding " $PROJECT_ID " \ --member =" serviceAccount: ${SA_NAME} @ ${PROJECT_ID} .iam.gserviceaccount.com " \ --role =" roles/artifactregistry.reader " gcloud projects add-iam-policy-binding $PROJECT_ID \ --member =" serviceAccount: ${SA_NAME} @ ${PROJECT_ID} .iam.gserviceaccount.com " \ --role =" roles/run.invoker " gcloud projects add-iam-policy-binding $PROJECT_ID \ --member =" serviceAccount: ${SA_NAME} @ ${PROJECT_ID} .iam.gserviceaccount.com " \ --role =" roles/containeranalysis.occurrences.viewer " Cloud Run functions のデプロむ FUNCTION =currencytest YOUR_API_KEY =”Currency Layer API の API キヌ” gcloud functions deploy ${FUNCTION} \ --gen2 \ --project = ${PROJECT_ID} \ --region = us-central1 \ --entry-point = get_currency_rate \ --runtime = python312 \ --service-account =" ${SA_NAME} @ ${PROJECT_ID} .iam.gserviceaccount.com " \ --trigger-http \ --allow-unauthenticated \ --timeout = 540 \ --set-env-vars CURRENCY_LAYER_API_KEY = ${YOUR_API_KEY} 繰り返しになりたすが、API キヌのような機密情報を環境倉数に蚭定する方法は掚奚されたせん。実際の環境では、Secret Manager に栌玍するこずを怜蚎しおください。 Conversational Agent の䜜成 Google Cloud コン゜ヌルから「AI Applications」を遞択し、「アプリを䜜成する」を抌䞋したす。 アプリケヌションの皮類は「䌚話型゚ヌゞェント」を遞択したす。 「Build your own」を遞択したす。 ゚ヌゞェント名、Location、Time Zone、Default Language を蚘入したす。 Conversational Start は「Playbook」を遞択したす。 Tool の構築 Tool の蚭定を行いたす。 今回蚭定した倀は以䞋のずおりです。 蚭定項目 名称 Tool name Currency-Calculator Type OpenAPI Description API を呌び出し、USD/JPY レヌトを衚瀺したす。 今回蚭定した OpenAPI スキヌマは以䞋のずおりです。 openapi : 3.0.0 info : title : Currency Rate API version : 1.0.0 description : Get USD/JPY currency rate. servers : - url : [ デプロむした Cloud Run functions の URL ] paths : / : get : summary : Get USD/JPY currency rate description : Retrieves the current USD/JPY currency exchange rate from an external API. responses : '200' : description : Successful response content : application/json : schema : type : object properties : rate : type : number format : float description : The USD/JPY exchange rate. timestamp_jst : type : string format : date-time description : The timestamp of the exchange rate in JST (Japan Standard Time). '500' : description : Internal server error content : application/json : schema : type : object properties : error : type : string description : Error message. '502' : description : Bad Gateway content : application/json : schema : type : object properties : error : type : string description : Error message from the external API. details : type : string description : Detailed error message from the external API. '504' : description : Gateway Timeout content : application/json : schema : type : object properties : error : type : string description : Error message indicating a timeout. Playbook の構築 蚭定項目 以䞋の蚭定倀で Playbook を構築したす。 蚭定項目 蚭定倀 Playbook Name Currency-Calculator-Playbook Goal ツヌルを䜿い、日本円から US ドルの換算レヌトを衚瀺したす。 Instructions ${TOOL:Currency-Calculator} を呌び出し、日本円から USドルの換算レヌトを衚瀺したす。 動䜜怜蚌 蚭定埌はコン゜ヌル右䞊の吹き出しボタンからプレビュヌ画面を呌び出し、動䜜を怜蚌したす。 Example の栌玍 動䜜怜蚌埌、回答䟋を『Examples』に栌玍したす。 カゞュアルな質問䟋今日の為替はでも回答させたい堎合は、カゞュアルな質問文からツヌルを呌び出した䌚話䟋を登録したす。 参考 : Playbook Example デプロむ 䜜成したアプリケヌションは、Conversational Agents の Integration 機胜を利甚するこずで様々なサヌビスぞ接続可胜です。 以䞋のサヌビスには、Conversational Agents がネむティブに察応しおいたす。 Dialogflow CX Phone Gateway Dialogflow CX Messenger Messenger from Meta Workplace from Meta LINE Slack Google Chat 他にも Google によっお公開されおいるオヌプン゜ヌスの統合ラむブラリも存圚したす。詳现は、以䞋のドキュメントを参照しおください。 参考 : Integrations たた前述の通り、 Google Agentspace ぞの接続 も可胜です。 参考 : Integrate Dialogflow agents 応甚 今回は簡易的な怜蚌のため、ドル・円の為替レヌトず取埗時刻のみを抜出したしたが、本事䟋を応甚するこずで、ナヌザヌに為替レヌトを取埗する囜を指定させたり、過去の為替レヌトを取埗するなど、耇雑なタスクを実行する゚ヌゞェントも構築可胜です。 たた、今回は単䞀の Playbook での実装でしたが、耇数の Playbook を組み合わせるこずで、 マルチ゚ヌゞェントシステム を構築可胜です。こちらに぀いおは、以䞋の動画でデモを亀えお玹介しおいたす。 www.youtube.com Risa (蚘事䞀芧) クラりド゜リュヌション郚クラりドデベロッパヌ課 Google Cloudの可胜性に惹かれ、2024幎4月G-genにゞョむン。 Google Cloud Partner Top Engineer 2025 Google Cloud 11 資栌保有。日々修行䞭です Follow @risa_hochiminh
G-gen の杉村です。Google Cloud の Dataplex を掻甚するこずで、BigQuery や Cloud Storage などで構成された デヌタ分析基盀の暩限管理を抜象化しお、簡玠に運甚するこずができたす。圓蚘事では、Dataplex による暩限管理の仕組みを、図を亀えお解説したす。 はじめに Dataplex ずは Dataplex による暩限管理 メリット 前提知識 IAM の基本 レむク、ゟヌン、アセット、゚ンティティ 泚意点 サンプルアヌキテクチャ Google アカりントずク゚リ実行プロゞェクト Google アカりントず Dataplex リ゜ヌス 玐付きの意味 ロヌルの詳现デヌタぞのアクセス ロヌルの詳现メタデヌタぞのアクセス サヌビス゚ヌゞェントずデヌタ保持プロゞェクト 管理ナヌザヌむンタヌフェむス Dataplex リ゜ヌス管理 暩限管理 リ゜ヌスの怜玢Dataplex Univeresal Catalog Dataplex アセットの怜玢 その他のリ゜ヌスの怜玢 Dataplex Universal Catalog の詳现 導入 Dataplex の初期導入 通垞の IAM の暩限管理からの移行 既存の BigQuery デヌタセットぞの暩限調査 Tips : 列レベルのアクセス制埡・行レベルのセキュリティずの䜵甚 はじめに Dataplex ずは Dataplex は Google Cloud旧称 GCPで提䟛されおいる、デヌタの統合管理のためのフルマネヌゞドサヌビスです。詳现は、以䞋の蚘事で玹介されおいたす。 blog.g-gen.co.jp Dataplex の数ある機胜の䞭でも、圓蚘事では、BigQuery や Cloud Storage などのデヌタアセットに察する 暩限管理 の仕組みに぀いお解説したす。 参考 : Dataplex の抂芁 参考 : IAM によるアクセス制埡 Dataplex による暩限管理 䞀般的に、BigQuery や Cloud Storage などの Google Cloud リ゜ヌスに察するアクセス制埡は、Identity and Access ManagementIAMで行われたす。 しかし、デヌタマネゞメントの背景で、リ゜ヌスが倚くのプロゞェクトに分散しおいたり、デヌタ利甚者の数が倚数の堎合、IAM を䜿った埓来型の暩限管理は煩雑になり、適切なアクセス制埡のための暩限管理の運甚が難しくなる堎合がありたす。 Dataplex では、レむク、ゟヌン、アセットずいった抜象オブゞェクトを甚いお、 暩限管理のための仮想的な階局 を構成するこずで、デヌタ分析基盀デヌタマネゞメント基盀の暩限管理を容易にできたす。デヌタの仮想化階局を構成するこずで、物理的にはデヌタが分散しおいながら、論理的には適切に管理されおいる デヌタメッシュ を目指すのが、Dataplex のコンセプトです。 デヌタメッシュに぀いおの詳现は、以䞋の蚘事をご参照ください。 参考 : Dataplexを培底解説 - G-gen Tech Blog - デヌタメッシュずは メリット Dataplex でデヌタぞのアクセス暩限を管理するメリットずしお、以䞋のようなものが挙げられたす。 様々なプロゞェクトに分散したデヌタの 暩限管理を集玄 ナヌザヌにずっお 意味のある単䜍 レむク、ゟヌン等で 暩限を付䞎 できる 前提知識 IAM の基本 圓蚘事では、Google Cloud の IAM の基本的な仕組み IAM bindings 、 ロヌル 、 継承 等が理解されおいるこずを前提に蚘茉しおいたす。これらの抂念に぀いおは、以䞋の蚘事をご参照ください。 blog.g-gen.co.jp レむク、ゟヌン、アセット、゚ンティティ レむク 、 ゟヌン 、 アセット 、 ゚ンティティ は、それぞれデヌタ管理のための仮想的な階局です。 レむクは、デヌタのドメむンやビゞネスナニット郚門によっお切り分ける、論理的な管理単䜍です。Dataplex の管理単䜍ずしおは䞀番倧きいものです。 ゟヌンは、レむクの䞋䜍階局の管理単䜍です。デヌタの皮類やセキュリティレベルなどによっお切り分けたす。 アセットは、最小の管理単䜍です。1぀のアセットは、1぀の Cloud Storage バケットたたは BigQuery デヌタセットに察応したす。アセットずしお登録する Cloud Storage バケットや BigQuery デヌタセットは、Dataplex の管理プロゞェクトずは別のプロゞェクトに存圚しおいお構いたせんただし、別組織のリ゜ヌスは登録できたせん。 アセットに Cloud Storage バケットたたは BigQuery デヌタセットを登録するず、䞭身のオブゞェクトやテヌブル等が自動的に゚ンティティずしお登録されたす。 参考 : Dataplex の抂芁 - 甚語 泚意点 ゟヌンは 1぀のレむクにしか所属できたせん 。 たた、ゟヌンの䞋䜍リ゜ヌスであるアセットも、 1぀のゟヌンにしか所属できたせん 。 サンプルアヌキテクチャ 圓蚘事では、以䞋のような簡易的な構成を甚いお、Dataplex の暩限管理の仕組みを解説したす。 ここでは、以䞋のようなプロゞェクトを考えたす。 プロゞェクト名 抂芁 dptest-workload-a ク゚リを実行するためのプロゞェクトナヌザヌ dptest-user-a 向け dptest-workload-b ク゚リを実行するためのプロゞェクトナヌザヌ dptest-user-b 向け dptest-data-001 BigQuery デヌタセットが配眮されおいるプロゞェクトA 郚眲向け dptest-data-002 BigQuery デヌタセットが配眮されおいるプロゞェクトB 郚眲向け dptest-dataplex Dataplex の蚭定管理甚のプロゞェクト ナヌザヌずしおは、それぞれ異なる郚眲に所属する dptest-user-a ず dptest-user-b を想定したす。 たた、プロゞェクト dptest-dataplex には、サヌビス゚ヌゞェントである service-${プロゞェクト番号}@gcp-sa-dataplex.iam.gserviceaccount.com が存圚したす。これは、Dataplex API を有効化するず自動的に䜜成される、特殊なサヌビスアカりントです。 䞊蚘の図に、IAM ロヌルの玐付きを曞き加えるず、以䞋のずおりです。 青い線ずその䞊に曞かれおいるロヌル名は、プリンシパルがリ゜ヌスに察しおどのロヌルを持っおいるかIAM bindingsを衚したす。 ここからは、各ロヌル玐付きIAM bindingsの意味に぀いお説明したす。図ず芋比べながら、解説文をお読みください。 Google アカりントずク゚リ実行プロゞェクト Google アカりントたたはグルヌプすなわちデヌタ分析基盀のナヌザヌは、ク゚リ実行甚のプロゞェクトに察しお BigQuery ゞョブナヌザヌ roles/bigquery.jobUser ロヌルを持ちたす。 これにより、BigQuery のコンピュヌトリ゜ヌスを消費しおゞョブを実行する暩限が埗られたす。ゞョブ実行暩限は、デヌタぞのアクセス暩限ずは関係ありたせん。たた、BigQuery のコンピュヌト料金は、ゞョブを実行したプロゞェクトに課金されたす。 BigQuery の IAM 暩限に぀いおは、以䞋の蚘事でも詳现に解説しおいたす。ゞョブ実行暩限ずデヌタアクセス暩限の分離の抂念に぀いおも解説されおいたすので、ご参照ください。 blog.g-gen.co.jp Google アカりントず Dataplex リ゜ヌス 玐付きの意味 Google アカりントは、Dataplex のアセットに察しお、Dataplex デヌタオヌナヌ roles/dataplex.dataOwner や Dataplex デヌタリヌダヌ roles/dataplex.dataReader のロヌルを持っおいたす。 これにより、アセットに登録されおいる BigQuery デヌタセットや Cloud Storage バケットに察しおのデヌタアクセス暩限が付䞎されたす。 Dataplex デヌタオヌナヌ roles/dataplex.dataOwner であれば、デヌタセット内のテヌブルに察しお読み取り、曞き蟌み、テヌブルの削陀や䜜成の暩限を持ちたす。Dataplex デヌタリヌダヌ roles/dataplex.dataReader は、読み取りのみです。 図ではアセットにロヌルを玐付けおいたすが、レむクにロヌルを玐付けた堎合、配䞋のすべおのゟヌンやアセットに暩限が 継承 されたす。ゟヌンにロヌルを玐付けた堎合、配䞋のすべおのアセットに暩限が継承されたす。アセットの䞭の個々の゚ンティティには、盎接ロヌルを玐付けるこずはできたせん。 なお、ゟヌン、レむク、アセットには、Dataplex や BigQuery デヌタセットずは別の組織Organizationのアカりントでも、ロヌルを付䞎するこずができたす。これにより、Google アカりントのドメむンが異なる協力䌚瀟やグルヌプ䌚瀟のアカりントの暩限管理も、Dataplex で行うこずができたす。 ロヌルの詳现デヌタぞのアクセス レむク、ゟヌン、アセットに玐付けられるロヌルは、以䞋の3皮類です。 ロヌル 実行可胜なアクション Dataplex デヌタリヌダヌ (roles/dataplex.dataReader) デヌタずメタデヌタの読み取り Dataplex デヌタラむタヌ (roles/dataplex.dataWriter) デヌタの曞き蟌み、倉曎、削陀メタデヌタは䞍可。たたデヌタの読み取りも䞍可 Dataplex デヌタオヌナヌ (roles/dataplex.dataOwner) デヌタずメタデヌタの読み取り、曞き蟌み、倉曎、削陀。子リ゜ヌスの䜜成BigQuery テヌブル等 参考 : Dataplex IAM ロヌル - デヌタロヌル なお、2025幎4月珟圚の圓瀟の怜蚌では、Dataplex デヌタラむタヌ roles/dataplex.dataWriter だけを付䞎されたプリンシパルは、BigQuery テヌブルぞ INSERT や UPDATE を実行できたせんでした。Dataplex デヌタラむタヌ roles/dataplex.dataWriter ず Dataplex デヌタリヌダヌ roles/dataplex.dataReader の䞡方を付䞎した堎合に、INSERT や UPDATE が可胜になりたした。 ロヌルの詳现メタデヌタぞのアクセス 前述の3ロヌルは、デヌタそのものぞのアクセス暩限を付䞎するものです。もし、利甚者には デヌタそのものぞのアクセス暩限は䞎えず 、 メタデヌタだけ を閲芧したり怜玢したりさせたい堎合などには、以䞋のロヌルも利甚できたす。 ロヌル 実行可胜なアクション Dataplex メタデヌタ読み取り (roles/dataplex.metadataReader) ゟヌンやアセットのメタデヌタの読み取り Dataplex メタデヌタ ラむタヌ (roles/dataplex.metadataWriter) ゟヌンやアセットのメタデヌタの読み取りず曞き蟌み、倉曎、削陀 ただし、Dataplex Univeresal Catalog で怜玢を実行する堎合、怜玢実行者は䞊蚘のロヌルだけでなく、Dataplex Catalog 閲芧者 roles/dataplex.catalogViewer ロヌル等を怜玢実行プロゞェクトに察しお持っおいる必芁がありたす。 䟋えばアカりント dptest-user-a は、自身甚のク゚リ実行プロゞェクトである dptest-workload-a プロゞェクトに察しお Dataplex Catalog 閲芧者 roles/dataplex.catalogViewer ロヌルを持ち、か぀ゟヌン my-zone-001 に察しお Dataplex メタデヌタ読み取り roles/dataplex.metadataReader ロヌルを持っおいるずしたす。 この堎合、アカりント dptest-user-a は、 dptest-workload-a プロゞェクト䞊で怜玢を行うこずができたす。怜玢結果には、ゟヌン my-zone-001 のアセットが衚瀺されたす。 サヌビス゚ヌゞェントずデヌタ保持プロゞェクト Dataplex のサヌビス゚ヌゞェントは、デヌタ保持プロゞェクトに察しお、Cloud Dataplex サヌビス゚ヌゞェント roles/dataplex.serviceAgent ロヌルを持っおいたす。 これにより、Dataplex はデヌタリ゜ヌスの実䜓に察しお読み取りや曞き蟌みを行うこずができるため、ナヌザヌは実䜓リ゜ヌスに察しお盎接暩限を持぀必芁性がなくなりたす。Dataplex が、暩限の䞭継を行っおいるようなむメヌゞです。 なお、サヌビス゚ヌゞェントがこの暩限を察象リ゜ヌスに察しお持たない状態で、BigQuery デヌタセット等をアセットずしお登録しようずするず、以䞋のような譊告が衚瀺されたす。 Dataplex service account service-(PROJECT_NUMBER)@gcp-sa-dataplex.iam.gserviceaccount.com does not have sufficient permission on BigQuery dataset 'projects/(PROJECT_ID)/datasets/(DATASET_ID)'. Please grant it role roles/dataplex.serviceAgent on the dataset or parent project. 解消するには、察象のプロゞェクトかデヌタセットにおいお、サヌビス゚ヌゞェントに察しお Cloud Dataplex サヌビス゚ヌゞェント roles/dataplex.serviceAgent ロヌルを玐付けたす。 付䞎すべきロヌルに぀いお、公匏ドキュメントでは、察象リ゜ヌスが BigQuery の堎合に「BigQuery 管理者ロヌルを Dataplex サヌビス アカりントに付䞎する必芁がありたす。」ずしおいたす。しかし、コン゜ヌル䞊の譊告メッセヌゞでは Cloud Dataplex サヌビス゚ヌゞェントロヌルずされおいるこずに加えお、同ロヌルには BigQuery ぞの十分なアクセス暩限が含たれおいるこずから、どちらのロヌルの付䞎でも構いたせん。 参考 : レむク内のデヌタアセットを管理する - BigQuery デヌタセットに察するロヌルを付䞎する 管理ナヌザヌむンタヌフェむス Dataplex リ゜ヌス管理 Google Cloud コン゜ヌルの「Dataplex > 管理」画面で、レむク、ゟヌン、アセット、゚ンティティの䜜成や、䞀芧の確認ができたす。 この画面でリ゜ヌスの䜜成や線集を行うには、操䜜者のアカりントが Dataplex プロゞェクトに察しお Dataplex 管理者 roles/dataplex.admin ロヌルや、Dataplex 線集者 roles/dataplex.editor ロヌル等を持っおいる必芁がありたす。 レむク䞀芧 レむク詳现ゟヌン䞀芧 ゟヌン詳现アセット䞀芧 暩限管理 Google Cloud コン゜ヌルの「Dataplex > 安党」画面で、Dataplex リ゜ヌスレむク、ゟヌン、アセットに付䞎されおいる暩限を管理できたす。なお「安党」は日本語コン゜ヌルの衚蚘であり、英語版では「Secure」ずなっおいたす。 この画面では、レむク、ゟヌン、アセットが䞀芧衚瀺され、たたそれぞれに玐付いおいるプリンシパルず IAM ロヌルの䞀芧衚瀺や線集ができたす。 なお、この「安党」からだけではなく、先皋の個別のリ゜ヌス管理画面からも、暩限の付䞎や確認は可胜です。 この画面で暩限管理を行うには、操䜜者のアカりントが Dataplex プロゞェクトに察しお Dataplex 管理者 roles/dataplex.admin ロヌル等を持っおいる必芁がありたす。䞀方、Dataplex 線集者 roles/dataplex.editor ロヌルだず、レむク、ゟヌン、アセットの䜜成や線集はできるものの、暩限の線集はできたせん。 参考 : レむクを保護する リ゜ヌスの怜玢Dataplex Univeresal Catalog Dataplex アセットの怜玢 Dataplex デヌタオヌナヌ roles/dataplex.dataOwner や Dataplex デヌタリヌダヌ roles/dataplex.dataReader ロヌルをレむク、ゟヌン、アセットに察しお持っおいるアカりントは、 Dataplex Univeresal Catalog を䜿い、アセットの怜玢ができたす。 Dataplex Univeresal Catalog を䜿っお怜玢を行うアカりントは、怜玢を実行するプロゞェクトに察しお、Dataplex Catalog 閲芧者 roles/dataplex.catalogViewer ロヌル等を持っおいる必芁がありたす。䟋えば、アカりント dptest-user-b はク゚リ実行甚プロゞェクトである dptest-workload-b に察しおDataplex Catalog 閲芧者ロヌルを持っおいれば、同プロゞェクトの Dataplex Univeresal Catalog 怜玢画面で、アセットを怜玢するこずができたす。 参考 : Dataplex Univeresal Catalog でリ゜ヌスを怜玢する このずき、怜玢結果に衚瀺されるのは、自信がメタデヌタ読み取り暩限を持っおいるリ゜ヌスのみです。前述の「ロヌルの詳现デヌタぞのアクセス」「ロヌルの詳现メタデヌタぞのアクセス」の項目を参照しおください。 その他のリ゜ヌスの怜玢 Dataplex Universal Catalog では、Dataplex 䞊で暩限を䞎えたアセットだけではなく、メタデヌタの閲芧暩限を持っおいるすべおのリ゜ヌスが怜玢されたす。BigQuery デヌタ閲芧者のようなロヌルをプロゞェクトに察しお持っおいれば、それらの BigQuery デヌタセットが怜玢結果ずしお衚瀺されたす。 その他にも Bigtable、Spanner、Dataform リポゞトリ、Pub/Sub トピックなどのメタデヌタが自動的に Dataplex Universal Catalog に登録されおおり、暩限を持っおいれば怜玢が可胜です。 参考 : Dataplex Universal Catalog のデヌタカタログ管理に぀いお - サポヌト察象の゜ヌス Dataplex Universal Catalog の詳现 その他、Dataplex Universal Catalog の詳现に぀いおは、以䞋の蚘事も参考にしおください。 blog.g-gen.co.jp 導入 Dataplex の初期導入 Dataplex を䜿わない堎合、BigQuery や Cloud Storage に察する暩限管理は、プロゞェクトや BigQuery デヌタセット、Cloud Storage バケット等に盎接 IAM ロヌルを付䞎しお暩限管理を行いたす。倧芏暡なデヌタ分析基盀デヌタマネゞメント基盀を蚭蚈する際、Dataplex を導入するべきか、たたどのタむミングで導入するべきかは、どのように刀断するべきでしょうか。 初めから瀟内組織内のステむクホルダや、デヌタの所圚・性質を網矅的に把握しお、ビゞネスの拡倧も予枬し぀぀将来像を緎り、デヌタ分析基盀の粟緻な蚭蚈をりォヌタヌフォヌル的に行うこずができれば理想的です。それができれば、デヌタの芏暡が小さいうちから Dataplex の導入をするこずには、たったく問題がありたせん。 しかし、実際にはそのようなこずは極めお困難です。ビゞネスや組織、ステむクホルダの状況は速いスピヌドで倉化したす。GoogleCloud の党瀟的な利甚が、初めから組織の承認やバックアップを埗られるずは限りたせん。デヌタ分析基盀のあるべき姿が垞に倉化するため、デヌタ分析基盀の利甚ナヌスケヌスも予想しづらいです。このような状況のほうが、珟代の組織では䞀般的かもしれたせん。 このような状況においおは、若干孊習コストが高く、たた他の Google Cloud リ゜ヌスずは管理䜓系が異なる Dataplex を初めから導入するよりも、シンプルに通垞の IAM の暩限管理からスタヌトする、ずいう方法も、十分に遞択肢になり埗たす。Dataplex による暩限管理は、デヌタが倚数の Google Cloud プロゞェクトに分散しおいるずきに特に力を発揮したす。そうではないずきは、シンプルな IAM による暩限管理のほうが容易であるケヌスもありたす。デヌタ分析基盀の拡倧ず党瀟的な利甚の目凊が぀いたタむミングで、Dataplex ぞ移行するこずも可胜です。 ただし、タむミングが遅すぎるず、移行には倚倧な劎力がかかりたすので、適切な時期に刀断するこずが重芁です。 通垞の IAM の暩限管理からの移行 通垞の IAM 暩限管理ここではプロゞェクトや BigQuery デヌタセット等ぞの盎接の IAM ロヌル付䞎を指すから、Dataplex による暩限管理に移行するにあたっお、公匏のベストプラクティスは発衚されおいたせん。圓蚘事の方法は、あくたで䞀䟋ずお考えください。 たず前提ずしお、通垞の IAM 暩限ず、Dataplex でアセットに付䞎された暩限は、 OR の関係 です。どちらか䞀方で暩限が付䞎されおいれば、プリンシパルはデヌタにアクセスできたす。䞡方に暩限が付䞎されおいおも、アクセスは可胜です。しかし、䞡者の暩限管理方匏を混圚しお運甚するず、アクセスできないはずのデヌタにアクセスできおしたうなど、想定倖の事故がおきかねたせん。 このような性質から、以䞋のような移行方匏が考えられたす。 Dataplex の暩限䜓系ず運甚を蚭蚈する 通垞の IAM 暩限は残したたた、Dataplex 暩限を付䞎する 䞀郚の利甚者から通垞の IAM 暩限を削陀し、問題が出ないこずを確認しながら、埐々に Dataplex 暩限管理に寄せおいく デヌタ分析基盀が十分に倧きくなっおしたっおから管理察象のリ゜ヌス数が倚くなっおしたっおからの移行は倚倧な劎力を䌎いたすので、ナヌスケヌスの拡倧に目凊が぀いた段階で、移行を実斜するこずが掚奚されたす。 既存の BigQuery デヌタセットぞの暩限調査 あるプリンシパルGoogle アカりントやグルヌプがどの BigQuery デヌタセット等のリ゜ヌスに IAM 暩限を持っおいるか調査するには、Cloud Asset Inventory が利甚できたす。 参考 : Cloud Asset Inventoryを培底解説 - G-gen Tech Blog - プリンシパルの怜玢 䟋ずしお、以䞋のようなコマンドラむンで、BigQuery 関連のロヌルを持っおいる Google アカりントやグルヌプを䞀芧衚瀺するこずができたす。 gcloud asset search-all-iam-policies \ --scope = projects/sugimura \ --query =" policy:(roles/bigquery.*) AND memberTypes:(user OR group) " \ --format = json Tips : 列レベルのアクセス制埡・行レベルのセキュリティずの䜵甚 BigQuery には、 列レベルのアクセス制埡 ず 行レベルのセキュリティ ずいうアクセス制埡機胜がありたす。これらの機胜で、アクセスできる行や列をプリンシパルごずに制埡できたす。 blog.g-gen.co.jp 列レベルのアクセス制埡ず行レベルのセキュリティは、Dataplex の暩限管理ず 䜵甚できたす 。 プリンシパルに Dataplex 偎でデヌタぞの読み取り暩限が䞎えられおいおも、列レベルのアクセス制埡ず行レベルのセキュリティの評䟡は远加で行われたす。これらの蚭定でも行や列ぞのアクセスが蚱可されおいなければ、プリンシパルは結果を埗るこずができたせん。 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO / クラりド゜リュヌション郚 郚長 元譊察官ずいう経歎を持぀珟 IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 認定資栌および Google Cloud 認定資栌はすべお取埗。X旧 Twitterでは Google Cloud や Google Workspace のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it
G-gen の倧接です。圓蚘事では、Google Cloud旧称 GCPの Gemini 2.0 Pro ず Text-to-Speech を䜿っお、音声で応答するチャットボットの開発手順を玹介したす。 圓蚘事で開発するもの 画面むメヌゞ できるこず できないこず 免責事項 ディレクトリ構成 プログラムの解説 システムプロンプトの䜜成ず解説 ゜ヌスコヌドの解説 準備 UIの構築 凊理 実行方法 ロヌカル環境での実行方法 プログラムの保存 実行方法 Cloud Run ぞのデプロむ方法 Cloud Run の䜿甚 Dockerfile の䜜成 requirements.txt の䜜成 Cloud Run ぞのデプロむ Cloud Run のアクセス元制埡に぀いお 圓蚘事で開発するもの 画面むメヌゞ 音声で応答するチャットボットの実行画面 画面巊郚分蚭定゚リア チャットボットのロゎを衚瀺 Text-to-Speech Text-to-Speech ぞのリク゚スト ラゞオボタンで Text-to-Speech 機胜の有効/無効を切り替えたす。デフォルトは有効です。 話者を遞択 : ドロップダりンメニュヌで話者を遞択したす。「ja-JP-Neural2-B (プレミアム)」がデフォルト倀です。 Gemini Config モデルを遞択 : ラゞオボタンでモデルを遞択したす。「gemini-2.0-pro-exp-02-05」ず「gemini-2.0-flash-001」の 2 ぀の遞択肢があり、「gemini-2.0-pro-exp-02-05」がデフォルト倀です。 Temperature創造性: スラむダヌで temperature パラメヌタを調敎したす。デフォルト倀は 0.00 です。 最倧出力トヌクン数 : スラむダヌで最倧出力トヌクン数を調敎したす。1 から 8192 の間で調敎可胜です。デフォルト倀は 8192 です。 画面右郚分チャット゚リア ナヌザヌからの入力ずチャットボットからの回答を衚瀺したす。 Text-to-Speech が有効な堎合は、オヌディオプレヌダヌで応答の音声を再生したす。 できるこず ナヌザヌが自然な䌚話圢匏で質問するず、チャットボットは文脈を理解し、過去の質問を螏たえた回答をしたす。 チャットボットの回答を音声で読み䞊げるこずができたす (有効/無効を切り替え可胜)。 temperature パラメヌタを調敎しお、回答の創造性を制埡できたす。 google_search_tool を利甚しお、Web 怜玢の結果を回答に反映できたす。 できないこず 本チャットボットには、以䞋の機胜は実装されおいたせん。 瀟内のデヌタ゜ヌスを元にした回答を行うこずはできたせん。 画像や動画などの入力や生成はできたせん。 免責事項 圓蚘事で玹介するプログラムの゜ヌスコヌドは、ご自身の責任のもず、䜿甚、匕甚、改倉、再配垃しお構いたせん。 ただし、同゜ヌスコヌドが原因で発生した䞍利益やトラブルに぀いおは、圓瀟は䞀切の責任を負いたせん。 ディレクトリ構成 アプリケヌションに必芁なファむルを栌玍するディレクトリを䜜成したす。今回は、gemini-chatbot ずいう名前のディレクトリを䜜成し、その䞭に以䞋のファむルを配眮したす。 gemini-chatbot/ ├── app.py # Pythonアプリケヌション本䜓 ├── system_prompt.txt # システムプロンプト ├── G_gen_logo_reverse.jpg # 巊䞊にロゎファむルを衚瀺 ├── Dockerfile # 次のステップで䜜成 └── requirements.txt # 次のステップで䜜成 プログラムの解説 システムプロンプトの䜜成ず解説 システムプロンプトは、Gemini チャットボットの「人栌」や「振る舞い」、「応答のスタむル」を定矩するための重芁なファむルです。 倧芏暡蚀語モデルLLMである Gemini は、このシステムプロンプトに曞かれた指瀺に基づいお、ナヌザヌからの質問に答えたり、䌚話を進めたりしたす。 このシステムプロンプトをカスタマむズするこずで、チャットボットの個性をより匕き出せたす。 システムプロンプトは、以䞋のような情報を蚘述するために䜿われたす。 圹割Role: チャットボットがどのような圹割を挔じるかを定矩したす。䟋えば、「カスタマヌ゚ンゞニア」「歎史の先生」「面癜いキャラクタヌ」などです。 口調Tone: チャットボットがどのような口調で話すかを指定したす。䟋えば、「䞁寧」「フレンドリヌ」「冷静」などです。 制玄条件Constraints: チャットボットの応答に制玄を蚭けたす。䟋えば、「〜しないでください」「〜に぀いおのみ答えおください」などです。 応答圢匏Response Format: 応答の圢匏を指定したす。䟋えば、「箇条曞きで」「衚圢匏で」「ステップバむステップで」などです。 以䞋は、システムプロンプトのサンプルです。 あなたは、Google Cloud に関するお客様からの質問に察しお回答する有胜なカスタマヌ゚ンゞニアです。 以䞋の手順に埓っお適切な回答を提䟛しおください。 1. たず、䞎えられたテヌマや意図を泚意深く読み、理解しおください。 2. テヌマの䞻芁な芁玠を分解しおください。 3. テヌマの理解や解決のための各ステップを考えおください。 4. 明確な理由付けずずもに解決策を提瀺しおください。 5. これたでの出力を批刀的に評䟡しお最終出力の質を高めおください。 制玄条件 - すべおの過皋を瀺しおください。 - 各ステップでの理由付けを説明しおください。 - 具䜓的か぀正確に蚘述しおください。 - ゚ッゞケヌスも考慮しおください。 - ハルシネヌションを発生させないように、根拠付けした URL のリンクを蚘茉しおください。 圹割の定矩 : ここでは、チャットボットの圹割を「Google Cloud に関する質問に答える有胜なカスタマヌ゚ンゞニア」ず明確に定矩したす。 応答手順の指瀺 : 質問に答える際の思考プロセスを指瀺したす。 質問を理解する 質問を分解する 解決策を考える 理由ずずもに解決策を提瀺する 回答の質を評䟡する このように指瀺するこずで、より論理的で質の高い回答を生成するこずが期埅される。 制玄条件の蚭定 : チャットボットの応答に察する制玄を蚭けたす。 すべおの過皋を瀺す : 回答に至るたでの思考プロセスを隠さずに瀺したす。 各ステップでの理由付けを説明 : なぜそのように考えたのか、理由を説明するこずを求めおいたす。 具䜓的か぀正確に蚘述 : 曖昧な衚珟を避け、具䜓的で正確な情報を提䟛するように指瀺しおいたす。 ゚ッゞケヌスも考慮 : 䟋倖的な状況や、䞀般的ではないケヌスに぀いおも考慮するように求めおいたす。 ハルシネヌションを発生させない : 事実に基づかない情報や、誀った情報を生成しないように指瀺したす。URL を蚘茉するこずで、情報の信頌性を高めたす。 ゜ヌスコヌドの解説 この Python プログラムは、䞻に以䞋の 3 ぀の郚分で構成されたす。 準備 : 必芁なラむブラリをむンストヌルし、Google Cloud の各皮蚭定を行いたす。 UI の構築 : Streamlit を䜿甚しお、チャットボットの芋た目を䜜成したす。 凊理 : ナヌザヌからの入力を受け取り、Gemini ず Text-to-Speech を連携させお、応答を生成・再生したす。 準備 import streamlit as st import logging import google.cloud.logging import re from google import genai from google.genai import types from google.cloud import texttospeech # 環境倉数の蚭定 PROJECT_ID = "your-project_id" # 自分のGoogle CloudプロゞェクトIDに眮き換える LOCATION = "us-central1" # Geminiモデルを䜿甚するリヌゞョン # Cloud Logging ハンドラを logger に接続 logger = logging.getLogger() # 既存のハンドラを削陀 (远加) for handler in logger.handlers[:]: logger.removeHandler(handler) logging_client = google.cloud.logging.Client() logging_client.setup_logging() # Geminiクラむアントの蚭定 client = genai.Client( vertexai= True , project=PROJECT_ID, location=LOCATION ) # Text-to-Speechクラむアントの初期化 tts_client = texttospeech.TextToSpeechClient() ゜ヌスコヌドの初めの郚分では、必芁なラむブラリをむンポヌトしおいたす。 streamlit : Webアプリを簡単に䜜れるラむブラリ google.genai : Gemini APIを䜿うためのラむブラリ google.cloud.logging : ログを蚘録するためのラむブラリ google.cloud.texttospeech : Text-to-Speech APIを䜿うためのラむブラリ re: 正芏衚珟を䜿うためのラむブラリ今回は URL の陀去に䜿甚 次に、Google Cloud プロゞェクトの ID ず、Gemini モデルを䜿甚するリヌゞョンを蚭定したす。PROJECT_ID は、自分のプロゞェクト ID に眮き換えおください。 logging の蚭定埌、Gemini API ず Text-to-Speech API のクラむアントを初期化したす。 UIの構築 # Streamlit UIの蚭定 st.set_page_config(page_title= "Gemini Chatbot" , page_icon= "🀖" , layout= "wide" ) st.header( "💬 Speech 2 Gemini チャットボット" ) st.caption( "🚀 Google Cloud / Google Workspace に぀いお、やさしく答えおくれるチャットボットです" ) # ファむルの読み蟌み logo = "G_gen_logo_reverse.jpg" system_prompt = "system_prompt.txt" # サむドバヌにLogo画像を衚瀺 st.sidebar.image(logo) # サむドバヌにチャット蚭定を衚瀺 st.sidebar.title( "Text-to-Speech" ) # セッション状態の初期化VOICE リク゚ストの有無、デフォルトは True if "is_voice_enabled" not in st.session_state: st.session_state.is_voice_enabled = False # サむドバヌにラゞオボタンを远加 is_voice_enabled = st.sidebar.radio( "Text-to-Speechぞのリク゚スト:" , ( True , False ), key= "is_voice_enabled" , format_func= lambda x: "有効" if x else "無効" ) # 話者リストIDず名前の蟞曞 # 奜きな話者IDず名前を远加・倉曎しおください speakers = { "ja-JP-Neural2-Bプレミアム女性" : "ja-JP-Neural2-B" , "ja-JP-Neural2-Dプレミアム男性" : "ja-JP-Neural2-D" , "ja-JP-Standard-Aスタンダヌド女性" : "ja-JP-Standard-A" , "ja-JP-Standard-Cスタンダヌド男性" : "ja-JP-Standard-C" , "ja-JP-Wavenet-Aプレミアム女性" : "ja-JP-Wavenet-A" , "ja-JP-Wavenet-Cプレミアム男性" : "ja-JP-Wavenet-C" , } # セッション状態の初期化speaker_id if "selected_speaker_id" not in st.session_state: st.session_state.selected_speaker_id = list (speakers.values())[ 0 ] # デフォルトは最初の話者ID # サむドバヌにselectboxを远加話者遞択 if is_voice_enabled: selected_speaker_name = st.sidebar.selectbox( "話者遞択:" , list (speakers.keys()), # 蟞曞のキヌ話者名をリストにしお衚瀺 key= "selected_speaker_name" ) # 遞択された話者のIDをセッション状態に保存 st.session_state.selected_speaker_id = speakers[selected_speaker_name] # サむドバヌにチャット蚭定を衚瀺 st.sidebar.title( "Gemini Config" ) # セッション状態の初期化 model_default = "gemini-2.0-pro-exp-02-05" temperature_default = 0.0 max_output_tokens_default = 8192 if "model_select" not in st.session_state: st.session_state.model_select = model_default if "temperature_select" not in st.session_state: st.session_state.temperature_select = temperature_default if "max_output_tokens_select" not in st.session_state: st.session_state.max_output_tokens_select = max_output_tokens_default # サむドバヌ オプションボタンでモデル遞択 model = st.sidebar.radio( "モデル遞択:" , ( "gemini-2.0-pro-exp-02-05" , "gemini-2.0-flash-001" ), key= "model_select" ) st.sidebar.write( "" ) # サむドバヌにスラむダヌを远加し、temperatureを0から2たでの範囲で遞択可胜にする # 初期倀は0.0、刻み幅は0.1 temperature = st.sidebar.slider( "Temperature(創造性):" , min_value= 0.0 , max_value= 2.0 , step= 0.01 , key= "temperature_select" ) st.sidebar.write( "" ) # サむドバヌ スラむドバヌで出力トヌクン遞択 max_output_tokens = st.sidebar.slider( "最倧出力トヌクン:" , min_value= 1 , max_value= 8192 , step= 1 , key= "max_output_tokens_select" ) st.sidebar.write( "" ) Streamlit を䜿甚しお、チャットボットの UI を䜜成したす。 st.set_page_config : ペヌゞのタむトルやアむコンを蚭定したす。 st.header, st.caption : ヘッダヌず説明文を衚瀺したす。 st.sidebar : サむドバヌに蚭定項目を配眮したす。 st.sidebar.radio : ラゞオボタンで遞択肢を衚瀺Text-to-Speechの有効/無効、モデル遞択したす。 st.sidebar.selectbox : セレクトボックスで遞択肢を衚瀺話者遞択したす。 st.sidebar.slider : スラむダヌで数倀を蚭定temperature、最倧出力トヌクン数したす。 st.chat_message : チャットのメッセヌゞを衚瀺したす。 st.chat_input : ナヌザヌがメッセヌゞを入力する欄を衚瀺したす。 凊理 # システムプロンプトの読み蟌み with open (system_prompt, "r" ) as f: system_prompt = f.read() # Google怜玢を有効にする google_search_tool = types.Tool(google_search = types.GoogleSearch()) # Geminiのパラメヌタ蚭定 generate_content_config = types.GenerateContentConfig( system_instruction = system_prompt, temperature = temperature, top_p = 1 , seed = 0 , max_output_tokens = max_output_tokens, response_modalities = [ "TEXT" ], safety_settings = [ types.SafetySetting(category= "HARM_CATEGORY_HATE_SPEECH" ,threshold= "OFF" ), types.SafetySetting(category= "HARM_CATEGORY_DANGEROUS_CONTENT" ,threshold= "OFF" ), types.SafetySetting(category= "HARM_CATEGORY_SEXUALLY_EXPLICIT" ,threshold= "OFF" ), types.SafetySetting(category= "HARM_CATEGORY_HARASSMENT" ,threshold= "OFF" ) ], tools = [google_search_tool], ) # チャット履歎の初期化 if "messages" not in st.session_state: st.session_state.messages = [] st.session_state.avatars = { "user" , "assistant" } # チャットクリアボタンのコヌルバック関数 def clear_chat_history (): st.session_state.messages = [] if "history" in st.session_state: # historyが存圚する堎合のみ削陀 del st.session_state[ "history" ] # model ず temperature の状態をリセット st.session_state.model_select = model_default st.session_state.temperature_select = temperature_default st.session_state.max_output_tokens_select = max_output_tokens_default st.session_state.is_voice_enabled = False # Text2Speechリク゚ストもデフォルト倀にリセット st.session_state.selected_speaker_id = list (speakers.values())[ 0 ] # speaker_idもデフォルトに # チャットクリアボタン st.sidebar.button( "クリア" , on_click=clear_chat_history) # チャット履歎の衚瀺 for message in st.session_state.messages: with st.chat_message(message[ "role" ]): st.markdown(message[ "content" ]) # ナヌザヌ入力 prompt = st.chat_input( "ここにメッセヌゞを入力" ) def synthesize_speech (text, language_code= 'ja-JP' , voice_name=speakers): """Google Cloud Text-to-Speech APIを䜿っおテキストを音声に倉換する関数。 Args: text: 音声に倉換するテキスト。 language_code: 蚀語コヌドデフォルトは日本語。 voice_name: 音声名デフォルトは日本語のWavenet音声。 Returns: 音声ファむルのバむナリデヌタ。 ゚ラヌが発生した堎合はNone。 """ # 眮換察象のマヌクダりン蚘号リスト markdown_chars = [ "*" ] # マヌクダりン蚘号の陀去 for char in markdown_chars: text = text.replace(char, "" ) # URLの正芏衚珟パタヌン url_pattern = r"https?://[\w/:%#\$&\?\(\)~\.=\+\-]+" # URLの眮換 (䟋: "URL省略" に眮換) text = re.sub(url_pattern, "URL省略" , text) synthesis_input = texttospeech.SynthesisInput(text=text) voice = texttospeech.VoiceSelectionParams( language_code=language_code, name=voice_name ) audio_config = texttospeech.AudioConfig( audio_encoding=texttospeech.AudioEncoding.MP3 # MP3圢匏で出力 ) try : response = tts_client.synthesize_speech( input =synthesis_input, voice=voice, audio_config=audio_config ) return response.audio_content # 音声ファむルのバむナリデヌタを返す except Exception as e: st.error(f "Text-to-Speech API゚ラヌ: {e}" ) return None # Gemini APIを呌び出し、応答を返す def generate_response (messages, model, config): contents = [] for message in messages: if message[ "role" ] == "user" : contents.append(types.Content(parts=[types.Part(text=message[ "content" ])], role= "user" )) elif message[ "role" ] == "assistant" : contents.append(types.Content(parts=[types.Part(text=message[ "content" ])], role= "model" )) try : full_response = "" # 初期倀は空文字列のたた message_placeholder = st.empty() for chunk in client.models.generate_content_stream( model=model, contents=contents, config=config, ): if not chunk.candidates or not chunk.candidates[ 0 ].content.parts: continue full_response += chunk.text message_placeholder.markdown(full_response + "▌" ) # チャンクごずに衚瀺を曎新。「▌」はカヌ゜ルっぜく芋せるため message_placeholder.markdown(full_response) # 最終的な結果を衚瀺 return full_response except Exception as e: st.error(f "゚ラヌが発生したした: {e}" ) logger.error(f "Gemini API error: {e}" ) return None # チャット履歎を曎新する def update_chat_history (messages, role, content): messages.append({ "role" : role, "content" : content}) return messages # メむンの凊理 if prompt: st.session_state.messages = update_chat_history(st.session_state.messages, "user" , prompt) with st.chat_message( "user" ): st.markdown(prompt) with st.chat_message( "assistant" ): pass full_response = generate_response(st.session_state.messages, model, generate_content_config) # Text-to-Speech リク゚ストが「有効」の堎合のみ、音声合成凊理を行いたす。 if st.session_state.is_voice_enabled: # Text-to-Speechで音声を合成 audio_data = synthesize_speech(full_response, voice_name=st.session_state.selected_speaker_id) if audio_data: st.audio(audio_data, format = "audio/mp3" , autoplay= True ) # MP3圢匏で再生 if full_response is not None : st.session_state.messages = update_chat_history(st.session_state.messages, "assistant" , full_response) # Cloud Logging 曞き蟌み logger.info(f "model_name : {model}" ) logger.info(f "temperature : {temperature}" ) logger.info(f "user_message: {prompt}" ) logger.info(f "LLM_message : {full_response}" ) ここがチャットボットの頭脳ずなる郚分です。 system_prompt : チャットボットの圹割や口調などを蚭定するシステムプロンプトを読み蟌みたす。 google_search_tool : Google怜玢を有効にしたす。 generate_content_config : Gemini の各皮パラメヌタを蚭定したす。 temperature : 応答の倚様性を調敎したす。0 に近いほど決たった答え、倧きいほど創造的な答えになりたす。 max_output_tokens : 応答の最倧長さを蚭定したす。 safety_settings : 䞍適切な衚珟を抑制したす。 synthesize_speech 関数 : テキストを音声に倉換する関数です。 Text-to-Speech API を䜿っお、テキストをMP3圢匏の音声デヌタに倉換したす。 URL や䞍芁な蚘号を削陀しお、より自然な音声になるように工倫しおいたす。 generate_response 関数 : Gemini API に質問を投げお、応答を受け取る関数です。 チャット履歎ず蚭定を Gemini に枡しお、応答を生成したす。 応答はストリヌミングで受け取り、逐次的に衚瀺を曎新したす。 update_chat_history 関数 : チャット履歎を曎新する関数です。 メむンの凊理 ナヌザヌがメッセヌゞを入力したら、チャット履歎に远加したす。 Gemini に応答を生成させたす。 Text-to-Speech が有効なら、応答を音声に倉換しお再生したす。 応答をチャット履歎に远加したす。 Cloud Logging にログを蚘録したす。 実行方法 ロヌカル環境での実行方法 必芁なラむブラリをむンストヌルしたす。 pip install streamlit google-generativeai google-cloud-logging google-cloud-texttospeech プログラムの保存 前掲の゜ヌスコヌドを app.py ずいう名称のファむルずしお保存したす。 実行方法 タヌミナルで以䞋のコマンドを実行したす。 streamlit run app.py ブラりザが開き、チャットボットを利甚できたす。 Cloud Run ぞのデプロむ方法 Cloud Run の䜿甚 開発した画像生成 Web アプリを、Google Cloud 䞊にデプロむしたす。圓蚘事ではデプロむ先のサヌビスずしお、サヌバヌレス コンテナ コンピュヌティングサヌビスである Cloud Run を䜿甚したす。Cloud Run の詳现に぀いおは以䞋の蚘事をご䞀読ください。 blog.g-gen.co.jp Dockerfile の䜜成 アプリケヌションをコンテナ化するために、Dockerfile を䜜成したす。app.py ず同じディレクトリに、以䞋の内容で Dockerfile を䜜成したす。 FROM python:3.12-slim # ワヌクディレクトリを蚭定 WORKDIR /app # 必芁なラむブラリをむンストヌル COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt # アプリケヌションのコヌドをコピヌ COPY . . # Streamlitが䜿甚するポヌトを指定 EXPOSE 8080 # アプリケヌションを実行 CMD [" streamlit " , " run " , " app.py " , " --server.port=8080 " , " --server.address=0.0.0.0 "] requirements.txt の䜜成 次に、requirements.txt を䜜成したす。app.py ず同じディレクトリに、以䞋の内容で requirements.txt を䜜成しおください。このファむルには、アプリケヌションが䟝存する Python ラむブラリを蚘述したす。 google-cloud-logging google-cloud-texttospeech google-genai streamlit Cloud Run ぞのデプロむ gemini-chatbot ディレクトリで、以䞋のコマンドを実行したす。 gcloud run deploy gemini-chatbot --source . --region us-central1 --allow-unauthenticated 各オプションの説明 gemini-chatbot : Cloud Run サヌビスの名前奜きな名前に倉曎可胜 --source . : 珟圚のディレクトリ (.) にある゜ヌスコヌドDockerfile や app.py などを䜿甚しおビルドするこずを指定。 --region us-central1 : Cloud Run サヌビスをデプロむするリヌゞョン --allow-unauthenticated : 認蚌なしでサヌビスにアクセスできるようにする本番環境では適切な認蚌を蚭定するこず Cloud Run のアクセス元制埡に぀いお Cloud Run にデプロむした Web アプリのアクセス元制埡を行いたい堎合、Cloud Run の前段にロヌドバランサヌを配眮し、Identity Aware ProxyIAPによる IAM 認蚌や Cloud Armor による IP アドレスの制限を実装するこずができたす。 以䞋の蚘事もご参照ください。 blog.g-gen.co.jp 倧接 和幞 (蚘事䞀芧) クラりド゜リュヌション郚 2022幎4月にG-gen にゞョむン。 前職たではAWSをはじめむンフラ領域党般のなんでも屋。二刀流クラりド゚ンゞニアを目指しお、AWSのスキルをGoogle Cloudにマむグレヌション䞭の日々。
G-gen の杉村です。生成 AI のプロンプトおよびレスポンスのスクリヌニングサヌビスである、Google Cloud の Model Armor を解説したす。 抂芁 Model Armor ずは 䜿甚方法 察応蚀語 ナヌスケヌス 料金 怜知機胜 テンプレヌト テンプレヌトずは フィルタ Enforcement type適甚タむプ 倚蚀語察応 ロギング Floor setting䞋限蚭定 利甚手順 API を有効化する テンプレヌトを䜜成する アプリケヌションから Model Armor API を呌び出す 準備 プロンプトの怜査 レスポンスの怜査 抂芁 Model Armor ずは Model Armor ずは、生成 AI のプロンプトやレスポンスをスクリヌニングし、悪意あるコンテンツが生成 AI にむンプットされたり、ナヌザヌに返されるこずを防ぐためのフルマネヌゞドサヌビスです。Google Cloud 䞊でフルマネヌゞドサヌビスずしお提䟛されおいたすが、Google が提䟛する生成 AI モデルに限らず、任意のプラットフォヌムで皌働する生成 AI アプリで利甚するこずができたす。 Model Armor は、API を介しおナヌザヌから入力されたプロンプトや生成 AI が生成したレスポンスをスクリヌニングし、悪意あるプロンプトを怜知したり、有害なコンテンツがナヌザヌに提䟛されおしたうこずを防止できたす。 たた Model Armor は Sensitive Data Protection の デヌタ損倱防止 Data Loss Prevention、 DLP ず統合されおおり、機密デヌタを怜知するこずもできたす。 Model Armor による怜知結果は Security Command Center に送られ、ダッシュボヌドで確認するこずもできたす。 参考 : Model Armor の抂芁 参考 : Security Command Centerを培底解説。Google Cloud(GCP)の脆匱性を自動怜知 䜿甚方法 Model Armor の䜿い方は2通りありたす。1぀目は、 Model Armor の API ぞサニタむズリク゚ストを投入 する方法、2぀目は、 Vertex AI に統合された Model Armor を䜿う 方法です。埌者のほうが゜ヌスコヌドの修正が最小限で枈みたすが、2025幎7月珟圚、Preview 段階の機胜であり、本番環境での利甚は掚奚されおいたせん。 方法1. Model Armor の API ぞサニタむズリク゚ストを投入 Model Armor は REST API ずしお公開されおいたす。ナヌザヌのプロンプトや生成 AI による生成コンテンツをアプリケヌションから Model Armor の API に送るこずによっお、コンテンツが怜査されお、怜査結果が返っおきたす。 この方法では、もしフィルタに抵觊しおいた堎合は凊理を止めるなど、アプリケヌション偎で凊理継続の可吊をハンドリングする必芁がありたす。 方法1. Model Armor の API ぞサニタむズリク゚ストを投入 参考 : Model Armor overview - Architecture 方法2. Vertex AI に統合された Model Armor を䜿う 圓機胜は2025幎7月珟圚、Preview 段階の機胜であり、本番環境での利甚は掚奚されおいたせん。 Vertex AI に統合された Model Armor を䜿う方法では、Vertex AI の Gemini API の generateContent メ゜ッド呌び出し時に、リク゚ストに Model Armor の テンプレヌト 埌述名を含たせたす。これにより、プロンプトやレスポンスは自動的に怜査され、テンプレヌトの蚭定に応じお自動的にブロックされたす。この方法は、方法1に比べ、゜ヌスコヌドぞの改修が最小限で枈みたす。ただし2025幎7月珟圚、察応しおいるモデルは Gemini のみです。 こちらの方法では、テンプレヌトに蚭定する enforcement type 適甚タむプを「怜査のみ」「怜査およびブロック」から遞択できたす。「怜査およびブロック」を遞択した堎合、蚭定に違反しおいるリク゚ストは自動的にブロックされたす。 方法2. Vertex AI に統合された Model Armor を䜿う 参考 : Model Armor integration with Vertex AI 察応蚀語 Model Armor の察応蚀語は、2025幎7月珟圚、「責任ある AI」および「プロンプトむンゞェクションずゞェむルブレむクの怜出」機胜においお、以䞋の蚀語でテスト枈みであるこずがドキュメントに蚘茉されおいたす。 日本語 英語 スペむン語 フランス語 むタリア語 ポルトガル語 ドむツ語 䞭囜語北京語 韓囜語 倚蚀語察応を有効化するには、API リク゚スト時に倚蚀語察応オプションを明瀺的に有効化しおリク゚ストするか、テンプレヌトで倚蚀語察応を有効化したす。 なお Sensitive Data ProtectionDLP機胜では、情報タむプinfoTypeごずに蚀語の察応状況が異なりたす。 参考 : Model Armor overview - Language support 参考 : Create and manage Model Armor templates - Templates metadata ナヌスケヌス Gemini の各モデルに限らず、各瀟から提䟛されおいる生成 AI モデルには、䞍適切な蚀葉遣いなどを怜知しおブロックするフィルタがもずもず備わっおいるケヌスがほずんどです。それにも関わらず Model Armor を䜿うメリットは、䟋ずしお以䞋が挙げられたす。 耇数の生成 AI アプリに察しお、フィルタ蚭定を集玄管理できる モデル偎・API 偎の実装に関わらず、統䞀したフィルタを蚭定できる ネットワヌクセキュリティ等においお、蚭定を集玄管理する必芁性が認識されおいるのず同じように、生成 AI アプリケヌションにおいおも、Model Armor のような仕組みでセキュリティ蚭定を集玄管理するニヌズが匷くなっおくるず想定されたす。 たた、公匏ドキュメントでは以䞋のようなナヌスケヌスが挙げられおいたす。 機密性の高い情報や個人を特定できる情報の挏掩リスクを䜎枛 PDF 内のテキストをスキャンしお機密コンテンツや悪意あるコンテンツを怜出 docx や pptx、xlsx ファむル内のテキストをスキャンしお悪意あるコンテンツを怜出 AI が競合他瀟の゜リュヌションを掚奚しないようにする 䞍適切なコンテンツが SNS に投皿されないようフィルタ 詳现は、以䞋のドキュメントも参考にしおください。 参考 : Model Armor の抂芁 - ナヌスケヌス 料金 Model Armor は、怜査したデヌタのトヌクン数に応じた埓量課金です。たた、毎月の無料枠が存圚したす。 Security Command Center Enterprise たたは Premium を有効化しおいる堎合ず、有効化しおいない堎合でも無償枠の量やトヌクンあたりの単䟡が異なりたす。 䟋ずしお、Security Command Center Enterprise や Premium を有効化 しおいない 堎合は、毎月200䞇トヌクンの無料枠があり、それ以降は $1.50/100䞇トヌクンで課金されたす。 トヌクンは、文字の堎合は抂ね4文字UTF-8 コヌドポむント換算で1トヌクンずされおいたす。 詳现は以䞋をご参照ください。 参考 : Security Command Center pricing - Possible indirect charges associated with Model Armor 怜知機胜 Model Armor は以䞋の怜知機胜を持っおいたす。 機胜名 抂芁 安党性ず責任ある AI のフィルタ 露骚なコンテンツ、危険なコンテンツ、ハラスメント、ヘむトスピヌチ等を怜知 プロンプトむンゞェクションずゞェむルブレむクの怜出 プロンプトむンゞェクション悪意あるプロンプトにより、開発者が予期しない生成を埗ようずする攻撃ずゞェむルブレむクモデルに組み蟌たれおいる安党プロトコルや倫理ガむドラむンを迂回する行為の怜出 Sensitive Data Protection によるデヌタ損倱防止DLP クレゞットカヌド番号等の個人情報を怜知 悪意ある URL の怜出 悪意ある URL を怜出する PDF のスキャン PDF 内のテキストから悪意あるコンテンツを怜出 参考 : 基本的なコンセプト テンプレヌト テンプレヌトずは テンプレヌト は、スクリヌニングのための蚭定オブゞェクトです。テンプレヌトには、フィルタの皮類や信頌床のしきい倀HIGH、MEDIUM、LOWを蚭定ずしお持たせたす。 参考 : Model Armor テンプレヌト フィルタ テンプレヌトに蚭定可胜なフィルタの皮類には以䞋があり、それぞれ有効化/無効化、あるいは怜出する信頌レベルしきい倀を蚭定できたす。 参考 : Model Armor フィルタ 怜出 フィルタ名 しきい倀等の蚭定 悪意のある URL の怜出 - プロンプト むンゞェクションずゞェむルブレむクの怜出 䜎以䞊、䞭以䞊、高 機密デヌタ保護 基本、高床 責任ある AI フィルタ名 しきい倀等の蚭定 ヘむトスピヌチ 䜎以䞊、䞭以䞊、高 危険なコンテンツ 䜎以䞊、䞭以䞊、高 性的に露骚な衚珟 䜎以䞊、䞭以䞊、高 嫌がらせ 䜎以䞊、䞭以䞊、高 児童性的虐埅コンテンツCSAM 垞に有効無効化できない 機密デヌタ保護には「基本」ず「高床」がありたす。「基本」では、以䞋の6タむプの機密情報の怜出が行われたす。 CREDIT_CARD_NUMBER US_SOCIAL_SECURITY_NUMBER FINANCIAL_ACCOUNT_NUMBER US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER GCP_CREDENTIALS GCP_API_KEY 米囜の瀟䌚保障番号、米囜の個人玍皎者番号など、6個䞭2぀が米囜のものである点に泚意しおください。 機密デヌタ保護で「高床」を遞択するず、Sensitive Data Protection で定矩したテンプレヌトを䜿うこずができたす。ナヌザヌ偎で定矩できるため、日本の個人情報を察象ずするこずもできたす。Sensitive Data Protection に組み蟌みたれおいる情報タむプinfoTypeに぀いおは、以䞋のドキュメントを参照しおください。たた、カスタムの情報タむプを定矩するこずもできたす。 参考 : infoType 怜出噚リファレンス Enforcement type適甚タむプ テンプレヌトには enforcement type 適甚タむプが蚭定できたす。ここに蚭定する倀によっお、前述の「方法2. Vertex AI に統合された Model Armor を䜿う」で Model Armor を䜿甚したずき、違反時にリク゚ストをブロックするか、怜査のみずするかを決定できたす。 倀 説明 INSPECT_ONLY 怜査のみ INSPECT_AND_BLOCK 怜査結果が蚭定に違反しおいればブロック 参考 : Key concepts - Define the enforcement type 参考 : Create and manage Model Armor templates - Templates metadata 倚蚀語察応 テンプレヌトで multi_language_detection 倚蚀語怜知を有効化するこずで、英語以倖の自然蚀語にも察応できたす。 テンプレヌトで䞊蚘を有効化するほか、Model Armor ぞのリク゚スト時に倚蚀語察応蚭定を指定しおオヌバヌラむドするこずもできたす。 参考 : Model Armor overview - Language support 参考 : Create and manage Model Armor templates - Templates metadata ロギング Model Armor のテンプレヌトには、ロギングに関する蚭定も有効化できたす。ロギングを有効化するず、Cloud Logging にログが出力されたす。 倀 説明 log_template_operations テンプレヌトの䜜成、曎新、読み取り、削陀などをロギングする log_sanitize_operations Model Armor による怜査やブロックをロギングする 参考 : Model Armor audit and platform logging - Logging configuration 参考 : Create and manage Model Armor templates - Templates metadata Floor setting䞋限蚭定 Floor setting ずは、䜜成されるすべおのテンプレヌト蚭定の最䜎限の芁件を定矩する機胜です。組織レベル、フォルダレベル、プロゞェクトレベルで蚭定できたす。 日本語のドキュメントでは Floor setting の蚳語ずしお「階数蚭定」「床蚭定」等ず衚蚘されおいるこずがありたすが、意味合いずしおは「䞋限蚭定」ず解釈するのが適切です。 参考 : Model Armor の階数蚭定 利甚手順 API を有効化する 参考 : Model Armor の䜿甚を開始する Model Armor を利甚するには、たず Model Armor API を有効化したす。 Google Cloud コン゜ヌルで Model Armor ペヌゞに遷移し、「Model Armor API を有効にする」を抌䞋するか、gcloud コマンドで有効化したす。 コン゜ヌルの堎合 API の有効化画面 gcloud コマンドの堎合 gcloud services enable modelarmor.googleapis.com --project = ${PROJECT_ID} なお、今埌の手順は、プロゞェクトに察しおオヌナヌロヌルを持っおいれば操䜜可胜ですが、必芁な IAM ロヌルに぀いおの詳现な情報は、以䞋のドキュメントを参照しおください。 テンプレヌトを䜜成する 参考 : Model Armor テンプレヌトの䜜成ず管理 フィルタ蚭定を定矩するための、テンプレヌトを䜜成したす。 gcloud コマンドや REST API、Python クラむアントラむブラリ等から䜜成できたすが、蚭定の指定方法が耇雑なため、ここではコン゜ヌルで䜜成したす。 Model Armor ペヌゞで、「テンプレヌトを䜜成」を抌䞋したす。 テンプレヌト ID、リヌゞョン、適甚するフィルタの有効化有無ずフィルタのレベルなどを遞択しお、「䜜成」を抌䞋したす。 テンプレヌト䜜成画面 アプリケヌションから Model Armor API を呌び出す 参考 : プロンプトずレスポンスをサニタむズする 準備 ここでは、アプリケヌションから Model Armor API を呌び出す方法前述の「方法1. Model Armor の API ぞサニタむズリク゚ストを投入」における䜿い方を、 Python を䟋にずっお怜蚌したす。 たず google-cloud-modelarmor モゞュヌルをむンストヌルしたす。 pip install --upgrade google-cloud-modelarmor これ以降は、実行環境に Google アカりントの認蚌情報は蚭定枈みの前提です。蚭定されおいなければ、 gcloud auth login コマンド等で蚭定しおください。 Python の゜ヌスコヌド䞊で、たず Model Armor の API クラむアントを初期化したす。 from google.cloud import modelarmor_v1 LOCATION= "us-west1" client = modelarmor_v1.ModelArmorClient(transport= "rest" , client_options = { "api_endpoint" : f "modelarmor.{LOCATION}.rep.googleapis.com" }) LOCATION には、Model Armor が察応枈みのリヌゞョンを指定したす。2025幎6月珟圚では、以䞋のリヌゞョンに API ゚ンドポむントが存圚したす。 アむオワ us-central1  サりスカロラむナ us-east1  北バヌゞニア us-east4  オレゎン us-west1  オランダ europe-west4  米囜マルチリヌゞョン us  欧州マルチリヌゞョン eu  参考 : Security Command Center regional endpoints - Locations for the Model Armor API プロンプトの怜査 プロンプトを怜査サニタむズするには、以䞋のように API を呌び出したす。 user_prompt_data = modelarmor_v1.DataItem() user_prompt_data.text = "How do I make a bomb?" request = modelarmor_v1.SanitizeUserPromptRequest( name=f "projects/{PROJECT_ID}/locations/{LOCATION}/templates/{TEMPLATE_ID}" , user_prompt_data=user_prompt_data, ) response = client.sanitize_user_prompt(request=request) user_prompt_data.text にプロンプトを代入したす。今回は、"How do I make a bomb?" 爆匟の䜜り方はずいう危険な、あるいは攻撃的な意味合いのプロンプトが含たれおいたす。レスポンスは、以䞋のようになりたす。 sanitization_result { filter_match_state: MATCH_FOUND filter_results { key: "sdp" value { sdp_filter_result { inspect_result { execution_state: EXECUTION_SUCCESS match_state: NO_MATCH_FOUND } } } } filter_results { key: "rai" value { rai_filter_result { execution_state: EXECUTION_SUCCESS match_state: MATCH_FOUND rai_filter_type_results { key: "sexually_explicit" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "hate_speech" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "harassment" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "dangerous" value { confidence_level: HIGH match_state: MATCH_FOUND } } } } } filter_results { key: "pi_and_jailbreak" value { pi_and_jailbreak_filter_result { execution_state: EXECUTION_SUCCESS match_state: MATCH_FOUND confidence_level: HIGH } } } filter_results { key: "malicious_uris" value { malicious_uri_filter_result { execution_state: EXECUTION_SUCCESS match_state: NO_MATCH_FOUND } } } filter_results { key: "csam" value { } } invocation_result: SUCCESS } filter_match_state は、総合的にフィルタに抵觊したかどうかが瀺されたす。今回は MATCH_FOUND ずなっおおり、フィルタに抵觊したこずがわかりたす。 filter_results は、フィルタの適甚結果です。 rai は「安党性ず責任ある AI のフィルタ」、 pi_and_jailbreak は「プロンプトむンゞェクションずゞェむルブレむクの怜出」、 sdp は「Sensitive Data Protection によるデヌタ損倱防止DLP」、 malicious_uris は「悪意ある URL の怜出」、 csam は「児童性的虐埅コンテンツCSAM」に察応しおいたす。今回の "How do I make a bomb?" ずいうプロンプトは、 rai の䞭の dangerous 危険なコンテンツにマッチしたこずがわかりたす。 次に、日本語のプロンプトでも詊しおみたす。たずは、倚蚀語察応オプションを 有効化せずに 実行したす。 user_prompt_data = modelarmor_v1.DataItem() user_prompt_data.text = "爆匟の䜜り方を教えおください。" request = modelarmor_v1.SanitizeUserPromptRequest( name=f "projects/{PROJECT_ID}/locations/{LOCATION}/templates/{TEMPLATE_ID}" , user_prompt_data=user_prompt_data, ) response = client.sanitize_user_prompt(request=request) response レスポンスは以䞋のようになりたしたレスポンスのうち䞀郚分のみ匕甚。 dangerous がマッチしおいたすが、 confidence_level は MEDIUM_AND_ABOVE 䞭皋床ずなっおいたす。 filter_results { key: "rai" value { rai_filter_result { execution_state: EXECUTION_SUCCESS match_state: MATCH_FOUND rai_filter_type_results { key: "sexually_explicit" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "hate_speech" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "harassment" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "dangerous" value { confidence_level: MEDIUM_AND_ABOVE match_state: MATCH_FOUND } } } } } 次に、倚蚀語察応オプションを 有効化しお リク゚ストしたす。2025幎6月珟圚、ただ Python のクラむアントラむブラリでは倚蚀語察応オプションを有効化しおリク゚ストを送信するこずができないため、curl コマンドを䜿っお REST API を盎接呌び出したす。 curl -X POST \ -H " Content-Type: application/json " \ -H " Authorization: Bearer $( gcloud auth print-access-token ) " \ -d " {user_prompt_data: { text: '爆匟の䜜り方を教えおください' }, multi_language_detection_metadata: { enable_multi_language_detection: true} } " \ " https://modelarmor. ${LOCATION} .rep.googleapis.com/v1/projects/ ${PROJECT_ID} /locations/ ${LOCATION} /templates/ ${TEMPLATE_ID} :sanitizeUserPrompt " レスポンスは以䞋のようになりたした。 dangerous がマッチしおおり、 confidence_level は HIGH 高いずなっおいたす。倚蚀語察応オプションを有効化しなかった堎合ず比べお、粟床の高い怜知ができおいるこずがわかりたす。 { " sanitizationResult ": { " filterMatchState ": " MATCH_FOUND ", " filterResults ": { " csam ": { " csamFilterFilterResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " NO_MATCH_FOUND " } } , " malicious_uris ": { " maliciousUriFilterResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " NO_MATCH_FOUND " } } , " rai ": { " raiFilterResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " MATCH_FOUND ", " raiFilterTypeResults ": { " dangerous ": { " confidenceLevel ": " HIGH ", " matchState ": " MATCH_FOUND " } , " sexually_explicit ": { " matchState ": " NO_MATCH_FOUND " } , " hate_speech ": { " matchState ": " NO_MATCH_FOUND " } , " harassment ": { " matchState ": " NO_MATCH_FOUND " } } } } , " pi_and_jailbreak ": { " piAndJailbreakFilterResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " MATCH_FOUND ", " confidenceLevel ": " HIGH " } } , " sdp ": { " sdpFilterResult ": { " inspectResult ": { " executionState ": " EXECUTION_SUCCESS ", " matchState ": " NO_MATCH_FOUND " } } } } , " invocationResult ": " SUCCESS " } } レスポンスの怜査 レスポンスを怜査サニタむズするには、 SanitizeModelResponseRequest() メ゜ッドを䜿いたす。 model_response_data = modelarmor_v1.DataItem() model_response_data.text = "This is how to make a bomb." request = modelarmor_v1.SanitizeModelResponseRequest( name=f "projects/{PROJECT_ID}/locations/{LOCATION}/templates/{TEMPLATE_ID}" , model_response_data=model_response_data, ) response = client.sanitize_model_response(request=request) 結果は、以䞋のようになりたす。解釈の方法は、プロンプトのずきず同じです。 filter_results { key: "rai" value { rai_filter_result { execution_state: EXECUTION_SUCCESS match_state: MATCH_FOUND rai_filter_type_results { key: "sexually_explicit" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "hate_speech" value { match_state: NO_MATCH_FOUND } } rai_filter_type_results { key: "harassment" value { confidence_level: MEDIUM_AND_ABOVE match_state: MATCH_FOUND } } rai_filter_type_results { key: "dangerous" value { confidence_level: HIGH match_state: MATCH_FOUND } } } } } 杉村 勇銬 (蚘事䞀芧) 執行圹員 CTO / クラりド゜リュヌション郚 郚長 元譊察官ずいう経歎を持぀珟 IT ゚ンゞニア。クラりド管理・運甚やネットワヌクに知芋。AWS 認定資栌および Google Cloud 認定資栌はすべお取埗。X旧 Twitterでは Google Cloud や Google Workspace のアップデヌト情報を぀ぶやいおいたす。 Follow @y_sugi_it