Usa un agente de AG2

Además de las instrucciones generales para usar un agente, en esta página, se describen las funciones específicas de AG2Agent.

Antes de comenzar

En este instructivo, se supone que leíste y seguiste las instrucciones que se indican en los siguientes documentos:

Operaciones admitidas

Se admiten las siguientes operaciones para AG2Agent:

  • query: Para obtener una respuesta a una búsqueda de forma síncrona

El método query admite los siguientes argumentos:

  • input: Es el mensaje que se enviará al agente.
  • max_turns: Es la cantidad máxima de turnos de conversación permitidos. Cuando se usan herramientas, se requiere un mínimo de max_turns=2: un turno para generar argumentos de herramientas y un segundo para ejecutar la herramienta.

Cómo consultar al agente

El método query() proporciona una forma simplificada de interactuar con el agente. Una llamada típica se ve de la siguiente manera:

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

Este método controla la comunicación subyacente con el agente y devuelve la respuesta final del agente como un diccionario. Es equivalente a lo siguiente (en 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
)

Puedes personalizar el comportamiento del agente más allá de input y max_turns pasando argumentos de palabras clave adicionales 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 documentación de ConversableAgent.run para obtener una lista completa de los parámetros disponibles. Sin embargo, ten en cuenta que la plantilla AG2Agent siempre anulará user_input y lo reemplazará por False.

¿Qué sigue?