Utilizzare un agente AG2

Oltre alle istruzioni generali per l'utilizzo di un agente, questa pagina descrive le funzionalità specifiche di AG2Agent.

Prima di iniziare

Questo tutorial presuppone che tu abbia letto e seguito le istruzioni riportate in:

Operazioni supportate

Per AG2Agent sono supportate le seguenti operazioni:

  • query: per ottenere una risposta a una query in modo sincrono.

Il metodo query supporta gli argomenti:

  • input: il messaggio da inviare all'agente.
  • max_turns: il numero massimo di turni di conversazione consentiti. Quando utilizzi gli strumenti, sono necessari almeno max_turns=2: un turno per generare gli argomenti dello strumento e un secondo per eseguire lo strumento.

Interrogare l'agente

Il metodo query() offre un modo semplificato per interagire con l'agente. Una chiamata tipica ha il seguente aspetto:

response = agent.query(input="What is the exchange rate from US dollars to Swedish currency?", max_turns=2)

Questo metodo gestisce la comunicazione sottostante con l'agente e restituisce la risposta finale dell'agente come dizionario. È equivalente al seguente (in forma completa):

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
)

Puoi personalizzare il comportamento dell'agente oltre a input e max_turns passando argomenti di parole chiave aggiuntivi a 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)

Consulta la documentazione di ConversableAgent.run per un elenco completo dei parametri disponibili. Tuttavia, tieni presente che user_input verrà sempre sostituito da False dal modello AG2Agent.

Passaggi successivi