mirror of
https://github.com/microsoft/autogen.git
synced 2025-12-14 00:27:21 +00:00
Fix agent and agent runtime in Core doc (#4943)
This commit is contained in:
parent
50b1721d15
commit
b06ff9d5d6
@ -51,8 +51,9 @@
|
|||||||
"## Implementing an Agent\n",
|
"## Implementing an Agent\n",
|
||||||
"\n",
|
"\n",
|
||||||
"To implement an agent, the developer must subclass the {py:class}`~autogen_core.RoutedAgent` class\n",
|
"To implement an agent, the developer must subclass the {py:class}`~autogen_core.RoutedAgent` class\n",
|
||||||
"and implement the {py:meth}`~autogen_core.RoutedAgent.on_message_impl` method.\n",
|
"and implement a message handler method for each message type the agent is expected to handle using\n",
|
||||||
"This method is invoked when the agent receives a message. For example,\n",
|
"the {py:meth}`~autogen_core.message_handler` decorator.\n",
|
||||||
|
"For example,\n",
|
||||||
"the following agent handles a simple message type `MyMessageType` and prints the message it receives:"
|
"the following agent handles a simple message type `MyMessageType` and prints the message it receives:"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -85,7 +86,7 @@
|
|||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"This agent only handles `MyMessageType` and messages will be delivered to `handle_my_message_type` method. Developers can have multiple message handlers for different message types by using `@message_handler` decorator and setting the type hint for the `message` variable in the handler function. You can also leverage [python typing union](https://docs.python.org/3/library/typing.html#typing.Union) for the `message` variable in one message handler function if it better suits agent's logic.\n",
|
"This agent only handles `MyMessageType` and messages will be delivered to `handle_my_message_type` method. Developers can have multiple message handlers for different message types by using {py:meth}`~autogen_core.message_handler` decorator and setting the type hint for the `message` variable in the handler function. You can also leverage [python typing union](https://docs.python.org/3/library/typing.html#typing.Union) for the `message` variable in one message handler function if it better suits agent's logic.\n",
|
||||||
"See the next section on [message and communication](./message-and-communication.ipynb)."
|
"See the next section on [message and communication](./message-and-communication.ipynb)."
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -192,17 +193,17 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"## Running the Single-Threaded Agent Runtime\n",
|
"## Running the Single-Threaded Agent Runtime\n",
|
||||||
"\n",
|
"\n",
|
||||||
"The above code snippet uses `runtime.start()` to start a background task\n",
|
"The above code snippet uses {py:meth}`~autogen_core.SingleThreadedAgentRuntime.start` to start a background task\n",
|
||||||
"to process and deliver messages to recepients' message handlers.\n",
|
"to process and deliver messages to recepients' message handlers.\n",
|
||||||
"This is a feature of the\n",
|
"This is a feature of the\n",
|
||||||
"local embedded runtime {py:class}`~autogen_core.SingleThreadedAgentRuntime`.\n",
|
"local embedded runtime {py:class}`~autogen_core.SingleThreadedAgentRuntime`.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"To stop the background task immediately, use the `stop()` method:"
|
"To stop the background task immediately, use the {py:meth}`~autogen_core.SingleThreadedAgentRuntime.stop` method:"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 6,
|
"execution_count": 4,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
@ -216,18 +217,18 @@
|
|||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"You can resume the background task by calling `start()` again.\n",
|
"You can resume the background task by calling {py:meth}`~autogen_core.SingleThreadedAgentRuntime.start` again.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"For batch scenarios such as running benchmarks for evaluating agents,\n",
|
"For batch scenarios such as running benchmarks for evaluating agents,\n",
|
||||||
"you may want to wait for the background task to stop automatically when\n",
|
"you may want to wait for the background task to stop automatically when\n",
|
||||||
"there are no unprocessed messages and no agent is handling messages --\n",
|
"there are no unprocessed messages and no agent is handling messages --\n",
|
||||||
"the batch may considered complete.\n",
|
"the batch may considered complete.\n",
|
||||||
"You can achieve this by using the `stop_when_idle()` method:"
|
"You can achieve this by using the {py:meth}`~autogen_core.SingleThreadedAgentRuntime.stop_when_idle` method:"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 7,
|
"execution_count": 5,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
@ -240,16 +241,16 @@
|
|||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"You can also directly process messages one-by-one without a background task using:"
|
"To close the runtime and release resources, use the {py:meth}`~autogen_core.SingleThreadedAgentRuntime.close` method:"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 6,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"await runtime.process_next()"
|
"await runtime.close()"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -276,7 +277,7 @@
|
|||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.11.11"
|
"version": "3.11.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user