Agen penemuan Katalog Pengetahuan adalah asisten yang didukung AI yang meningkatkan relevansi penelusuran untuk kueri natural language yang kompleks berdasarkan kemampuan penelusuran Katalog Pengetahuan. Dengan mengoptimalkan pemahaman dan perumusan kueri, API ini memberikan hasil yang lebih akurat daripada Knowledge Catalog Search API standar. Kemampuan ini sangat penting, terutama untuk kueri yang kompleks atau panjang.
Kasus penggunaan
Agen penemuan memberikan pengalaman percakapan yang kaya untuk skenario seperti:
- Inten dan batasan yang kompleks atau gabungan: Menangani permintaan penelusuran dengan beberapa kriteria, seperti menemukan set data di
us-central1tetapi mengecualikan resource di BigQuery. - Penelusuran berorientasi bisnis: Menemukan aset data berdasarkan maksud dan konteks bisnis, bukan mencocokkan istilah teknis yang persis.
- Eksplorasi bolak-balik: Memperbaiki penelusuran Anda melalui dialog percakapan untuk mempersempit hasil.
Agen penemuan dibangun di atas penelusuran semantik Katalog Pengetahuan yang menyediakan penelusuran campuran siap pakai. Anda dapat terus menggunakan penelusuran semantik Knowledge Catalog secara langsung saat perlu memproses penelusuran dengan niat tinggi (saat Anda mengetahui resource atau kolom tertentu), persyaratan latensi rendah, atau penelusuran hibrida tanpa penyiapan.
Cara kerjanya
Agen penemuan melakukan langkah-langkah berikut untuk merespons kueri penelusuran:
- Menganalisis input untuk memahami maksud kueri, membuat beberapa variasi penelusuran, dan memetakan istilah ke filter metadata.
- Menelusuri resource menggunakan penelusuran semantik Knowledge Catalog.
- Menentukan peringkat hasil gabungan berdasarkan relevansi.
Diagram berikut memberikan detail prosesnya:
Agen mengandalkan Knowledge Catalog Search API untuk mengambil Google Cloud resource yang relevan. Cuplikan kode berikut menunjukkan cara agen memanggil penelusuran semantik Knowledge Catalog:
# Configure the request parameters for the
# call to Knowledge Catalog Semantic Search API.
endpoint = "dataplex.googleapis.com"
client = dataplex_v1.CatalogServiceClient(
client_options={"api_endpoint": endpoint}
)
location = "global"
consumer_project_id = "my-gcp-project"
parent_name = f"projects/{consumer_project_id}/locations/{location}"
# Call Knowledge Catalog Semantic Search API.
response = client.search_entries(
request={
"name": parent_name,
"query": query,
"page_size": 50,
"semantic_search": True,
}
)
# Extract useful metadata to share with the agent.
entries = [
{
"entry_name": result.dataplex_entry.name,
"system": result.dataplex_entry.entry_source.system,
"resource_id": result.dataplex_entry.entry_source.resource,
"display_name": result.dataplex_entry.entry_source.display_name,
}
for result in response.results
]
return {"results": entries}
Sebelum memulai
Untuk menjalankan agen penemuan Knowledge Catalog, pastikan Anda memenuhi persyaratan berikut:
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menggunakan agen penemuan, minta administrator untuk memberi Anda peran IAM berikut di Google Cloud project iam.gserviceaccount.comAnda:
-
Pelihat Dataplex (
roles/dataplex.viewer) -
Vertex AI User (
roles/aiplatform.user) -
Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menggunakan agen penemuan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menggunakan agen penemuan:
-
dataplex.projects.search -
aiplatform.endpoints.predict -
serviceusage.services.use
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mengaktifkan API
Untuk menggunakan agen penemuan Knowledge Catalog, aktifkan API berikut di project Anda: Knowledge Catalog API, Vertex AI API, dan Service Usage API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin
(roles/serviceusage.serviceUsageAdmin),
yang berisi izin serviceusage.services.enable. Pelajari cara memberikan
peran.
Menyiapkan lingkungan
Untuk menyiapkan lingkungan pengembangan agen penemuan, lakukan hal berikut:
Buat clone repositori
dataplex-labs.git clone https://github.com/GoogleCloudPlatform/dataplex-labs.gitUbah ke direktori agen:
cd dataplex-labs/knowledge_catalog_discovery_agentBuat dan aktifkan Lingkungan Virtual Python, lalu instal dependensi yang tercantum dalam file
requirements.txt:google-adk(Agent Development Kit)google-cloud-dataplex(Klien Python Knowledge Catalog)google-api-core
python3 -m venv /tmp/kcsearch source /tmp/kcsearch/bin/activate pip3 install -r requirements.txtSiapkan variabel lingkungan dengan perintah berikut:
export GOOGLE_CLOUD_PROJECT=PROJECT_ID export GOOGLE_GENAI_USE_VERTEXAI=TrueGanti kode berikut:
PROJECT_IDdengan ID project Anda
Menjalankan agen penemuan sebagai agen root
Untuk menjalankan agen penemuan secara langsung sebagai agen root, lakukan hal berikut:
- Di file
agent.pyyang ada di folderknowledge_catalog_discovery_agent, ganti nama variabeldiscovery_agentmenjadiroot_agent. Jalankan agen menggunakan perintah
adk run:adk run path/to/agent/parent/folderGanti kode berikut:
path/to/agent/parent/folderdengan direktori induk yang berisi folder dengan agen Anda. Misalnya, jika agen Anda berada diknowledge_catalog_discovery_agent/, jalankanadk rundari direktoriagents/.
Menjalankan agen penemuan sebagai sub-agen
Untuk mengintegrasikan agen penemuan ke dalam agen kustom yang lebih besar, seperti my_custom_agent, lakukan hal berikut:
Siapkan struktur project Anda untuk memuat modul agen penemuan:
my_custom_agent/ ├── agent.py └── knowledge_catalog_discovery_agent/ ├── SKILL.md ├── agent.py ├── tools.py └── utils.pyDalam file
agent.pyagen kustom Anda, impor agen penemuan dan gunakan sebagai alat agen. Lihat contoh:root_agent = llm_agent.Agent( model=google_llm.Gemini(model=GEMINI_MODEL), name="my_custom_agent", instruction=( "You are a Custom Agent. Your goal is to help users understand" " their data landscape, evaluate data assets, and derive insights" " from available resources. **IMPORTANT**: You should use the" " `knowledge_catalog_discovery_agent` to search for and discover" " data assets. For best results, pass in the Natural Language user'" " query as is to the `knowledge_catalog_discovery_agent`. Once assets" " are found, you should analyze their metadata, compare them, and" " provide recommendations or summaries to the user to help them make" " decisions. Focus on general metadata summary and comparison." ), tools=[ agent_tool.AgentTool(discovery_agent), ], )Jalankan agen menggunakan perintah
adk run:adk run path/to/agent/parent/folderGanti kode berikut:
path/to/agent/parent/folderdengan direktori induk yang berisi foldermy_custom_agent/Anda. Misalnya, jika agen Anda berada diagents/my_custom_agent/, jalankanadk rundari direktoriagents/.
Langkah berikutnya
- Pahami sintaksis penelusuran untuk Knowledge Catalog.
- Pelajari lebih lanjut Agent Development Kit.