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
agentsebagai instanceAG2Agent. - Autentikasi pengguna untuk mengautentikasi sebagai pengguna guna membuat kueri agen.
- Impor dan inisialisasi SDK untuk menginisialisasi 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)
dengan
PROJECT_IDadalah Google Cloud project ID yang digunakan untuk mengembangkan dan men-deploy agen, danLOCATIONadalah salah satu wilayah 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 Vertex AI SDK untuk Python, 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 agen. Lihat Operasi yang didukung untuk mengetahui detailnya.agent.api_clientyang memungkinkan interaksi layanan sinkronagent.async_api_clientyang 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.
Mengirim 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. 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.