ã¯ããã«
ãã®èšäºã¯ãGoogle ADK ã«ãããã«ããšãŒãžã§ã³ã瀟å ITãã«ããã¹ã¯æ§ç¯ã顿ã«ããå š4åã·ãªãŒãºã®ç¬¬2åã§ãã
| å | ããŒã |
|---|---|
| 第1å | Gemini CLI ã§ãšãŒãžã§ã³ããåãããŠã¿ã |
| 第2åïŒæ¬èšäºïŒ | ADK ã§ãã«ããšãŒãžã§ã³ããæ§ç¯ã Google Cloud ã«ãããã€ãã |
| 第3å | ADK ãã«ããšãŒãžã§ã³ãã BigQuery ãšé£æºããã |
| 第4å | Vertex AI Evaluation ã§ ADK ãã«ããšãŒãžã§ã³ãã®å¿çåè³ªãæž¬ã |
ååã§ã¯ãGemini CLI ã䜿ã£ãŠ GEMINI.md 1ã€ã§ ITãã«ããã¹ã¯ãšãŒãžã§ã³ããåããããšãŒãžã§ã³ãã®åºæ¬çãªåããäœæããŸããã
åæã«ãã·ã³ã°ã«ãšãŒãžã§ã³ãã«ã¯ç©è¶³ããªããæããå Žé¢ãåºãŠããŸããïŒFAQ ããŒã¿ãåç
§ã§ããªãã»äŒè©±ã®æèãç¶ããªãã»è€ååé¡ãåäžãšãŒãžã§ã³ããå
šéšåŒãåããŠããŸãïŒã
æ¬èšäºã§ã¯ãã®ç©è¶³ããªããè§£æ¶ããŠãããŸããGoogle ADKïŒAgent Development KitïŒã䜿ãããã«ãŒã¿ãŒã»FAQæ€çŽ¢ã»ãšã¹ã«ã¬ãŒã·ã§ã³ãã®3ã€ã®ãšãŒãžã§ã³ãã飿ºãããã«ããšãŒãžã§ã³ãã·ã¹ãã ãæ§ç¯ããGoogle Cloud ã«ãããã€ããŸãã
Google ADK ãšã¯
Google ADKïŒAgent Development KitïŒ ã¯ãGoogle ãæäŸãããšãŒãžã§ã³ãéçºçšã® Python ãã¬ãŒã ã¯ãŒã¯ã§ãã
| ç¹åŸŽ | å 容 |
|---|---|
| ãã«ããšãŒãžã§ã³ãå¯Ÿå¿ | sub_agents ã§ãšãŒãžã§ã³ãã®èŠªåæ§é ãå®çŸ©ã§ãã |
| ããŒã«é£æº | Python 颿°ãããŒã«ãšããŠãšãŒãžã§ã³ãã«æž¡ãã |
| Google Cloud ãšçŽçµ | Vertex AI Agent Engine ã«æ°è¡ã§ãããã€ã§ãã |
| ããŒã«ã«å®è¡å¯Ÿå¿ | Runner ã¯ã©ã¹ã§ããŒã«ã«ç°å¢ã§ãåäœç¢ºèªã§ãã |
第1åã¯ãã¡ã€ã«1æã§ãšãŒãžã§ã³ããåãããŸããããADK ã§ã¯ã³ãŒããæžãåã ãèªç±åºŠãäžãããŸãã
æ§ç¯ããã·ã¹ãã
ãŠãŒã¶ãŒåãåãã
â
â ã«ãŒã¿ãŒãšãŒãžã§ã³ãïŒåä»ã»åé¡ïŒ
ââ â¡ FAQæ€çŽ¢ãšãŒãžã§ã³ãïŒBigQueryç
§äŒ â åççæïŒ
ââ ⢠ãšã¹ã«ã¬ãŒã·ã§ã³ãšãŒãžã§ã³ãïŒãã±ããçæïŒ
ADK ã®ãšãŒãžã§ã³ãã¯èŠªåæ§é ã§ç¹ãããŸãã芪ãšãŒãžã§ã³ãããŠãŒã¶ãŒã®å
¥åãåãåããsub_agents ãšããŠç»é²ãããåãšãŒãžã§ã³ãã«åŠçãä»»ããããšããæµãã§ãã
åãšãŒãžã§ã³ãã¯ããã«å«ãšãŒãžã§ã³ããæãŠãã®ã§ã3段é以äžã®ãã§ãŒã³ãäœããŸãã
*æ¬èšäºã§ã¯ã¢ãã¯ããŒã¿ã䜿ã£ãŠæ§é ã ããäœããåäœã確èªããŸãã
article2-adk-multiagent/ âââ agents/ â âââ __init__.py â âââ escalation.py â ⢠ãšã¹ã«ã¬ãŒã·ã§ã³ãšãŒãžã§ã³ã â âââ faq_searcher.py â â¡ FAQæ€çŽ¢ãšãŒãžã§ã³ãïŒã¢ãã¯ããŒã¿ïŒ â âââ router.py â â ã«ãŒã¿ãŒãšãŒãžã§ã³ãïŒãšã³ããªãŒãã€ã³ãïŒ âââ .env â ç°å¢å€æ°ïŒGoogle Cloud ãããžã§ã¯ãèšå®ïŒ âââ demo.py â ããŒã«ã«åäœç¢ºèªã¹ã¯ãªãã âââ deploy.py â Vertex AI Agent Engine ãããã€ã¹ã¯ãªãã âââ requirements.txt
å®è£
⢠ãšã¹ã«ã¬ãŒã·ã§ã³ãšãŒãžã§ã³ãïŒescalation.pyïŒ
ä»ã®ãšãŒãžã§ã³ããåŒã³åºããªãäžçªã·ã³ãã«ãªæ§é ãªã®ã§ãããããäœããŸãã
from google.adk.agents import Agent
escalation_agent = Agent(
name="escalation_agent",
model="gemini-2.5-flash",
description=(
"FAQ ã§è§£æ±ºã§ããªãã£ãåãåãããã管çè
æš©éã»ç©çé害ã»"
"ã»ãã¥ãªãã£ã€ã³ã·ãã³ããå¿
èŠãªè€éãªã±ãŒã¹ãæ
åœããã"
"æäººå¯Ÿå¿ãã±ãããçæããŠåŒãç¶ãã¡ãã»ãŒãžãè¿ãã"
),
instruction="""
ããªãã¯ç€Ÿå
IT ãã«ããã¹ã¯ã®ãšã¹ã«ã¬ãŒã·ã§ã³æ
åœãšãŒãžã§ã³ãã§ãã
FAQ æ€çŽ¢ãšãŒãžã§ã³ãã解決ã§ããªãã£ãåãåãããåãåããæäººå¯Ÿå¿ãã±ãããäœæããŸãã
ãæäººå¯Ÿå¿ãã±ããã
ã«ããŽãªïŒïŒåãåããã®ã«ããŽãªïŒ
èŠçŽïŒïŒåãåããå
容ã 1ã2 æã§èŠçŽïŒ
ç·æ¥åºŠïŒé« / äž / äœ
""",
)
description ã¯ã芪ãšãŒãžã§ã³ãããã©ã®ã±ãŒã¹ã§ãã®åãšãŒãžã§ã³ããåŒã¶ããã倿ããããã®èª¬ææã§ããLLM ããã®ããã¹ããèªãã§ããã®ãšãŒãžã§ã³ãã«ä»»ããã¹ããããèããŸãã
ã³ãŒãã¯æç²ã§ããå®è£ ã§ã¯
instructionã«åºåãã©ãŒããããšãç·æ¥åºŠïŒé« / äž / äœïŒã®å€å®åºæºïŒäŸïŒé«ïŒã»ãã¥ãªãã£ã€ã³ã·ãã³ãçãã»æ¥å忢ïŒãç¶ããŠæžããŠããŸãã
â¡ FAQæ€çŽ¢ãšãŒãžã§ã³ãïŒfaq_searcher.pyïŒ
from google.adk.agents import Agent
from agents.escalation import escalation_agent
# ã¢ã㯠FAQ ããŒã¿ïŒèšäº3ã§ BigQuery ã«å·®ãæ¿ããïŒ
# å®éã«ã¯ãããã¯ãŒã¯ã»ã¢ã«ãŠã³ãã»ããŒããŠã§ã¢ã»ãœãããŠã§ã¢ã®4ã«ããŽãªåãçšæ
MOCK_FAQ_DATA = [
{
"faq_id": "NW-001",
"category": "ãããã¯ãŒã¯ç³»",
"question": "VPN ã«æ¥ç¶ã§ããªã / èªèšŒãšã©ãŒãåºã",
"answer": "...",
"keywords": "VPN,æ¥ç¶ã§ããªã,èªèšŒãšã©ãŒ,ãã°ã€ã³ã§ããªã",
},
# ... ä»3ã«ããŽãªïŒã¢ã«ãŠã³ãã»ããŒããŠã§ã¢ã»ãœãããŠã§ã¢ïŒãåã圢åŒã§çšæ
]
def search_faq(query: str) -> str:
"""FAQ ããŒã¿ãããŒã¯ãŒãæ€çŽ¢ãã"""
query_lower = query.lower()
for faq in MOCK_FAQ_DATA:
keywords = faq["keywords"].split(",")
if any(kw.strip() in query_lower for kw in keywords):
return f"ã«ããŽãªïŒ{faq['category']}\n\nãFAQ ID: {faq['faq_id']}ã\n..."
return "該åœãã FAQ ãèŠã€ãããŸããã§ããã"
faq_searcher_agent = Agent(
name="faq_searcher_agent",
model="gemini-2.5-flash",
description="ãããã¯ãŒã¯ã»ã¢ã«ãŠã³ãã»ããŒããŠã§ã¢ã»ãœãããŠã§ã¢ã«é¢ãã IT åãåããã FAQ ããæ€çŽ¢ããŠåçããã",
instruction="search_faq ããŒã«ã§æ€çŽ¢ããFAQ ãèŠã€ãã£ãå Žåã¯åçãããèŠã€ãããªãå Žå㯠escalation_agent ã«åŒãç¶ãã",
tools=[search_faq], # Python 颿°ãããŒã«ãšããŠæž¡ã
sub_agents=[escalation_agent], # 解決ã§ããªãå Žåã¯ãšã¹ã«ã¬ãŒã·ã§ã³ãž
)
tools=[search_faq] ãšæžãã ãã§ãsearch_faq 颿°ããšãŒãžã§ã³ããããåŒã³åºããããŒã«ããšããŠæ±ãããŸãã
LLM ãäŒè©±ã®æµããããããŸããŒã«ãåŒã¶ã¹ãããã倿ããŠãå¿
èŠãªã颿°ãå®è¡ããŠãããŸãã
ã³ãŒãã¯æç²ã§ããå®è£ ã§ã¯
instructionã«åœ¹å²ã»åç圢åŒã»æ³šæäºé ïŒFAQ ã«ãªãæ å ±ãåæã«è£ããªããèŠã€ãããªãå Žåã¯å¿ ãescalation_agentã«åŒãç¶ãçïŒã现ããæžããŠããŸãã
â ã«ãŒã¿ãŒãšãŒãžã§ã³ãïŒrouter.pyïŒ
from google.adk.agents import Agent
from agents.faq_searcher import faq_searcher_agent
router_agent = Agent(
name="router_agent",
model="gemini-2.5-flash",
description="瀟å
IT ãã«ããã¹ã¯ã®ã«ãŒã¿ãŒãšãŒãžã§ã³ãã",
instruction="""
ãã¹ãŠã® IT åãåãããåãåããfaq_searcher_agent ã«æ¯ãåããŸãã
faq_searcher_agent ã FAQ ç
§äŒã»åççæã»ãšã¹ã«ã¬ãŒã·ã§ã³å€å®ãæ
åœããŸãã
èªåã§åçãçæãããå¿
ã faq_searcher_agent ã«æ¯ãåããããšã
""",
sub_agents=[faq_searcher_agent],
)
# ãšã³ããªãŒãã€ã³ãïŒADK ãèªèããã«ãŒããšãŒãžã§ã³ãïŒ
root_agent = router_agent
sub_agents ã«ç»é²ãããåãšãŒãžã§ã³ãã¯ã芪ãšãŒãžã§ã³ããããåŒã³åºããçžæããšããŠæ±ãããŸãã
ã«ãŒã¿ãŒããã©ã®åãšãŒãžã§ã³ãã«ä»»ãããããããŠãŒã¶ãŒã®åãåããå
容ãšåãšãŒãžã§ã³ãã® description ãèªãã§å€æããŸãã
ã³ãŒãã¯æç²ã§ããå®è£ ã§ã¯
instructionã«å¯Ÿå¿ã«ããŽãªïŒãããã¯ãŒã¯ã»ã¢ã«ãŠã³ãã»ããŒããŠã§ã¢ã»ãœãããŠã§ã¢ã»ã»ãã¥ãªãã£ïŒã®äžèЧãšãã«ãŒã¿ãŒèªèº«ã¯åçãçæããªãã«ãŒã«ãæèšããŠããŸãã
ããŒã«ã«ã§åãã
ADK ã§ã¯ Runner ã«ã«ãŒããšãŒãžã§ã³ããæž¡ããã»ãã·ã§ã³ãäœã£ãŠåãåãããæµãæ§æã«ãªããŸãã
from google.adk.runners import Runner
from google.adk.sessions import InMemorySessionService
from agents.router import root_agent
runner = Runner(agent=root_agent, app_name="helpdesk_demo",
session_service=InMemorySessionService())
# session äœæ â runner.run_async() ã«åãåãããæž¡ãã
# event.is_final_response() ã§æçµåçãæŸã
.env ãã¡ã€ã«ã§ Vertex AI ãžã®æ¥ç¶å
ãèšå®ããŸãã
GOOGLE_GENAI_USE_VERTEXAI=1 GOOGLE_CLOUD_PROJECT=your-project-id GOOGLE_CLOUD_LOCATION=us-central1
å®è¡çµæ
python demo.py ã§ãçšæãã4ã±ãŒã¹ãé ã«æããŠæåã確èªããŸããã代衚ãšããŠãFAQ ã§è§£æ±ºã§ããã±ãŒã¹ããšããšã¹ã«ã¬ãŒã·ã§ã³ãå¿
èŠãªã±ãŒã¹ãã1ä»¶ãã€èŒããŸãã
FAQ ã§è§£æ±ºã§ããã±ãŒã¹ïŒVPN èªèšŒãšã©ãŒïŒ
ãŠãŒã¶ãŒ: VPN ã«æ¥ç¶ããããšãããšèªèšŒãšã©ãŒãåºãŠæ¥ç¶ã§ããŸãã ãšãŒãžã§ã³ã: ã«ããŽãªïŒãããã¯ãŒã¯ç³» 以äžã®æé ãã詊ããã ããïŒ 1. Caps Lock ããªãã«ãªã£ãŠããã確èªãã 2. ãã¹ã¯ãŒããåå ¥åãã 3. MFA ã¢ããªã®èªèšŒã³ãŒããææ°ã確èªãã 4. å¥ã®ãããã¯ãŒã¯ïŒãã¶ãªã³ã°çïŒã«åãæ¿ããŠè©Šã äžèšã§è§£æ±ºããªãå Žå㯠IT æ åœè ãžãåãåãããã ããã
ãšã¹ã«ã¬ãŒã·ã§ã³ãå¿ èŠãªã±ãŒã¹ïŒã»ãã¥ãªãã£ã€ã³ã·ãã³ãïŒ
ãŠãŒã¶ãŒ: èªåã®ã¢ã«ãŠã³ãã§èº«ã«èŠãã®ãªããã°ã€ã³å±¥æŽããããŸã ãšãŒãžã§ã³ã: ç³ãèš³ããããŸããããåãåããã®å 容ã«ã€ããŠãèªå察å¿ã§ã®è§£æ±ºãé£ããç¶æ³ã§ãã IT æ åœè ãžåŒãç¶ããŸãã®ã§ã以äžã®ãã±ããæ å ±ãã確èªãã ããã ãæäººå¯Ÿå¿ãã±ããã ã«ããŽãªïŒã»ãã¥ãªã㣠èŠçŽïŒã¢ã«ãŠã³ãã«èº«ã«èŠãã®ãªããã°ã€ã³å±¥æŽããã ç·æ¥åºŠïŒé«
ä»2ã±ãŒã¹ïŒãã¹ã¯ãŒããªã»ããã»å
šç€Ÿé害ïŒãæåŸ
ã©ããããããã FAQ åçãšãšã¹ã«ã¬ãŒã·ã§ã³ãã±ãããè¿ããŸãããã«ãŒã¿ãŒ â FAQæ€çŽ¢ â ãšã¹ã«ã¬ãŒã·ã§ã³ãšãã3段éã®åŒãæž¡ãããif æã«ããã«ãŒã«ã1è¡ãæžããã« LLM ã®å€æã ãã§åããŠããŸãã
Google Cloud ãžã®ãããã€ïŒVertex AI Agent EngineïŒ
ããŒã«ã«ã§åäœç¢ºèªã§ãããšãŒãžã§ã³ãããdeploy.py ã§ Google Cloud ã«ãããã€ããŸãã
äºåæºåïŒã¹ããŒãžã³ã°çš GCS ãã±ããã®äœæ
Vertex AI Agent Engine ã¯ãããã€æã«ã³ãŒããäŸåé¢ä¿ã Cloud Storage çµç±ã§åãæž¡ããããã¹ããŒãžã³ã°çšãã±ãããå¿
é ã§ãããã±ããåã¯äžæãªã®ã§ãhelpdesk-agent-staging-<ä»»æã®æåå> ã®ããã«èªåã®ç°å¢ã§éè€ããªãååã«çœ®ãæããŠãã ããã
gcloud storage buckets create gs://helpdesk-agent-staging-<ä»»æã®åºææåå> \
--project=your-project-id \
--location=us-central1 \
--uniform-bucket-level-access
.env ã®è¿œèš
ããŒã«ã«å®è¡æã® .env ã«ãã¹ããŒãžã³ã°ãã±ããã1è¡è¿œèšããŸãã
GOOGLE_CLOUD_STAGING_BUCKET=gs://helpdesk-agent-staging-<ä»»æã®åºææåå>
deploy.py
import os
import vertexai
from dotenv import load_dotenv
from vertexai import agent_engines
from agents.router import root_agent
# .env ã®å€ãã·ã§ã«ç°å¢å€æ°ããåªå
ïŒã·ã§ã«ã«å€ã GOOGLE_CLOUD_LOCATION
# ãæ®ã£ãŠããŠæå³ããªããªãŒãžã§ã³ã«é£ã¶äºæ
ãé²ãïŒ
load_dotenv(override=True)
vertexai.init(
project=os.environ["GOOGLE_CLOUD_PROJECT"],
location=os.environ["GOOGLE_CLOUD_LOCATION"],
staging_bucket=os.environ["GOOGLE_CLOUD_STAGING_BUCKET"],
)
# ãšãŒãžã§ã³ãã AdkApp ã§ã©ããïŒAgent Engine ãèªèã§ãã圢åŒã«å€æïŒ
adk_app = agent_engines.AdkApp(agent=root_agent, enable_tracing=True)
# extra_packages: agents/ ããã±ãŒãžãã³ã³ããã«å梱
# ïŒããããªããš Reasoning Engine ç°å¢ã§ from agents.router import ... ã«å€±æããïŒ
remote_agent = agent_engines.create(
adk_app,
requirements=[
"google-adk>=1.0.0",
"google-cloud-aiplatform[agent_engines,adk]>=1.93.0",
],
extra_packages=["agents"],
display_name="IT ãã«ããã¹ã¯ ãã«ããšãŒãžã§ã³ã",
description="ã«ãŒã¿ãŒã»FAQæ€çŽ¢ã»ãšã¹ã«ã¬ãŒã·ã§ã³ã®3ãšãŒãžã§ã³ãæ§æ",
)
print(f"ãããã€å®äº: {remote_agent.resource_name}")
ãããã©ãã
extra_packages=["agents"]ãå¿ãããšãã³ã³ããèµ·åæã«ModuleNotFoundError: No module named 'agents'ã§å€±æããŸããAdkAppã¯root_agentã pickle åããŠéããŸãããagents/ãã£ã¬ã¯ããªèªäœã¯å¥é忢±ããå¿ èŠããããŸããstaging_bucketãçç¥ãããšValueError: Please provide a staging_bucketã§åæ¢ããŸãïŒæè¿ã® SDK ã§å¿ é åãããŸããïŒã- ã·ã§ã«ç°å¢å€æ°
GOOGLE_CLOUD_LOCATIONãªã©ãæ¢ã«èšå®ãããŠãããš.envã®å€ããåªå ããããããload_dotenv(override=True)ã§.envãé©çšããã®ãå®å šã§ãã
å®è¡çµæ
$ python deploy.py ïŒagent_engine.pklã»requirements.txtã»dependencies.tar.gz ãã¹ããŒãžã³ã°ãžã¢ããããŒãïŒ Creating AgentEngine Create AgentEngine backing LRO: projects/<YOUR_PROJECT_NUMBER>/locations/us-central1/reasoningEngines/<YOUR_REASONING_ENGINE_ID>/operations/... ãããã€å®äº: projects/<YOUR_PROJECT_NUMBER>/locations/us-central1/reasoningEngines/<YOUR_REASONING_ENGINE_ID>
ã¹ããŒãžã³ã°ãžã®ã¢ããããŒãããã³ã³ãããã«ããReasoning Engine ã®èµ·åãŸã§ããããã€ã«ã¯5åã»ã©ããããŸããã
ãããã€ãããšãŒãžã§ã³ããåŒã³åºã
ãããã€ãããšãŒãžã§ã³ãã¯ããªãœãŒã¹åãã agent_engines.get() ã§ååŸããŠåŒã³åºããŸããã»ãã·ã§ã³ãäœã£ãŠãã stream_query ã§åãåãããéãæµãã§ãïŒADK ãšãŒãžã§ã³ã㯠streaming ã§çµæãåãåã圢ã®ã¿çšæãããŠããŸãïŒã
from vertexai import agent_engines
# `deploy.py` ã®å®è¡çµæã«åºåãããèªåã®ãªãœãŒã¹åã«çœ®ãæãã
remote_agent = agent_engines.get(
"projects/<YOUR_PROJECT_NUMBER>/locations/us-central1/reasoningEngines/<YOUR_REASONING_ENGINE_ID>"
)
session = remote_agent.create_session(user_id="blog-demo-user")
for event in remote_agent.stream_query(
user_id="blog-demo-user",
session_id=session["id"],
message="VPN ã«æ¥ç¶ã§ããŸãã",
):
for part in (event.get("content") or {}).get("parts", []):
if text := part.get("text"):
print(text, end="")
â»åé ã« load_dotenv(override=True) ãš vertexai.init(project=..., location=...) ãå¿
èŠã§ãã
ã¯ã©ãŠãåŽã§ã®å®è¡çµæïŒVPN èªèšŒãšã©ãŒã®ã±ãŒã¹ãæç²ãä»3ã±ãŒã¹ãããŒã«ã«ãšåãçµæã«ãªããŸããïŒ
ãŠãŒã¶ãŒ: VPN ã«æ¥ç¶ããããšãããšèªèšŒãšã©ãŒãåºãŠæ¥ç¶ã§ããŸãã ãšãŒãžã§ã³ã: ã«ããŽãªïŒãããã¯ãŒã¯ç³» 以äžã®æé ãã詊ããã ããïŒ 1. Caps Lock ããªãã«ãªã£ãŠããã確èªãã 2. ãã¹ã¯ãŒããåå ¥åãã 3. MFA ã¢ããªã®èªèšŒã³ãŒããææ°ã確èªãã 4. å¥ã®ãããã¯ãŒã¯ïŒãã¶ãªã³ã°çïŒã«åãæ¿ããŠè©Šã äžèšã§è§£æ±ºããªãå Žå㯠IT æ åœè ãžãåãåãããã ããã
ã³ã¹ã管ç
Reasoning Engine ã¯ãããã€ããç¬éãã課éãå§ãŸããŸããåäœç¢ºèªã ããªããçµãã£ããããåé€ããŠãããšå®å¿ã§ãã
gcloud ai reasoning-engines delete <RESOURCE_ID> \
--region=us-central1 \
--project=your-project-id
ãŸãšããšæ¬¡åã«ã€ããŠ
ADK ã䜿ã£ãŠ3ã€ã®ãšãŒãžã§ã³ãã飿ºãããã«ããšãŒãžã§ã³ãã·ã¹ãã ãæ§ç¯ããGoogle Cloud ã«ãããã€ã§ããŸããã
| ã§ããããš | 詳现 |
|---|---|
| ãã«ããšãŒãžã§ã³ãã®èŠªåæ§é | sub_agents ã§3ãšãŒãžã§ã³ãã飿º |
| ããŒã«é£æº | search_faq 颿°ããšãŒãžã§ã³ãã®ããŒã«ãšããŠçµ±å |
| ãšãŒãžã§ã³ãéã®æ¯ãåã | LLM ãã©ã®ãšãŒãžã§ã³ãã«ä»»ããããæèãã倿 |
| Google Cloud ãžã®ããã〠| Vertex AI Agent Engine ã«æ°è¡ã§ããã〠|
çŸæç¹ã§ã¯ FAQ ããŒã¿ã¯ã¢ãã¯ã§ãã
次å㯠BigQuery ã«å®éã® FAQ ããŒã¿ãæ ŒçŽããFAQæ€çŽ¢ãšãŒãžã§ã³ãã BigQuery ã«ã¯ãšãªãå®è¡ããæ§æã«å·®ãæ¿ããŸãã