Utilizzare un agente AG2

Oltre alle istruzioni generali per l'utilizzo di un agente, in questa pagina sono descritte 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 ricevere 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, è richiesto un minimo di max_turns=2: un giro per generare gli argomenti dello strumento e un secondo per eseguirlo.

Esegui una query sull'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 sotto forma di 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 input e max_turns passando ulteriori argomenti della parola chiave 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