fromautogenimportConversableAgentimportdataclassesimportjsoninput_message:str="What is the exchange rate from US dollars to Swedish currency?"max_turns:int=2withagent._runnable._create_or_get_executor(tools=agent._ag2_tool_objects,# Use the agent's existing toolsagent_name="user",# Defaultagent_human_input_mode="NEVER",# query() enforces this)asexecutor:chat_result=executor.initiate_chat(agent._runnable,message=input_message,max_turns=max_turns,clear_history=False,# Defaultsummary_method="last_msg"# Default)response=json.loads(json.dumps(dataclasses.asdict(chat_result))# query() does this conversion)
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)
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-02 (世界標準時間)。"],[],[],null,["# Use an AG2 agent\n\nIn addition to the general instructions for [using an agent](/vertex-ai/generative-ai/docs/agent-engine/use),\nthis page describes features that are specific to `AG2Agent`.\n\nBefore you begin\n----------------\n\nThis tutorial assumes that you have read and followed the instructions in:\n\n- [Develop an AG2 agent](/vertex-ai/generative-ai/docs/agent-engine/develop/ag2): to develop `agent` as an instance of `AG2Agent`.\n- [User authentication](/vertex-ai/generative-ai/docs/agent-engine/set-up#authentication) to authenticate as a user for querying the agent.\n\nSupported operations\n--------------------\n\nThe following operations are supported for `AG2Agent`:\n\n- [`query`](/vertex-ai/generative-ai/docs/agent-engine/use#query-agent): for getting a response to a query synchronously.\n\nThe `query` method support the arguments:\n\n- `input`: the message to be sent to the agent.\n- `max_turns`: the maximum number of conversation turns allowed. When using tools, a minimum of `max_turns=2` is required: one turn to generate tool arguments and a second to execute the tool.\n\nQuery the agent\n---------------\n\nThe `query()` method provides a simplified way to interact with the agent. A typical call looks like this: \n\n response = agent.query(input=\"What is the exchange rate from US dollars to Swedish currency?\", max_turns=2)\n\nThis method handles the underlying communication with the agent and returns the agent's final response as a dictionary. It is equivalent to the following (in full form): \n\n from autogen import ConversableAgent\n import dataclasses\n import json\n\n input_message: str = \"What is the exchange rate from US dollars to Swedish currency?\"\n max_turns: int = 2\n\n with agent._runnable._create_or_get_executor(\n tools=agent._ag2_tool_objects, # Use the agent's existing tools\n agent_name=\"user\", # Default\n agent_human_input_mode=\"NEVER\", # query() enforces this\n ) as executor:\n chat_result = executor.initiate_chat(\n agent._runnable,\n message=input_message,\n max_turns=max_turns,\n clear_history=False, # Default\n summary_method=\"last_msg\" # Default\n )\n\n response = json.loads(\n json.dumps(dataclasses.asdict(chat_result)) # query() does this conversion\n )\n\nYou can customize the agent's behavior beyond `input` and `max_turns` by passing additional keyword arguments to `query()`. \n\n response = agent.query(\n input=\"What is the exchange rate from US dollars to Swedish currency?\",\n max_turns=2,\n msg_to=\"user\" # Start the conversation with the \"user\" agent\n )\n print(response)\n\nSee the\n[`ConversableAgent.run` documentation](https://docs.ag2.ai/latest/docs/api-reference/autogen/ConversableAgent/)\nfor a complete list of available parameters. However, keep in mind that\n`user_input` will always be overridden to `False` by the AG2Agent template.\n\nWhat's next\n-----------\n\n- [Use an agent](/vertex-ai/generative-ai/docs/agent-engine/use).\n- [Evaluate an agent](/vertex-ai/generative-ai/docs/agent-engine/evaluate).\n- [Manage deployed agents](/vertex-ai/generative-ai/docs/agent-engine/manage).\n- [Get support](/vertex-ai/generative-ai/docs/agent-engine/support)."]]