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 dalam:
- Mengembangkan agen AG2: untuk mengembangkan
agent
sebagai instanceAG2Agent
. - Autentikasi pengguna untuk mengautentikasi sebagai pengguna guna membuat kueri agen.
- Impor dan inisialisasi SDK untuk melakukan inisialisasi klien guna mendapatkan instance yang di-deploy (jika diperlukan).
Mendapatkan instance agen
Untuk membuat kueri AG2Agent
, Anda harus
membuat instance baru atau
mendapatkan instance yang ada terlebih dahulu.
Untuk mendapatkan AG2Agent
yang sesuai dengan ID resource tertentu:
Vertex AI SDK untuk Python
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_ID
adalah Google Cloud project ID yang digunakan untuk mengembangkan dan men-deploy agen, danLOCATION
adalah salah satu wilayah yang didukung.RESOURCE_ID
adalah ID agen yang di-deploy sebagai resourcereasoningEngine
.
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_ID
Saat menggunakan Vertex AI SDK untuk Python, objek agent
sesuai dengan
class AgentEngine
yang berisi hal berikut:
agent.api_resource
dengan informasi tentang agen yang di-deploy. Anda juga dapat memanggilagent.operation_schemas()
untuk menampilkan daftar operasi yang didukung agen. Lihat Operasi yang didukung untuk mengetahui detailnya.agent.api_client
yang memungkinkan interaksi layanan sinkronagent.async_api_client
yang memungkinkan interaksi layanan asinkron
Bagian selanjutnya 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 giliran percakapan yang diizinkan. Saat menggunakan alat, diperlukan minimalmax_turns=2
: satu putaran untuk membuat argumen alat dan yang kedua untuk menjalankan alat.
Membuat kueri 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. Setara dengan 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.run
untuk mengetahui daftar lengkap parameter yang tersedia. Namun, perlu diingat bahwa
user_input
akan selalu diganti menjadi False
oleh template AG2Agent
.