{
    "cells": [
        {
            "cell_type": "markdown",
            "metadata": {},
            "source": [
                "# 蹇€熷紑濮�"
            ]
        },
        {
            "cell_type": "markdown",
            "metadata": {},
            "source": [
                "```{include} warning.md\n",
                "\n",
                "```\n",
                "\n",
                ":::{note}\n",
                "鍏充簬瀹夎璇存槑锛岃鍙傝€僛installation guide](./installation).\n",
                ":::\n",
                "\n",
                "鍦� AutoGen AgentChat 涓紝鎮ㄥ彲浠ヤ娇鐢ㄩ璁句唬鐞嗗揩閫熸瀯寤哄簲鐢ㄧ▼搴忋€俓n",
                "涓轰簡璇存槑杩欎竴鐐癸紝鎴戜滑灏嗕粠鍒涘缓涓€涓崟涓€浠g悊鐨勫洟闃熷紑濮嬶紝璇ヤ唬鐞嗗彲浠ヤ娇鐢ㄥ伐鍏峰苟鍝嶅簲娑堟伅銆俓n",
                "\n",
                "浠ヤ笅浠g爜浣跨敤 OpenAI 妯″瀷銆傚鏋滄偍杩樻病鏈夊畨瑁咃紝闇€瑕佸畨瑁呬互涓嬭蒋浠跺寘鍜屾墿灞曪細"
            ]
        },
        {
            "cell_type": "code",
            "execution_count": null,
            "metadata": {
                "vscode": {
                    "languageId": "shellscript"
                }
            },
            "outputs": [],
            "source": [
                "pip install 'autogen-agentchat==0.4.0.dev6' 'autogen-ext[openai]==0.4.0.dev6'"
            ]
        },
        {
            "cell_type": "markdown",
            "metadata": {},
            "source": [
                "    瑕佷娇鐢� Azure OpenAI 妯″瀷鍜� AAD 璁よ瘉锛岃鍙傞槄 [杩欓噷](./tutorial/models.ipynb#azure-openai)銆�"
            ]
        },
        {
            "cell_type": "code",
            "execution_count": null,
            "metadata": {},
            "outputs": [],
            "source": [
                "from autogen_agentchat.agents import AssistantAgent\n",
                "from autogen_agentchat.task import Console, TextMentionTermination\n",
                "from autogen_agentchat.teams import RoundRobinGroupChat\n",
                "from autogen_ext.models import OpenAIChatCompletionClient\n",
                "\n",
                "\n",
                "# Define a tool\n",
                "async def get_weather(city: str) -> str:\n",
                "    return f\"The weather in {city} is 73 degrees and Sunny.\"\n",
                "\n",
                "\n",
                "async def main() -> None:\n",
                "    # Define an agent\n",
                "    weather_agent = AssistantAgent(\n",
                "        name=\"weather_agent\",\n",
                "        model_client=OpenAIChatCompletionClient(\n",
                "            model=\"gpt-4o\",\n",
                "            api_key=\"\",\n",
                "        ),\n",
                "        tools=[get_weather],\n",
                "    )\n",
                "\n",
                "    # Define termination condition\n",
                "    termination = TextMentionTermination(\"TERMINATE\")\n",
                "\n",
                "    # Define a team\n",
                "    agent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination)\n",
                "\n",
                "    # Run the team and stream messages to the console\n",
                "    stream = agent_team.run_stream(task=\"What is the weather in 鍖椾含?\")\n",
                "    await Console(stream)\n",
                "\n",
                "\n",
                "# NOTE: if running this inside a Python script you'll need to use asyncio.run(main()).\n",
                "await main()"
            ]
        },
        {
            "cell_type": "markdown",
            "metadata": {},
            "source": [
                "涓婅堪浠g爜浠嬬粛浜� AgentChat 涓殑涓や釜楂樼骇姒傚康锛�*Agent* 鍜� *Team*. 浠g悊甯姪鎴戜滑瀹氫箟鏀跺埌娑堟伅鏃惰閲囧彇鐨勮鍔ㄣ€傚叿浣撴潵璇达紝鎴戜滑浣跨敤 {py:class}`~autogen_agentchat.agents.AssistantAgent` 棰勮 - 杩欐槸涓€涓彲浠ヨ闂ā鍨嬶紙渚嬪 LLM锛夊拰宸ュ叿锛堝嚱鏁帮級鐨勪唬鐞嗭紝瀹冨彲浠ヤ娇鐢ㄨ繖浜涜祫婧愭潵澶勭悊浠诲姟銆傚洟闃熷府鍔╂垜浠畾涔変唬鐞嗕箣闂翠氦浜掔殑瑙勫垯銆傚湪 {py:class}`~autogen_agentchat.teams.RoundRobinGroupChat` 鍥㈤槦涓紝浠g悊鎸夌収杞鐨勬柟寮忎緷娆″搷搴斻€俓n",
                "鍦ㄨ繖涓緥瀛愪腑锛屾垜浠彧鏈変竴涓唬鐞嗭紝鎵€浠ユ瘡杞兘浣跨敤鐩稿悓鐨勪唬鐞嗐€�"
            ]
        },
        {
            "cell_type": "markdown",
            "metadata": {},
            "source": [
                "## 涓嬩竴姝n",
                "\n",
                "鐜板湪鎮ㄥ凡缁忓熀鏈簡瑙d簡濡備綍瀹氫箟*Agent* 鍜� *Team*锛屽缓璁偍缁х画瀛︿範 [tutorial](./tutorial/index)锛屼簡瑙� AgentChat 鐨勫叾浠栧姛鑳姐€俓n",
                "\n"
            ]
        }
    ],
    "metadata": {
        "kernelspec": {
            "display_name": ".venv",
            "language": "python",
            "name": "python3"
        },
        "language_info": {
            "codemirror_mode": {
                "name": "ipython",
                "version": 3
            },
            "file_extension": ".py",
            "mimetype": "text/x-python",
            "name": "python",
            "nbconvert_exporter": "python",
            "pygments_lexer": "ipython3",
            "version": "3.12.3"
        }
    },
    "nbformat": 4,
    "nbformat_minor": 2
}