Selain petunjuk umum untuk menggunakan agen,
halaman ini menjelaskan fitur yang khusus untuk AG2Agent.
Sebelum memulai
Tutorial ini mengasumsikan bahwa Anda telah membaca dan mengikuti petunjuk di:
- Membuat agen AG2: untuk membuat
agentsebagai instanceAG2Agent. - Autentikasi pengguna untuk mengautentikasi sebagai pengguna untuk membuat kueri ke agen.
- Mengimpor dan menginisialisasi SDK untuk menginisialisasi klien guna mendapatkan instance yang di-deploy (jika diperlukan).
Mendapatkan instance agen
Untuk membuat kueri ke AG2Agent, Anda harus terlebih dahulu
membuat instance baru atau
mendapatkan instance yang ada.
Untuk mendapatkan AG2Agent yang sesuai dengan ID resource tertentu:
SDK Agent Platform
Jalankan kode berikut:
import vertexai
client = vertexai.Client( # For service interactions via client.agent_engines
project="PROJECT_ID",
location="LOCATION",
)
agent = client.agent_engines.get(name="projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID")
print(agent)
di mana
PROJECT_IDadalah Google Cloud project ID tempat Anda membuat dan men-deploy agen, danLOCATIONadalah salah satu region yang didukung.RESOURCE_IDadalah ID agen yang di-deploy sebagaireasoningEngineresource.
Library permintaan Python
Jalankan kode berikut:
from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests
def get_identity_token():
credentials, _ = google_auth.default()
auth_request = google_requests.Request()
credentials.refresh(auth_request)
return credentials.token
response = requests.get(
f"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID",
headers={
"Content-Type": "application/json; charset=utf-8",
"Authorization": f"Bearer {get_identity_token()}",
},
)
REST API
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_IDSaat menggunakan SDK Agent Platform, objek agent sesuai dengan class AgentEngine yang berisi hal berikut:
agent.api_resourcedengan informasi tentang agen yang di-deploy. Anda juga dapat memanggilagent.operation_schemas()untuk menampilkan daftar operasi yang didukung olehagent. Lihat Operasi yang didukung untuk mengetahui detailnya.agent.api_clientyang memungkinkan interaksi layanan sinkronagent.async_api_clientyang memungkinkan interaksi layanan asinkron
Bagian ini mengasumsikan bahwa Anda memiliki instance AgentEngine, yang diberi nama agent.
Operasi yang didukung
Operasi berikut didukung untuk AG2Agent:
query: untuk mendapatkan respons terhadap kueri secara sinkron.
Metode query mendukung argumen:
input: pesan yang akan dikirim ke agen.max_turns: jumlah maksimum putaran percakapan yang diizinkan. Saat menggunakan alat, diperlukan minimalmax_turns=2: satu putaran untuk membuat argumen alat dan yang kedua untuk menjalankan alat.
Membuat kueri ke agen
Metode query() menyediakan cara yang lebih sederhana untuk berinteraksi dengan agen. Panggilan umum terlihat seperti ini:
response = agent.query(input="What is the exchange rate from US dollars to Swedish currency?", max_turns=2)
Metode ini menangani komunikasi yang mendasarinya dengan agen dan menampilkan respons akhir agen sebagai kamus. Metode ini setara dengan hal berikut (dalam bentuk lengkap):
from autogen import ConversableAgent
import dataclasses
import json
input_message: str = "What is the exchange rate from US dollars to Swedish currency?"
max_turns: int = 2
with agent._runnable._create_or_get_executor(
tools=agent._ag2_tool_objects, # Use the agent's existing tools
agent_name="user", # Default
agent_human_input_mode="NEVER", # query() enforces this
) as executor:
chat_result = executor.initiate_chat(
agent._runnable,
message=input_message,
max_turns=max_turns,
clear_history=False, # Default
summary_method="last_msg" # Default
)
response = json.loads(
json.dumps(dataclasses.asdict(chat_result)) # query() does this conversion
)
Anda dapat menyesuaikan perilaku agen di luar input dan max_turns dengan meneruskan argumen kata kunci tambahan ke query().
response = agent.query(
input="What is the exchange rate from US dollars to Swedish currency?",
max_turns=2,
msg_to="user" # Start the conversation with the "user" agent
)
print(response)
Lihat dokumentasi
ConversableAgent.rununtuk mengetahui daftar lengkap parameter yang tersedia.
Namun, perlu diingat bahwa
user_input akan selalu diganti menjadi False oleh template AG2Agent.