From 4ce03c64b2374d52c5864ca48b0f391511a7cc21 Mon Sep 17 00:00:00 2001 From: Mark Sze Date: Fri, 20 Dec 2024 03:30:01 +0000 Subject: [PATCH 1/4] Fix for blog links due to docs site change. --- README.md | 6 +- .../agentchat/contrib/agent_eval/README.md | 4 +- notebook/JSON_mode_example.ipynb | 2 +- notebook/agentchat_MathChat.ipynb | 2 +- notebook/agentchat_realtime_swarm.ipynb | 2 +- notebook/agentchat_swarm.ipynb | 2 +- .../agentchat_swarm_w_groupchat_legacy.ipynb | 2 +- notebook/agenteval_cq_math.ipynb | 2 +- notebook/autogen_uniformed_api_calling.ipynb | 2 +- notebook/oai_chatgpt_gpt4.ipynb | 2 +- notebook/tools_interoperability.ipynb | 236 ++++++++++++++++-- test/agentchat/contrib/test_web_surfer.py | 4 +- test/test_browser_utils.py | 5 +- website/blog/2023-11-20-AgentEval/index.mdx | 3 +- .../blog/2024-01-25-AutoGenBench/index.mdx | 4 +- website/blog/2024-05-24-Agent/index.mdx | 2 +- website/blog/2024-06-21-AgentEval/index.mdx | 4 +- .../index.mdx | 2 +- .../2024-12-18-Reasoning-Update/index.mdx | 4 +- 19 files changed, 246 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index e963baf55e..3605dc4a1a 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ We adopt the Apache 2.0 license from v0.3. This enhances our commitment to open- :tada: Apr 17, 2024: Andrew Ng cited AutoGen in [The Batch newsletter](https://www.deeplearning.ai/the-batch/issue-245/) and [What's next for AI agentic workflows](https://youtu.be/sal78ACtGTc?si=JduUzN_1kDnMq0vF) at Sequoia Capital's AI Ascent (Mar 26). -:tada: Mar 3, 2024: What's new in AutoGen? πŸ“°[Blog](https://ag2ai.github.io/ag2/blog/2024/03/03/AutoGen-Update); πŸ“Ί[Youtube](https://www.youtube.com/watch?v=j_mtwQiaLGU). +:tada: Mar 3, 2024: What's new in AutoGen? πŸ“°[Blog](https://docs.ag2.ai/blog/2024-03-03-AutoGen-Update); πŸ“Ί[Youtube](https://www.youtube.com/watch?v=j_mtwQiaLGU). @@ -57,7 +57,7 @@ We adopt the Apache 2.0 license from v0.3. This enhances our commitment to open- - + :tada: Nov 8, 2023: AutoGen is selected into [Open100: Top 100 Open Source achievements](https://www.benchcouncil.org/evaluation/opencs/annual.html) 35 days after spinoff from [FLAML](https://github.com/microsoft/FLAML). @@ -234,7 +234,7 @@ You can find detailed documentation about AG2 [here](https://ag2ai.github.io/ag2 In addition, you can find: -- [Research](https://ag2ai.github.io/ag2/docs/Research), [blogposts](https://ag2ai.github.io/ag2/blog) around AG2, and [Transparency FAQs](https://github.com/ag2ai/ag2/blob/main/TRANSPARENCY_FAQS.md) +- [Research](https://ag2ai.github.io/ag2/docs/Research), [blogposts](https://docs.ag2.ai/blog) around AG2, and [Transparency FAQs](https://github.com/ag2ai/ag2/blob/main/TRANSPARENCY_FAQS.md) - [Discord](https://discord.gg/pAbnFJrkgZ) diff --git a/autogen/agentchat/contrib/agent_eval/README.md b/autogen/agentchat/contrib/agent_eval/README.md index b9a9815e2d..ce5f63d1a7 100644 --- a/autogen/agentchat/contrib/agent_eval/README.md +++ b/autogen/agentchat/contrib/agent_eval/README.md @@ -1,7 +1,7 @@ -Agents for running the [AgentEval](https://ag2ai.github.io/ag2/blog/2023/11/20/AgentEval/) pipeline. +Agents for running the [AgentEval](https://docs.ag2.ai/blog/2023-11-20-AgentEval/) pipeline. AgentEval is a process for evaluating a LLM-based system's performance on a given task. When given a task to evaluate and a few example runs, the critic and subcritic agents create evaluation criteria for evaluating a system's solution. Once the criteria has been created, the quantifier agent can evaluate subsequent task solutions based on the generated criteria. -See our [blog post](https://ag2ai.github.io/ag2/blog/2024/06/21/AgentEval) for usage examples and general explanations. +See our [blog post](https://docs.ag2.ai/blog/2024-06-21-AgentEval) for usage examples and general explanations. diff --git a/notebook/JSON_mode_example.ipynb b/notebook/JSON_mode_example.ipynb index ddca6bd802..f4431b4c56 100644 --- a/notebook/JSON_mode_example.ipynb +++ b/notebook/JSON_mode_example.ipynb @@ -19,7 +19,7 @@ "\n", "\n", "Please find documentation about this feature in OpenAI [here](https://platform.openai.com/docs/guides/text-generation/json-mode).\n", - "More information about Agent Descriptions is located [here](https://ag2ai.github.io/ag2/blog/2023/12/29/AgentDescriptions/)\n", + "More information about Agent Descriptions is located [here](https://docs.ag2.ai/blog/2023-12-29-AgentDescriptions/)\n", "\n", "Benefits\n", "- This contribution provides a method to implement precise speaker transitions based on content of the input message. The example can prevent Prompt hacks that use coersive language.\n", diff --git a/notebook/agentchat_MathChat.ipynb b/notebook/agentchat_MathChat.ipynb index 0bafb6606b..41289ebd1c 100644 --- a/notebook/agentchat_MathChat.ipynb +++ b/notebook/agentchat_MathChat.ipynb @@ -9,7 +9,7 @@ "\n", "AutoGen offers conversable agents powered by LLM, tool or human, which can be used to perform tasks collectively via automated chat. This framework allows tool use and human participation through multi-agent conversation. Please find documentation about this feature [here](https://ag2ai.github.io/ag2/docs/Use-Cases/agent_chat).\n", "\n", - "MathChat is an experimental conversational framework for math problem solving. In this notebook, we demonstrate how to use MathChat to solve math problems. MathChat uses the `AssistantAgent` and `MathUserProxyAgent`, which is similar to the usage of `AssistantAgent` and `UserProxyAgent` in other notebooks (e.g., [Automated Task Solving with Code Generation, Execution & Debugging](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_auto_feedback_from_code_execution.ipynb)). Essentially, `MathUserProxyAgent` implements a different auto reply mechanism corresponding to the MathChat prompts. You can find more details in the paper [An Empirical Study on Challenging Math Problem Solving with GPT-4](https://arxiv.org/abs/2306.01337) or the [blogpost](https://ag2ai.github.io/ag2/blog/2023/06/28/MathChat).\n", + "MathChat is an experimental conversational framework for math problem solving. In this notebook, we demonstrate how to use MathChat to solve math problems. MathChat uses the `AssistantAgent` and `MathUserProxyAgent`, which is similar to the usage of `AssistantAgent` and `UserProxyAgent` in other notebooks (e.g., [Automated Task Solving with Code Generation, Execution & Debugging](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_auto_feedback_from_code_execution.ipynb)). Essentially, `MathUserProxyAgent` implements a different auto reply mechanism corresponding to the MathChat prompts. You can find more details in the paper [An Empirical Study on Challenging Math Problem Solving with GPT-4](https://arxiv.org/abs/2306.01337) or the [blogpost](https://docs.ag2.ai/blog/2023-06-28-MathChat).\n", "\n", "````{=mdx}\n", ":::info Requirements\n", diff --git a/notebook/agentchat_realtime_swarm.ipynb b/notebook/agentchat_realtime_swarm.ipynb index 909f5ad95d..3da812515b 100644 --- a/notebook/agentchat_realtime_swarm.ipynb +++ b/notebook/agentchat_realtime_swarm.ipynb @@ -9,7 +9,7 @@ "\n", "AG2 supports **RealtimeAgent**, a powerful agent type that connects seamlessly to OpenAI's [Realtime API](https://openai.com/index/introducing-the-realtime-api). With RealtimeAgent, you can add voice interaction and listening capabilities to your swarms, enabling dynamic and natural communication.\n", "\n", - "AG2 provides an intuitive programming interface to build and orchestrate swarms of agents. With RealtimeAgent, you can enhance swarm functionality, integrating real-time interactions alongside task automation. Check the [Documentation](https://ag2ai.github.io/ag2/docs/topics/swarm) and [Blog](https://ag2ai.github.io/ag2/blog/2024/11/17/Swarm) for further insights.\n", + "AG2 provides an intuitive programming interface to build and orchestrate swarms of agents. With RealtimeAgent, you can enhance swarm functionality, integrating real-time interactions alongside task automation. Check the [Documentation](https://ag2ai.github.io/ag2/docs/topics/swarm) and [Blog](https://docs.ag2.ai/blog/2024-11-17-Swarm) for further insights.\n", "\n", "In this notebook, we implement OpenAI's [airline customer service example](https://github.com/openai/swarm/tree/main/examples/airline) in AG2 using the RealtimeAgent for enhanced interaction." ] diff --git a/notebook/agentchat_swarm.ipynb b/notebook/agentchat_swarm.ipynb index 8e891bb826..e3f0a53969 100644 --- a/notebook/agentchat_swarm.ipynb +++ b/notebook/agentchat_swarm.ipynb @@ -9,7 +9,7 @@ "\n", "AG2 offers conversable agents, powered by LLMs, tools or a human, that can perform tasks collectively via an automated chat. Recently, OpenAI released a [Swarm](https://github.com/openai/swarm) framework that focuses on making agent coordination and execution lightweight. \n", "\n", - "In AG2 we offer a simple programming interface to build and orchestrate a swarm of agents. Please check the [Documentation](https://ag2ai.github.io/ag2/docs/topics/swarm) and [Blog](https://ag2ai.github.io/ag2/blog/2024/11/17/Swarm) for more details.\n", + "In AG2 we offer a simple programming interface to build and orchestrate a swarm of agents. Please check the [Documentation](https://ag2ai.github.io/ag2/docs/topics/swarm) and [Blog](https://docs.ag2.ai/blog/2024-11-17-Swarm) for more details.\n", "\n", "After learning the fundamentals of AG2's swarm in this notebook, check out [this notebook](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_swarm) where we take on some more advanced techniques that provide greater control and predicability for your swarms.\n", "\n", diff --git a/notebook/agentchat_swarm_w_groupchat_legacy.ipynb b/notebook/agentchat_swarm_w_groupchat_legacy.ipynb index a87cd0676a..ae826370d6 100644 --- a/notebook/agentchat_swarm_w_groupchat_legacy.ipynb +++ b/notebook/agentchat_swarm_w_groupchat_legacy.ipynb @@ -23,7 +23,7 @@ "\n", "AG2 offers conversable agents, powered by LLMs, tools or a human, that can perform tasks collectively via an automated chat. Recently, OpenAI has released a [Swarm](https://github.com/openai/swarm) framework that focuses on making agent coordination and execution lightweight.\n", "\n", - "In AG2, the groupchat allows customized speaker selection, which can be used to achieve the same orchestration pattern. This feature is also supported by our research paper [StateFlow: Enhancing LLM Task-Solving through State-Driven Workflows](https://ag2ai.github.io/ag2/blog/2024/02/29/StateFlow).\n", + "In AG2, the groupchat allows customized speaker selection, which can be used to achieve the same orchestration pattern. This feature is also supported by our research paper [StateFlow: Enhancing LLM Task-Solving through State-Driven Workflows](https://docs.ag2.ai/blog/2024-02-29-StateFlow).\n", "\n", "In this notebook, we implement OpenAI's [airline customer service example](https://github.com/openai/swarm/tree/main/examples/airline) in AG2 using group chat." ] diff --git a/notebook/agenteval_cq_math.ipynb b/notebook/agenteval_cq_math.ipynb index 31a56fea1d..582c431e4f 100644 --- a/notebook/agenteval_cq_math.ipynb +++ b/notebook/agenteval_cq_math.ipynb @@ -17,7 +17,7 @@ "\n", "![AgentEval](https://media.githubusercontent.com/media/ag2ai/ag2/main/website/blog/2023-11-20-AgentEval/img/agenteval-CQ.png)\n", "\n", - "For more detailed explanations, please refer to the accompanying [blog post](https://ag2ai.github.io/ag2/blog/2023/11/20/AgentEval)\n", + "For more detailed explanations, please refer to the accompanying [blog post](https://docs.ag2.ai/blog/2023-11-20-AgentEval)\n", "\n", "## Requirements\n", "\n", diff --git a/notebook/autogen_uniformed_api_calling.ipynb b/notebook/autogen_uniformed_api_calling.ipynb index aad19ed078..8aa2b2d5e1 100644 --- a/notebook/autogen_uniformed_api_calling.ipynb +++ b/notebook/autogen_uniformed_api_calling.ipynb @@ -22,7 +22,7 @@ "\n", "... and more to come!\n", "\n", - "You can also [plug in your local deployed LLM](https://ag2ai.github.io/ag2/blog/2024/01/26/Custom-Models) into AutoGen if needed." + "You can also [plug in your local deployed LLM](https://docs.ag2.ai/blog/2024-01-26-Custom-Models) into AutoGen if needed." ] }, { diff --git a/notebook/oai_chatgpt_gpt4.ipynb b/notebook/oai_chatgpt_gpt4.ipynb index 29bc005802..dc3ffe88c8 100644 --- a/notebook/oai_chatgpt_gpt4.ipynb +++ b/notebook/oai_chatgpt_gpt4.ipynb @@ -33,7 +33,7 @@ "\n", "In this notebook, we tune OpenAI ChatGPT (both GPT-3.5 and GPT-4) models for math problem solving. We use [the MATH benchmark](https://crfm.stanford.edu/helm/latest/?group=math_chain_of_thought) for measuring mathematical problem solving on competition math problems with chain-of-thoughts style reasoning.\n", "\n", - "Related link: [Blogpost](https://ag2ai.github.io/ag2/blog/2023/04/21/LLM-tuning-math) based on this experiment.\n", + "Related link: [Blogpost](https://docs.ag2.ai/blog/2023-04-21-LLM-tuning-math) based on this experiment.\n", "\n", "## Requirements\n", "\n", diff --git a/notebook/tools_interoperability.ipynb b/notebook/tools_interoperability.ipynb index 00469be0d4..28a7ddde97 100644 --- a/notebook/tools_interoperability.ipynb +++ b/notebook/tools_interoperability.ipynb @@ -47,7 +47,18 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n", + "/usr/local/lib/python3.11/site-packages/flaml/__init__.py:20: UserWarning: flaml.automl is not available. Please install flaml[automl] to enable AutoML functionalities.\n", + " warnings.warn(\"flaml.automl is not available. Please install flaml[automl] to enable AutoML functionalities.\")\n" + ] + } + ], "source": [ "import os\n", "\n", @@ -120,9 +131,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mUser\u001b[0m (to chatbot):\n", + "\n", + "Tell me about the history of the United States\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mchatbot\u001b[0m (to User):\n", + "\n", + "\u001b[32m***** Suggested tool call (call_0x3F3lbGj9tth5xxuipsZk3Y): wikipedia *****\u001b[0m\n", + "Arguments: \n", + "{\"tool_input\":{\"query\":\"history of the United States\"}}\n", + "\u001b[32m**************************************************************************\u001b[0m\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION wikipedia...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to chatbot):\n", + "\n", + "\u001b[32m***** Response from calling tool (call_0x3F3lbGj9tth5xxuipsZk3Y) *****\u001b[0m\n", + "Page: History of the United States\n", + "Summary: The history of the lands that became the United States began with the arrival of the first people in the Americas around 15,000 BC. After European colonization of North America began in the late 15th century, wars and epidemics decimated Indigenous societies. By the 1760s, the thirteen British colonies were established. The Southern Colonies built an agricultural system on slave labor, enslaving millions from Africa. After defeating France, the British Parliament imposed a series of taxes; resistance to these taxes, especially the Boston Tea Party in 1773, led to Parliament issuing the Intolerable Acts designed to end self-government.\n", + "In 1776, the United States declared its independence. Led by General George Washington, it won the Revolutionary War in 1783. The Constitution was adopted in 1789, and a Bill of Rights was added in 1791 to guarantee inalienable rights. Washington, the first president, and his adviser Alexander Hamilton created a\n", + "\u001b[32m**********************************************************************\u001b[0m\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mchatbot\u001b[0m (to User):\n", + "\n", + "The history of the United States began with the arrival of the first people in the Americas around 15,000 BC. European colonization commenced in the late 15th century, and this led to significant impacts on Indigenous societies, including wars and epidemics that decimated populations. By the 1760s, thirteen British colonies were firmly established. In the Southern Colonies, an agricultural economy heavily reliant on slave labor developed, involving the enslavement of millions of Africans.\n", + "\n", + "Tensions arose in the 18th century between these colonies and Britain, primarily due to taxation without representation, which culminated in events such as the Boston Tea Party in 1773. These events prompted the British Parliament to pass the Intolerable Acts in an attempt to suppress self-governance in the colonies.\n", + "\n", + "In 1776, the colonies declared their independence, forming the United States of America. Under the leadership of General George Washington, the colonies won the Revolutionary War against Britain, achieving victory in 1783. The United States adopted its Constitution in 1789, followed by the Bill of Rights in 1791, which enshrined fundamental rights.\n", + "\n", + "George Washington became the first President, and along with his adviser Alexander Hamilton, began shaping the new nation's governmental and economic structures. This marked the early stages of the United States' journey to becoming an independent and unified country. TERMINATE\n", + "\n", + "--------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/plain": [ + "ChatResult(chat_id=None, chat_history=[{'content': 'Tell me about the history of the United States', 'role': 'assistant', 'name': 'User'}, {'tool_calls': [{'id': 'call_0x3F3lbGj9tth5xxuipsZk3Y', 'function': {'arguments': '{\"tool_input\":{\"query\":\"history of the United States\"}}', 'name': 'wikipedia'}, 'type': 'function'}], 'content': None, 'role': 'assistant'}, {'content': 'Page: History of the United States\\nSummary: The history of the lands that became the United States began with the arrival of the first people in the Americas around 15,000 BC. After European colonization of North America began in the late 15th century, wars and epidemics decimated Indigenous societies. By the 1760s, the thirteen British colonies were established. The Southern Colonies built an agricultural system on slave labor, enslaving millions from Africa. After defeating France, the British Parliament imposed a series of taxes; resistance to these taxes, especially the Boston Tea Party in 1773, led to Parliament issuing the Intolerable Acts designed to end self-government.\\nIn 1776, the United States declared its independence. Led by General George Washington, it won the Revolutionary War in 1783. The Constitution was adopted in 1789, and a Bill of Rights was added in 1791 to guarantee inalienable rights. Washington, the first president, and his adviser Alexander Hamilton created a', 'tool_responses': [{'tool_call_id': 'call_0x3F3lbGj9tth5xxuipsZk3Y', 'role': 'tool', 'content': 'Page: History of the United States\\nSummary: The history of the lands that became the United States began with the arrival of the first people in the Americas around 15,000 BC. After European colonization of North America began in the late 15th century, wars and epidemics decimated Indigenous societies. By the 1760s, the thirteen British colonies were established. The Southern Colonies built an agricultural system on slave labor, enslaving millions from Africa. After defeating France, the British Parliament imposed a series of taxes; resistance to these taxes, especially the Boston Tea Party in 1773, led to Parliament issuing the Intolerable Acts designed to end self-government.\\nIn 1776, the United States declared its independence. Led by General George Washington, it won the Revolutionary War in 1783. The Constitution was adopted in 1789, and a Bill of Rights was added in 1791 to guarantee inalienable rights. Washington, the first president, and his adviser Alexander Hamilton created a'}], 'role': 'tool', 'name': 'User'}, {'content': \"The history of the United States began with the arrival of the first people in the Americas around 15,000 BC. European colonization commenced in the late 15th century, and this led to significant impacts on Indigenous societies, including wars and epidemics that decimated populations. By the 1760s, thirteen British colonies were firmly established. In the Southern Colonies, an agricultural economy heavily reliant on slave labor developed, involving the enslavement of millions of Africans.\\n\\nTensions arose in the 18th century between these colonies and Britain, primarily due to taxation without representation, which culminated in events such as the Boston Tea Party in 1773. These events prompted the British Parliament to pass the Intolerable Acts in an attempt to suppress self-governance in the colonies.\\n\\nIn 1776, the colonies declared their independence, forming the United States of America. Under the leadership of General George Washington, the colonies won the Revolutionary War against Britain, achieving victory in 1783. The United States adopted its Constitution in 1789, followed by the Bill of Rights in 1791, which enshrined fundamental rights.\\n\\nGeorge Washington became the first President, and along with his adviser Alexander Hamilton, began shaping the new nation's governmental and economic structures. This marked the early stages of the United States' journey to becoming an independent and unified country. TERMINATE\", 'role': 'user', 'name': 'chatbot'}], summary=\"The history of the United States began with the arrival of the first people in the Americas around 15,000 BC. European colonization commenced in the late 15th century, and this led to significant impacts on Indigenous societies, including wars and epidemics that decimated populations. By the 1760s, thirteen British colonies were firmly established. In the Southern Colonies, an agricultural economy heavily reliant on slave labor developed, involving the enslavement of millions of Africans.\\n\\nTensions arose in the 18th century between these colonies and Britain, primarily due to taxation without representation, which culminated in events such as the Boston Tea Party in 1773. These events prompted the British Parliament to pass the Intolerable Acts in an attempt to suppress self-governance in the colonies.\\n\\nIn 1776, the colonies declared their independence, forming the United States of America. Under the leadership of General George Washington, the colonies won the Revolutionary War against Britain, achieving victory in 1783. The United States adopted its Constitution in 1789, followed by the Bill of Rights in 1791, which enshrined fundamental rights.\\n\\nGeorge Washington became the first President, and along with his adviser Alexander Hamilton, began shaping the new nation's governmental and economic structures. This marked the early stages of the United States' journey to becoming an independent and unified country. \", cost={'usage_including_cached_inference': {'total_cost': 0.00639, 'gpt-4o-2024-08-06': {'cost': 0.00639, 'prompt_tokens': 1356, 'completion_tokens': 300, 'total_tokens': 1656}}, 'usage_excluding_cached_inference': {'total_cost': 0}}, human_input=[])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "message = \"Tell me about the history of the United States\"\n", "user_proxy.initiate_chat(recipient=chatbot, message=message, max_turns=2)" @@ -215,9 +278,69 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mUser\u001b[0m (to chatbot):\n", + "\n", + "Scrape the website https://ag2.ai/\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mchatbot\u001b[0m (to User):\n", + "\n", + "\u001b[32m***** Suggested tool call (call_LdavPAKRVqcxteSplbAXedfp): Read_website_content *****\u001b[0m\n", + "Arguments: \n", + "{\"args\":{\"website_url\":\"https://ag2.ai/\"}}\n", + "\u001b[32m*************************************************************************************\u001b[0m\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION Read_website_content...\u001b[0m\n", + "Using Tool: Read website content\n", + "\u001b[33mUser\u001b[0m (to chatbot):\n", + "\n", + "\u001b[32m***** Response from calling tool (call_LdavPAKRVqcxteSplbAXedfp) *****\u001b[0m\n", + "\n", + "AgentOS\n", + "Join our growing community of over 20,000 agent builders Join our growing community of over 20,000 agent builders The Open-Source AgentOS Build production-ready multi-agent systems in minutes, not months. Github Discord The End-to-End Platform for Multi-Agent Automation The End-to-End Platform for Multi-Agent Automation Flexible Agent Construction and Orchestration Create specialized agents that work together seamlessly. AG2 makes it easy to define roles, configure behaviors, and orchestrate collaboration - all through simple, intuitive code. β†’ Assistant agents for problem-solving β†’ Executor agents for taking action β†’ Critic agents for validation β†’ Group chat managers for coordination Built-in Conversation Patterns Built-in Conversation Patterns Stop wrestling with agent coordination. AG2 handles message routing, state management, and conversation flow automatically. β†’ Two-agent conversations β†’ Group chats with dynamic speaker selection β†’ Sequential chats with context carryover β†’ Nested conversations for modularity Seamless Human-AI collaboration Seamless Human-AI collaboration Seamlessly integrate human oversight and input into your agent workflows. β†’ Configurable human input modes β†’ Flexible intervention points β†’ Optional human approval workflows β†’ Interactive conversation interfaces β†’ Context-aware human handoff Roadmap AG2 STUDIO β†’ Visual agent system design β†’ Real-time testing and debugging β†’ One-click deployment to production β†’ Perfect for prototyping and MVPs AG2 STUDIO β†’ Visual agent system design β†’ Real-time testing and debugging β†’ One-click deployment to production β†’ Perfect for prototyping and MVPs AG2 STUDIO β†’ Visual agent system design β†’ Real-time testing and debugging β†’ One-click deployment to production β†’ Perfect for prototyping and MVPs AG2 MARKETPLACE β†’ Share and monetize your agents β†’ Discover pre-built solution templates β†’ Quick-start your agent development β†’ Connect with other builders AG2 MARKETPLACE β†’ Share and monetize your agents β†’ Discover pre-built solution templates β†’ Quick-start your agent development β†’ Connect with other builders AG2 MARKETPLACE β†’ Share and monetize your agents β†’ Discover pre-built solution templates β†’ Quick-start your agent development β†’ Connect with other builders SCALING TOOLS β†’ Zero to production deployment guides β†’ Usage analytics and cost optimization β†’ Team collaboration features β†’ Enterprise-ready security controls SCALING TOOLS β†’ Zero to production deployment guides β†’ Usage analytics and cost optimization β†’ Team collaboration features β†’ Enterprise-ready security controls SCALING TOOLS β†’ Zero to production deployment guides β†’ Usage analytics and cost optimization β†’ Team collaboration features β†’ Enterprise-ready security controls AG2 STUDIO β†’ Visual agent system design β†’ Real-time testing and debugging β†’ One-click deployment to production β†’ Perfect for prototyping and MVPs AG2 STUDIO β†’ Visual agent system design β†’ Real-time testing and debugging β†’ One-click deployment to production β†’ Perfect for prototyping and MVPs AG2 MARKETPLACE β†’ Share and monetize your agents β†’ Discover pre-built solution templates β†’ Quick-start your agent development β†’ Connect with other builders AG2 MARKETPLACE β†’ Share and monetize your agents β†’ Discover pre-built solution templates β†’ Quick-start your agent development β†’ Connect with other builders SCALING TOOLS β†’ Zero to production deployment guides β†’ Usage analytics and cost optimization β†’ Team collaboration features β†’ Enterprise-ready security controls SCALING TOOLS β†’ Zero to production deployment guides β†’ Usage analytics and cost optimization β†’ Team collaboration features β†’ Enterprise-ready security controls Whether you're a solo founder prototyping the next big AI product, or an enterprise team deploying at scale we're building AG2 for you. This is AgentOS - making multi-agent development accessible to everyone. Github Join Our Growing Community Join Our Growing Community β†’ 20,000+ active agent builders β†’ Daily technical discussions β†’ Weekly community calls β†’ Open RFC process β†’ Regular contributor events (Coming soon) Discord Problem Features Roadmap Community Documentation Problem Features Roadmap Community Documentation Problem Features Roadmap Community Documentation\n", + "\n", + "\u001b[32m**********************************************************************\u001b[0m\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mchatbot\u001b[0m (to User):\n", + "\n", + "The website https://ag2.ai/ provides the following information:\n", + "\n", + "- **AgentOS Community**: Over 20,000 agent builders are part of the community.\n", + "- **Open-Source AgentOS**: It focuses on building production-ready multi-agent systems quickly.\n", + "- **Platform for Multi-Agent Automation**: Includes flexible agent construction and orchestration, and built-in conversation patterns.\n", + " - **Agent Types**:\n", + " - Assistant agents for problem-solving.\n", + " - Executor agents for taking action.\n", + " - Critic agents for validation.\n", + " - Group chat managers for coordination.\n", + " - **Conversation Patterns**:\n", + " - Two-agent conversations.\n", + " - Group chats with dynamic speaker selection.\n", + " - Sequential and nested conversations.\n", + "\n", + "- **Human-AI Collaboration**: Allows integration of human oversight and input with agents.\n", + "- **AG2 Studio**: A tool for visual agent system design, real-time testing, debugging, and deployment.\n", + "- **AG2 Marketplace**: Platform for sharing, monetizing agents, and discovering templates.\n", + "- **Scaling Tools**: Guides for deployment, usage analytics, cost optimization, and team collaboration features.\n", + " \n", + "The tagline suggests that AgentOS is designed to make multi-agent development accessible, catering to both solo founders and enterprise teams.\n", + "\n", + "TERMINATE\n", + "\n", + "--------------------------------------------------------------------------------\n" + ] + } + ], "source": [ "interop = Interoperability()\n", "crewai_tool = ScrapeWebsiteTool()\n", @@ -233,9 +356,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The website https://ag2.ai/ provides the following information:\n", + "\n", + "- **AgentOS Community**: Over 20,000 agent builders are part of the community.\n", + "- **Open-Source AgentOS**: It focuses on building production-ready multi-agent systems quickly.\n", + "- **Platform for Multi-Agent Automation**: Includes flexible agent construction and orchestration, and built-in conversation patterns.\n", + " - **Agent Types**:\n", + " - Assistant agents for problem-solving.\n", + " - Executor agents for taking action.\n", + " - Critic agents for validation.\n", + " - Group chat managers for coordination.\n", + " - **Conversation Patterns**:\n", + " - Two-agent conversations.\n", + " - Group chats with dynamic speaker selection.\n", + " - Sequential and nested conversations.\n", + "\n", + "- **Human-AI Collaboration**: Allows integration of human oversight and input with agents.\n", + "- **AG2 Studio**: A tool for visual agent system design, real-time testing, debugging, and deployment.\n", + "- **AG2 Marketplace**: Platform for sharing, monetizing agents, and discovering templates.\n", + "- **Scaling Tools**: Guides for deployment, usage analytics, cost optimization, and team collaboration features.\n", + " \n", + "The tagline suggests that AgentOS is designed to make multi-agent development accessible, catering to both solo founders and enterprise teams.\n", + "\n", + "\n" + ] + } + ], "source": [ "print(chat_result.summary)" ] @@ -377,26 +530,73 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mUser\u001b[0m (to chatbot):\n", + "\n", + "Get player, for additional information use 'goal keeper'\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mchatbot\u001b[0m (to User):\n", + "\n", + "\u001b[32m***** Suggested tool call (call_6zAckrEDxxbffyNc4XtX5rIM): get_player *****\u001b[0m\n", + "Arguments: \n", + "{\"additional_info\":\"goal keeper\"}\n", + "\u001b[32m***************************************************************************\u001b[0m\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION get_player...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to chatbot):\n", + "\n", + "\u001b[32m***** Response from calling tool (call_6zAckrEDxxbffyNc4XtX5rIM) *****\u001b[0m\n", + "Name: Luka, Age: 25, Additional info: goal keeper\n", + "\u001b[32m**********************************************************************\u001b[0m\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mchatbot\u001b[0m (to User):\n", + "\n", + "The player's name is Luka, aged 25, and he is a goal keeper. TERMINATE\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mUser\u001b[0m (to chatbot):\n", + "\n", + "\n", + "\n", + "--------------------------------------------------------------------------------\n", + "\u001b[33mchatbot\u001b[0m (to User):\n", + "\n", + "It looks like there isn't any additional input from your side. If you need further assistance, feel free to ask! TERMINATE\n", + "\n", + "--------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/plain": [ + "ChatResult(chat_id=None, chat_history=[{'content': \"Get player, for additional information use 'goal keeper'\", 'role': 'assistant', 'name': 'User'}, {'tool_calls': [{'id': 'call_6zAckrEDxxbffyNc4XtX5rIM', 'function': {'arguments': '{\"additional_info\":\"goal keeper\"}', 'name': 'get_player'}, 'type': 'function'}], 'content': None, 'role': 'assistant'}, {'content': 'Name: Luka, Age: 25, Additional info: goal keeper', 'tool_responses': [{'tool_call_id': 'call_6zAckrEDxxbffyNc4XtX5rIM', 'role': 'tool', 'content': 'Name: Luka, Age: 25, Additional info: goal keeper'}], 'role': 'tool', 'name': 'User'}, {'content': \"The player's name is Luka, aged 25, and he is a goal keeper. TERMINATE\", 'role': 'user', 'name': 'chatbot'}, {'content': '', 'role': 'assistant', 'name': 'User'}, {'content': \"It looks like there isn't any additional input from your side. If you need further assistance, feel free to ask! TERMINATE\", 'role': 'user', 'name': 'chatbot'}], summary=\"It looks like there isn't any additional input from your side. If you need further assistance, feel free to ask! \", cost={'usage_including_cached_inference': {'total_cost': 0.0048325, 'gpt-4o-2024-08-06': {'cost': 0.0048325, 'prompt_tokens': 1677, 'completion_tokens': 64, 'total_tokens': 1741}}, 'usage_excluding_cached_inference': {'total_cost': 0}}, human_input=[])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "user_proxy.initiate_chat(\n", " recipient=chatbot, message=\"Get player, for additional information use 'goal keeper'\", max_turns=3\n", ")" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -410,7 +610,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.16" + "version": "3.11.11" } }, "nbformat": 4, diff --git a/test/agentchat/contrib/test_web_surfer.py b/test/agentchat/contrib/test_web_surfer.py index 0111c2a03c..c6d6e714ee 100755 --- a/test/agentchat/contrib/test_web_surfer.py +++ b/test/agentchat/contrib/test_web_surfer.py @@ -21,8 +21,8 @@ sys.path.append(os.path.join(os.path.dirname(__file__), "..")) from test_assistant_agent import KEY_LOC, OAI_CONFIG_LIST # noqa: E402 -BLOG_POST_URL = "https://ag2ai.github.io/ag2/blog/2023/04/21/LLM-tuning-math" -BLOG_POST_TITLE = "Does Model and Inference Parameter Matter in LLM Applications? - A Case Study for MATH | AG2" +BLOG_POST_URL = "https://docs.ag2.ai/blog/2023-04-21-LLM-tuning-math" +BLOG_POST_TITLE = "Does Model and Inference Parameter Matter in LLM Applications? - A Case Study for MATH - AG2" BING_QUERY = "Microsoft" try: diff --git a/test/test_browser_utils.py b/test/test_browser_utils.py index f0642945ee..9c72594675 100755 --- a/test/test_browser_utils.py +++ b/test/test_browser_utils.py @@ -16,8 +16,8 @@ import requests from agentchat.test_assistant_agent import KEY_LOC # noqa: E402 -BLOG_POST_URL = "https://ag2ai.github.io/ag2/blog/2023/04/21/LLM-tuning-math" -BLOG_POST_TITLE = "Does Model and Inference Parameter Matter in LLM Applications? - A Case Study for MATH | AG2" +BLOG_POST_URL = "https://docs.ag2.ai/blog/2023-04-21-LLM-tuning-math" +BLOG_POST_TITLE = "Does Model and Inference Parameter Matter in LLM Applications? - A Case Study for MATH - AG2" BLOG_POST_STRING = "Large language models (LLMs) are powerful tools that can generate natural language texts for various applications, such as chatbots, summarization, translation, and more. GPT-4 is currently the state of the art LLM in the world. Is model selection irrelevant? What about inference parameters?" WIKIPEDIA_URL = "https://en.wikipedia.org/wiki/Microsoft" @@ -83,6 +83,7 @@ def test_simple_text_browser(): # Test that we can visit a page and find what we expect there top_viewport = browser.visit_page(BLOG_POST_URL) assert browser.viewport == top_viewport + print(browser.page_title.strip()) assert browser.page_title.strip() == BLOG_POST_TITLE.strip() assert BLOG_POST_STRING in browser.page_content.replace("\n\n", " ").replace("\\", "") diff --git a/website/blog/2023-11-20-AgentEval/index.mdx b/website/blog/2023-11-20-AgentEval/index.mdx index 5b6778acb3..5b16d91db6 100644 --- a/website/blog/2023-11-20-AgentEval/index.mdx +++ b/website/blog/2023-11-20-AgentEval/index.mdx @@ -14,7 +14,8 @@ tags: [LLM, GPT, evaluation, task utility] **TL;DR:** * As a developer of an LLM-powered application, how can you assess the utility it brings to end users while helping them with their tasks? * To shed light on the question above, we introduce `AgentEval` β€” the first version of the framework to assess the utility of any LLM-powered application crafted to assist users in specific tasks. AgentEval aims to simplify the evaluation process by automatically proposing a set of criteria tailored to the unique purpose of your application. This allows for a comprehensive assessment, quantifying the utility of your application against the suggested criteria. -* We demonstrate how `AgentEval` work using [math problems dataset](https://ag2ai.github.io/ag2/blog/2023/06/28/MathChat) as an example in the [following notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agenteval_cq_math.ipynb). Any feedback would be useful for future development. Please contact us on our [Discord](https://discord.gg/pAbnFJrkgZ). +* We demonstrate how `AgentEval` work using [math problems dataset](https://docs.ag2.ai/blog/2023-06-28-MathChat) as an example in the [following notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agenteval_cq_math.ipynb). Any feedback would be useful for future development. Please contact us on our [Discord](https://discord.gg/pAbnFJrkgZ). + ## Introduction diff --git a/website/blog/2024-01-25-AutoGenBench/index.mdx b/website/blog/2024-01-25-AutoGenBench/index.mdx index 43fe7d673d..5f5e1e7bac 100644 --- a/website/blog/2024-01-25-AutoGenBench/index.mdx +++ b/website/blog/2024-01-25-AutoGenBench/index.mdx @@ -42,7 +42,7 @@ autogenbench tabulate Results/human_eval_two_agents ## Introduction -Measurement and evaluation are core components of every major AI or ML research project. The same is true for AutoGen. To this end, today we are releasing AutoGenBench, a standalone command line tool that we have been using to guide development of AutoGen. Conveniently, AutoGenBench handles: downloading, configuring, running, and reporting results of agents on various public benchmark datasets. In addition to reporting top-line numbers, each AutoGenBench run produces a comprehensive set of logs and telemetry that can be used for debugging, profiling, computing custom metrics, and as input to [AgentEval](https://ag2ai.github.io/ag2/blog/2023/11/20/AgentEval). In the remainder of this blog post, we outline core design principles for AutoGenBench (key to understanding its operation); present a guide to installing and running AutoGenBench; outline a roadmap for evaluation; and conclude with an open call for contributions. +Measurement and evaluation are core components of every major AI or ML research project. The same is true for AutoGen. To this end, today we are releasing AutoGenBench, a standalone command line tool that we have been using to guide development of AutoGen. Conveniently, AutoGenBench handles: downloading, configuring, running, and reporting results of agents on various public benchmark datasets. In addition to reporting top-line numbers, each AutoGenBench run produces a comprehensive set of logs and telemetry that can be used for debugging, profiling, computing custom metrics, and as input to [AgentEval](https://docs.ag2.ai/blog/2023-11-20-AgentEval). In the remainder of this blog post, we outline core design principles for AutoGenBench (key to understanding its operation); present a guide to installing and running AutoGenBench; outline a roadmap for evaluation; and conclude with an open call for contributions. ## Design Principles @@ -52,7 +52,7 @@ AutoGenBench is designed around three core design principles. Knowing these prin - **Isolation:** Agents interact with their worlds in both subtle and overt ways. For example an agent may install a python library or write a file to disk. This can lead to ordering effects that can impact future measurements. Consider, for example, comparing two agents on a common benchmark. One agent may appear more efficient than the other simply because it ran second, and benefitted from the hard work the first agent did in installing and debugging necessary Python libraries. To address this, AutoGenBench isolates each task in its own Docker container. This ensures that all runs start with the same initial conditions. (Docker is also a _much safer way to run agent-produced code_, in general.) -- **Instrumentation:** While top-line metrics are great for comparing agents or models, we often want much more information about how the agents are performing, where they are getting stuck, and how they can be improved. We may also later think of new research questions that require computing a different set of metrics. To this end, AutoGenBench is designed to log everything, and to compute metrics from those logs. This ensures that one can always go back to the logs to answer questions about what happened, run profiling software, or feed the logs into tools like [AgentEval](https://ag2ai.github.io/ag2/blog/2023/11/20/AgentEval). +- **Instrumentation:** While top-line metrics are great for comparing agents or models, we often want much more information about how the agents are performing, where they are getting stuck, and how they can be improved. We may also later think of new research questions that require computing a different set of metrics. To this end, AutoGenBench is designed to log everything, and to compute metrics from those logs. This ensures that one can always go back to the logs to answer questions about what happened, run profiling software, or feed the logs into tools like [AgentEval](https://docs.ag2.ai/blog/2023-11-20-AgentEval). ## Installing and Running AutoGenBench diff --git a/website/blog/2024-05-24-Agent/index.mdx b/website/blog/2024-05-24-Agent/index.mdx index 1662999763..0251376598 100644 --- a/website/blog/2024-05-24-Agent/index.mdx +++ b/website/blog/2024-05-24-Agent/index.mdx @@ -143,7 +143,7 @@ better with low cost. [EcoAssistant](/blog/2023/11/09/EcoAssistant) is a good ex There are certainly tradeoffs to make. The large design space of multi-agents offers these tradeoffs and opens up new opportunities for optimization. -> Over a year since the debut of Ask AT&T, the generative AI platform to which we’ve onboarded over 80,000 users, AT&T has been enhancing its capabilities by incorporating 'AI Agents'. These agents, powered by the Autogen framework pioneered by Microsoft (https://ag2ai.github.io/ag2/blog/2023/12/01/AutoGenStudio/), are designed to tackle complicated workflows and tasks that traditional language models find challenging. To drive collaboration, AT&T is contributing back to the open-source project by introducing features that facilitate enhanced security and role-based access for various projects and data. +> Over a year since the debut of Ask AT&T, the generative AI platform to which we’ve onboarded over 80,000 users, AT&T has been enhancing its capabilities by incorporating 'AI Agents'. These agents, powered by the Autogen framework pioneered by Microsoft (https://docs.ag2.ai/blog/2023-12-01-AutoGenStudio/), are designed to tackle complicated workflows and tasks that traditional language models find challenging. To drive collaboration, AT&T is contributing back to the open-source project by introducing features that facilitate enhanced security and role-based access for various projects and data. > > > Andy Markus, Chief Data Officer at AT&T diff --git a/website/blog/2024-06-21-AgentEval/index.mdx b/website/blog/2024-06-21-AgentEval/index.mdx index e277096240..7327337b1d 100644 --- a/website/blog/2024-06-21-AgentEval/index.mdx +++ b/website/blog/2024-06-21-AgentEval/index.mdx @@ -15,13 +15,13 @@ tags: [LLM, GPT, evaluation, task utility] TL;DR: * As a developer, how can you assess the utility and effectiveness of an LLM-powered application in helping end users with their tasks? -* To shed light on the question above, we previously introduced [`AgentEval`](https://ag2ai.github.io/ag2/blog/2023/11/20/AgentEval/) β€” a framework to assess the multi-dimensional utility of any LLM-powered application crafted to assist users in specific tasks. We have now embedded it as part of the AutoGen library to ease developer adoption. +* To shed light on the question above, we previously introduced [`AgentEval`](https://docs.ag2.ai/blog/2023-11-20-AgentEval/) β€” a framework to assess the multi-dimensional utility of any LLM-powered application crafted to assist users in specific tasks. We have now embedded it as part of the AutoGen library to ease developer adoption. * Here, we introduce an updated version of AgentEval that includes a verification process to estimate the robustness of the QuantifierAgent. More details can be found in [this paper](https://arxiv.org/abs/2405.02178). ## Introduction -Previously introduced [`AgentEval`](https://ag2ai.github.io/ag2/blog/2023/11/20/AgentEval/) is a comprehensive framework designed to bridge the gap in assessing the utility of LLM-powered applications. It leverages recent advancements in LLMs to offer a scalable and cost-effective alternative to traditional human evaluations. The framework comprises three main agents: `CriticAgent`, `QuantifierAgent`, and `VerifierAgent`, each playing a crucial role in assessing the task utility of an application. +Previously introduced [`AgentEval`](https://docs.ag2.ai/blog/2023-11-20-AgentEval/) is a comprehensive framework designed to bridge the gap in assessing the utility of LLM-powered applications. It leverages recent advancements in LLMs to offer a scalable and cost-effective alternative to traditional human evaluations. The framework comprises three main agents: `CriticAgent`, `QuantifierAgent`, and `VerifierAgent`, each playing a crucial role in assessing the task utility of an application. **CriticAgent: Defining the Criteria** diff --git a/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx b/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx index 34af0bf523..9ddab7605a 100644 --- a/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx +++ b/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx @@ -194,4 +194,4 @@ The **Prompt Leakage Probing Framework** provides a tool to help test LLM agents For more details about **Prompt Leakage Probing**, please explore our [codebase](https://github.com/airtai/prompt-leakage-probing). -Additionally, check out [AutoDefense](https://ag2ai.github.io/ag2/blog/2024/03/11/AutoDefense/Defending%20LLMs%20Against%20Jailbreak%20Attacks%20with%20AutoDefense), which aligns with future directions for this work. One proposed idea is to use the testing system to compare the performance of unprotected LLMs versus LLMs fortified with AutoDefense protection. The testing system can serve as an evaluator for different defense strategies, with the expectation that AutoDefense provides enhanced safety. +Additionally, check out [AutoDefense](https://docs.ag2.ai/blog/2024-03-11-AutoDefense), which aligns with future directions for this work. One proposed idea is to use the testing system to compare the performance of unprotected LLMs versus LLMs fortified with AutoDefense protection. The testing system can serve as an evaluator for different defense strategies, with the expectation that AutoDefense provides enhanced safety. diff --git a/website/blog/2024-12-18-Reasoning-Update/index.mdx b/website/blog/2024-12-18-Reasoning-Update/index.mdx index de71906f9a..acef6974c7 100644 --- a/website/blog/2024-12-18-Reasoning-Update/index.mdx +++ b/website/blog/2024-12-18-Reasoning-Update/index.mdx @@ -26,7 +26,7 @@ tags: [LLM, GPT, research, tutorial] ## Introduction -In our [previous post](https://ag2ai.github.io/ag2/blog/2024/12/02/ReasoningAgent2/), we introduced the ReasoningAgent, which utilized Beam Search for systematic reasoning. Today, we include MCTS (Monte Carlo Tree Search) and Language Agent Tree Search (LATS) as alternative search strategies, which present advantages in different scenarios. +In our [previous post](https://docs.ag2.ai/blog/2024-12-02-ReasoningAgent2/), we introduced the ReasoningAgent, which utilized Beam Search for systematic reasoning. Today, we include MCTS (Monte Carlo Tree Search) and Language Agent Tree Search (LATS) as alternative search strategies, which present advantages in different scenarios. Our previous ReasoningAgent draws inspiration from OpenAI's 2023 paper, [Let's Verify Step by Step](https://arxiv.org/pdf/2305.20050), as well as the 2024 [O1](https://openai.com/o1/) feature. The landscape of contemporary research is rich, with notable works such as [DeepSeek-R1](https://api-docs.deepseek.com/news/news1120), [Macro-O1](https://github.com/AIDC-AI/Marco-o1), and [OpenR](https://github.com/openreasoner/openr). @@ -275,7 +275,7 @@ The new ReasoningAgent offers a flexible toolkit for systematic reasoning with L ## For Further Reading -* [Original ReasoningAgent with Beam Search](https://ag2ai.github.io/ag2/blog/2024/12/02/ReasoningAgent2/) +* [Original ReasoningAgent with Beam Search](https://docs.ag2.ai/blog/2024-12-02-ReasoningAgent2/) * [Documentation about ReasoningAgent](/docs/reference/agentchat/contrib/reasoning_agent) * [MCTS in Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search) * [Example Notebook](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_reasoning_agent/) From 948274d426e3869a16d728e1be6f55d508326d8c Mon Sep 17 00:00:00 2001 From: Mark Sze Date: Fri, 20 Dec 2024 03:39:24 +0000 Subject: [PATCH 2/4] Notebook links update --- notebook/agentchat_databricks_dbrx.ipynb | 2 +- notebook/agentchat_swarm_enhanced.ipynb | 2 +- website/blog/2024-02-11-FSM-GroupChat/index.mdx | 2 +- website/blog/2024-06-24-AltModels-Classes/index.mdx | 4 ++-- website/blog/2024-07-25-AgentOps/index.mdx | 2 +- website/blog/2024-11-15-CaptainAgent/index.mdx | 2 +- website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx | 2 +- website/blog/2024-12-02-ReasoningAgent2/index.mdx | 2 +- website/blog/2024-12-06-FalkorDB-Structured/index.mdx | 8 ++++---- website/blog/2024-12-18-Reasoning-Update/index.mdx | 2 +- website/docs/Use-Cases/agent_chat.mdx | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/notebook/agentchat_databricks_dbrx.ipynb b/notebook/agentchat_databricks_dbrx.ipynb index a1bd443d53..59d6e84a6b 100644 --- a/notebook/agentchat_databricks_dbrx.ipynb +++ b/notebook/agentchat_databricks_dbrx.ipynb @@ -498,7 +498,7 @@ "\n", "It can be useful to display chat logs to the notebook for debugging, and then persist those logs to a Delta table. The following section demonstrates how to extend the default AutoGen logging libraries.\n", "\n", - "First, we will implement a Python `class` that extends the capabilities of `autogen.runtime_logging` [docs](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_logging):" + "First, we will implement a Python `class` that extends the capabilities of `autogen.runtime_logging` [docs](https://docs.ag2.ai/notebooks/agentchat_logging):" ] }, { diff --git a/notebook/agentchat_swarm_enhanced.ipynb b/notebook/agentchat_swarm_enhanced.ipynb index 2a368f621a..f6185b447b 100644 --- a/notebook/agentchat_swarm_enhanced.ipynb +++ b/notebook/agentchat_swarm_enhanced.ipynb @@ -10,7 +10,7 @@ "\n", "In this notebook, we look at more advanced features of the swarm orchestration.\n", "\n", - "If you are new to swarm, check out [this notebook](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_swarm), where we introduce the core features of swarms including global context variables, hand offs, and initiating a swarm chat.\n", + "If you are new to swarm, check out [this notebook](https://docs.ag2.ai/notebooks/agentchat_swarm), where we introduce the core features of swarms including global context variables, hand offs, and initiating a swarm chat.\n", "\n", "In this notebook we're going to demonstrate these features AG2's swarm orchestration:\n", "\n", diff --git a/website/blog/2024-02-11-FSM-GroupChat/index.mdx b/website/blog/2024-02-11-FSM-GroupChat/index.mdx index 91f9ca429e..1a504091a6 100644 --- a/website/blog/2024-02-11-FSM-GroupChat/index.mdx +++ b/website/blog/2024-02-11-FSM-GroupChat/index.mdx @@ -285,4 +285,4 @@ pip install autogen[graph] ``` ## Notebook examples -More examples can be found in the [notebook](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_groupchat_finite_state_machine/). The notebook includes more examples of possible transition paths such as (1) hub and spoke, (2) sequential team operations, and (3) think aloud and debate. It also uses the function `visualize_speaker_transitions_dict` from `autogen.graph_utils` to visualize the various graphs. +More examples can be found in the [notebook](https://docs.ag2.ai/notebooks/agentchat_groupchat_finite_state_machine/). The notebook includes more examples of possible transition paths such as (1) hub and spoke, (2) sequential team operations, and (3) think aloud and debate. It also uses the function `visualize_speaker_transitions_dict` from `autogen.graph_utils` to visualize the various graphs. diff --git a/website/blog/2024-06-24-AltModels-Classes/index.mdx b/website/blog/2024-06-24-AltModels-Classes/index.mdx index d624c80096..01e40db3cd 100644 --- a/website/blog/2024-06-24-AltModels-Classes/index.mdx +++ b/website/blog/2024-06-24-AltModels-Classes/index.mdx @@ -150,7 +150,7 @@ user_proxy.intiate_chat(assistant, message="Write python code to print Hello Wor ``` -**NOTE: To integrate this setup into GroupChat, follow the [tutorial](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_groupchat) with the same config as above.** +**NOTE: To integrate this setup into GroupChat, follow the [tutorial](https://docs.ag2.ai/notebooks/agentchat_groupchat) with the same config as above.** ## Function Calls @@ -390,4 +390,4 @@ So we can see how Anthropic's Sonnet is able to suggest multiple tools in a sing ## More tips and tricks -For an interesting chess game between Anthropic's Sonnet and Mistral's Mixtral, we've put together a sample notebook that highlights some of the tips and tricks for working with non-OpenAI LLMs. [See the notebook here](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_nested_chats_chess_altmodels). +For an interesting chess game between Anthropic's Sonnet and Mistral's Mixtral, we've put together a sample notebook that highlights some of the tips and tricks for working with non-OpenAI LLMs. [See the notebook here](https://docs.ag2.ai/notebooks/agentchat_nested_chats_chess_altmodels). diff --git a/website/blog/2024-07-25-AgentOps/index.mdx b/website/blog/2024-07-25-AgentOps/index.mdx index 4ea260c288..8a511946fb 100644 --- a/website/blog/2024-07-25-AgentOps/index.mdx +++ b/website/blog/2024-07-25-AgentOps/index.mdx @@ -28,7 +28,7 @@ Agent observability, in its most basic form, allows you to monitor, troubleshoot ## Why AgentOps? -AutoGen has simplified the process of building agents, yet we recognized the need for an easy-to-use, native tool for observability. We've previously discussed AgentOps, and now we're excited to partner with AgentOps as our official agent observability tool. Integrating AgentOps with AutoGen simplifies your workflow and boosts your agents' performance through clear observability, ensuring they operate optimally. For more details, check out our [AgentOps documentation](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_agentops/). +AutoGen has simplified the process of building agents, yet we recognized the need for an easy-to-use, native tool for observability. We've previously discussed AgentOps, and now we're excited to partner with AgentOps as our official agent observability tool. Integrating AgentOps with AutoGen simplifies your workflow and boosts your agents' performance through clear observability, ensuring they operate optimally. For more details, check out our [AgentOps documentation](https://docs.ag2.ai/notebooks/agentchat_agentops/). Agent Session Replay diff --git a/website/blog/2024-11-15-CaptainAgent/index.mdx b/website/blog/2024-11-15-CaptainAgent/index.mdx index 25251b6608..36001400ed 100644 --- a/website/blog/2024-11-15-CaptainAgent/index.mdx +++ b/website/blog/2024-11-15-CaptainAgent/index.mdx @@ -93,7 +93,7 @@ result = user_proxy.initiate_chat(captain_agent, message=query) # Further Reading For a detailed description of how to configure the CaptainAgent, please refer to - [document](https://ag2ai.github.io/ag2/docs/topics/captainagent/agent_library). -- [Notebook example](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_captainagent/) +- [Notebook example](https://docs.ag2.ai/notebooks/agentchat_captainagent/) Please also refer to our [paper](https://arxiv.org/pdf/2405.19425) for more details about CaptainAgent and the proposed new team-building paradigm: adaptive build. diff --git a/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx b/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx index 9ddab7605a..8e12abf2c6 100644 --- a/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx +++ b/website/blog/2024-11-27-Prompt-Leakage-Probing/index.mdx @@ -80,7 +80,7 @@ The **Prompt Leakage Probing Framework** leverages key agentic design patterns f 1. **Group Chat Pattern** - The chat between agents in this project is modeled on the [Group Chat Pattern](https://ag2ai.github.io/ag2/docs/tutorial/conversation-patterns#group-chat), where multiple agents collaboratively interact to perform tasks. - This structure allows for seamless coordination between agents like the prompt generator, classifier, and user proxy agent. - - The chat has a [custom speaker selection](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_groupchat_customized) method implemented so that it guarantees the prompt->response->classification chat flow. + - The chat has a [custom speaker selection](https://docs.ag2.ai/notebooks/agentchat_groupchat_customized) method implemented so that it guarantees the prompt->response->classification chat flow. 2. **ConversableAgents** - The system includes two [ConversableAgents](https://ag2ai.github.io/ag2/docs/reference/agentchat/conversable_agent#conversableagent): diff --git a/website/blog/2024-12-02-ReasoningAgent2/index.mdx b/website/blog/2024-12-02-ReasoningAgent2/index.mdx index e29c9e4821..f726a53f5e 100644 --- a/website/blog/2024-12-02-ReasoningAgent2/index.mdx +++ b/website/blog/2024-12-02-ReasoningAgent2/index.mdx @@ -258,7 +258,7 @@ The implementation is flexible and can be customized for different types of prob ## For Further Reading * [Documentation about ReasoningAgent](/docs/reference/agentchat/contrib/reasoning_agent) -* [Example notebook](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_reasoning_agent/) +* [Example notebook](https://docs.ag2.ai/notebooks/agentchat_reasoning_agent/) * [The Original research paper about Tree of Thoughts](https://arxiv.org/abs/2305.10601) from Google DeepMind and Princeton University. *Do you have interesting use cases for ReasoningAgent? Would you like to see more features or improvements? Please join our [Discord](https://discord.com/invite/pAbnFJrkgZ) server for discussion.* diff --git a/website/blog/2024-12-06-FalkorDB-Structured/index.mdx b/website/blog/2024-12-06-FalkorDB-Structured/index.mdx index 85e68c26a6..6ea5edffff 100644 --- a/website/blog/2024-12-06-FalkorDB-Structured/index.mdx +++ b/website/blog/2024-12-06-FalkorDB-Structured/index.mdx @@ -121,7 +121,7 @@ Based on the provided information, there is no additional data about other actor -------------------------------------------------------------------------------- ``` -For a more in-depth example, [see this notebook](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_swarm_graphrag_trip_planner/) where we create this Trip Planner workflow. +For a more in-depth example, [see this notebook](https://docs.ag2.ai/notebooks/agentchat_swarm_graphrag_trip_planner/) where we create this Trip Planner workflow. ![Trip Planner](img/tripplanner.png) ## Structured Outputs @@ -181,7 +181,7 @@ A sample response to `how can I solve 8x + 7 = -23` would be: } ``` -See the [Trip Planner](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_swarm_graphrag_trip_planner/) and [Structured Output](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_structured_outputs/) notebooks to start using Structured Outputs. +See the [Trip Planner](https://docs.ag2.ai/notebooks/agentchat_swarm_graphrag_trip_planner/) and [Structured Output](https://docs.ag2.ai/notebooks/agentchat_structured_outputs/) notebooks to start using Structured Outputs. ## Nested Chats in Swarms @@ -194,9 +194,9 @@ See the [Swarm documentation](https://ag2ai.github.io/ag2/docs/topics/swarm#regi ## For Further Reading -* [Trip Planner Notebook Example Using GraphRag, Structured Output & Swarm](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_swarm_graphrag_trip_planner/) +* [Trip Planner Notebook Example Using GraphRag, Structured Output & Swarm](https://docs.ag2.ai/notebooks/agentchat_swarm_graphrag_trip_planner/) * [Documentation about FalkorDB](https://docs.falkordb.com/) * [OpenAI's Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs) -* [Structured Output Notebook Example](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_structured_outputs/) +* [Structured Output Notebook Example](https://docs.ag2.ai/notebooks/agentchat_structured_outputs/) *Do you have interesting use cases for FalkorDB / RAG? Would you like to see more features or improvements? Please join our [Discord](https://discord.com/invite/pAbnFJrkgZ) server for discussion.* diff --git a/website/blog/2024-12-18-Reasoning-Update/index.mdx b/website/blog/2024-12-18-Reasoning-Update/index.mdx index acef6974c7..8f1fa37996 100644 --- a/website/blog/2024-12-18-Reasoning-Update/index.mdx +++ b/website/blog/2024-12-18-Reasoning-Update/index.mdx @@ -278,7 +278,7 @@ The new ReasoningAgent offers a flexible toolkit for systematic reasoning with L * [Original ReasoningAgent with Beam Search](https://docs.ag2.ai/blog/2024-12-02-ReasoningAgent2/) * [Documentation about ReasoningAgent](/docs/reference/agentchat/contrib/reasoning_agent) * [MCTS in Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search) -* [Example Notebook](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_reasoning_agent/) +* [Example Notebook](https://docs.ag2.ai/notebooks/agentchat_reasoning_agent/) *Join our [Discord](https://discord.com/invite/pAbnFJrkgZ) server to discuss your experiences with these approaches and suggest improvements.* diff --git a/website/docs/Use-Cases/agent_chat.mdx b/website/docs/Use-Cases/agent_chat.mdx index 16dd6475e9..6432d7603d 100644 --- a/website/docs/Use-Cases/agent_chat.mdx +++ b/website/docs/Use-Cases/agent_chat.mdx @@ -84,7 +84,7 @@ AutoGen, by integrating conversation-driven control utilizing both programming a With the pluggable auto-reply function, one can choose to invoke conversations with other agents depending on the content of the current message and context. For example: - Hierarchical chat like in [OptiGuide](https://github.com/ag2ai/optiguide). - [Dynamic Group Chat](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_groupchat.ipynb) which is a special form of hierarchical chat. In the system, we register a reply function in the group chat manager, which broadcasts messages and decides who the next speaker will be in a group chat setting. -- [Finite State Machine graphs to set speaker transition constraints](https://ag2ai.github.io/ag2/docs/notebooks/agentchat_groupchat_finite_state_machine) which is a special form of dynamic group chat. In this approach, a directed transition matrix is fed into group chat. Users can specify legal transitions or specify disallowed transitions. +- [Finite State Machine graphs to set speaker transition constraints](https://docs.ag2.ai/notebooks/agentchat_groupchat_finite_state_machine) which is a special form of dynamic group chat. In this approach, a directed transition matrix is fed into group chat. Users can specify legal transitions or specify disallowed transitions. - Nested chat like in [conversational chess](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_nested_chats_chess.ipynb). 2. LLM-Based Function Call From 364eb1c96b379ae50522984c9cfe137919db00c8 Mon Sep 17 00:00:00 2001 From: Mark Sze Date: Fri, 20 Dec 2024 03:48:09 +0000 Subject: [PATCH 3/4] notebook links --- ...entchat_nested_chats_chess_altmodels.ipynb | 2 +- website/blog/2024-02-29-StateFlow/index.mdx | 4 +- .../blog/2024-03-03-AutoGen-Update/index.mdx | 4 +- website/blog/2024-11-17-Swarm/index.mdx | 6 +- .../blog/2024-12-18-RealtimeAgent/index.mdx | 4 +- website/docs/Examples.mdx | 112 ++++----- website/docs/ecosystem/agentops.mdx | 2 +- .../installation/Optional-Dependencies.mdx | 8 +- website/docs/topics/llm-observability.mdx | 4 +- .../openai-assistant/gpt_assistant_agent.mdx | 6 +- .../docs/topics/retrieval_augmentation.mdx | 4 +- .../docs/tutorial/conversation-patterns.ipynb | 2 +- website/docs/tutorial/tool-use.ipynb | 234 +++++++++--------- website/docusaurus.config.js | 8 +- website/snippets/data/NotebooksMetadata.mdx | 2 +- website/src/components/NotebookUtils.js | 2 +- 16 files changed, 202 insertions(+), 202 deletions(-) diff --git a/notebook/agentchat_nested_chats_chess_altmodels.ipynb b/notebook/agentchat_nested_chats_chess_altmodels.ipynb index 80eb361051..0a3f0bd119 100644 --- a/notebook/agentchat_nested_chats_chess_altmodels.ipynb +++ b/notebook/agentchat_nested_chats_chess_altmodels.ipynb @@ -8,7 +8,7 @@ "\n", "This notebook provides tips for using non-OpenAI models when using functions/tools.\n", "\n", - "The code is based on [this notebook](/docs/notebooks/agentchat_nested_chats_chess),\n", + "The code is based on [this notebook](/notebooks/agentchat_nested_chats_chess),\n", "which provides a detailed look at nested chats for tool use. Please refer to that\n", "notebook for more on nested chats as this will be concentrated on tweaks to\n", "improve performance with non-OpenAI models.\n", diff --git a/website/blog/2024-02-29-StateFlow/index.mdx b/website/blog/2024-02-29-StateFlow/index.mdx index c4fff53132..3779865dfc 100644 --- a/website/blog/2024-02-29-StateFlow/index.mdx +++ b/website/blog/2024-02-29-StateFlow/index.mdx @@ -148,7 +148,7 @@ When returning `None`, the group chat will terminate. Note that some of the tran ## For Further Reading * [StateFlow paper](https://arxiv.org/abs/2403.11322) -* [StateFlow notebook](/docs/notebooks/agentchat_groupchat_stateflow) -* [GroupChat with Customized Speaker Selection notebook](/docs/notebooks/agentchat_groupchat_customized) +* [StateFlow notebook](/notebooks/agentchat_groupchat_stateflow) +* [GroupChat with Customized Speaker Selection notebook](/notebooks/agentchat_groupchat_customized) * [FSM Group Chat](/blog/2024/02/11/FSM-GroupChat/) * [Documentation about `autogen`](/docs/Getting-Started) diff --git a/website/blog/2024-03-03-AutoGen-Update/index.mdx b/website/blog/2024-03-03-AutoGen-Update/index.mdx index 11e7b7301b..95351a2fd1 100644 --- a/website/blog/2024-03-03-AutoGen-Update/index.mdx +++ b/website/blog/2024-03-03-AutoGen-Update/index.mdx @@ -139,7 +139,7 @@ The community has been working hard to address them in several dimensions: We are working on agent-based evaluation tools and benchmarking tools. For example: - [AgentEval](/blog/2023/11/20/AgentEval). Our [research](https://arxiv.org/abs/2402.09015) finds that LLM agents built with AutoGen can be used to automatically identify evaluation criteria and assess the performance from task descriptions and execution logs. It is demonstrated as a [notebook example](https://github.com/ag2ai/ag2/blob/main/notebook/agenteval_cq_math.ipynb). Feedback and help are welcome for building it into the library. -- [AutoGenBench](/blog/2024/01/25/AutoGenBench). AutoGenBench is a commandline tool for downloading, configuring, running an agentic benchmark, and reporting results. It is designed to allow repetition, isolation and instrumentation, leveraging the new [runtime logging](/docs/notebooks/agentchat_logging) feature. +- [AutoGenBench](/blog/2024/01/25/AutoGenBench). AutoGenBench is a commandline tool for downloading, configuring, running an agentic benchmark, and reporting results. It is designed to allow repetition, isolation and instrumentation, leveraging the new [runtime logging](/notebooks/agentchat_logging) feature. These tools have been used for improving the AutoGen library as well as applications. For example, the new state-of-the-art performance achieved by a multi-agent solution to the [GAIA](https://huggingface.co/spaces/gaia-benchmark/leaderboard) benchmark has benefited from these evaluation tools. @@ -149,7 +149,7 @@ We are making rapid progress in further improving the interface to make it even - [AutoBuild](/blog/2023/11/26/Agent-AutoBuild). AutoBuild is an ongoing area of research to automatically create or select a group of agents for a given task and objective. If successful, it will greatly reduce the effort from users or developers when using the multi-agent technology. It also paves the way for agentic decomposition to handle complex tasks. It is available as an experimental feature and demonstrated in two modes: free-form [creation](https://github.com/ag2ai/ag2/blob/main/notebook/autobuild_basic.ipynb) and [selection](https://github.com/ag2ai/ag2/blob/main/notebook/autobuild_agent_library.ipynb) from a library. - [AutoGen Studio](/blog/2023/12/01/AutoGenStudio). AutoGen Studio is a no-code UI for fast experimentation with the multi-agent conversations. It lowers the barrier of entrance to the AutoGen technology. Models, agents, and workflows can all be configured without writing code. And chatting with multiple agents in a playground is immediately available after the configuration. Although only a subset of `autogen` features are available in this sample app, it demonstrates a promising experience. It has generated tremendous excitement in the community. -- Conversation Programming+. The [AutoGen paper](https://arxiv.org/abs/2308.08155) introduced a key concept of _Conversation Programming_, which can be used to program diverse conversation patterns such as 1-1 chat, group chat, hierarchical chat, nested chat etc. While we offered dynamic group chat as an example of high-level orchestration, it made other patterns relatively less discoverable. Therefore, we have added more convenient conversation programming features which enables easier definition of other types of complex workflow, such as [finite state machine based group chat](/blog/2024/02/11/FSM-GroupChat), [sequential chats](/docs/notebooks/agentchats_sequential_chats), and [nested chats](/docs/notebooks/agentchat_nestedchat). Many users have found them useful in implementing specific patterns, which have been always possible but more obvious with the added features. I will write another blog post for a deep dive. +- Conversation Programming+. The [AutoGen paper](https://arxiv.org/abs/2308.08155) introduced a key concept of _Conversation Programming_, which can be used to program diverse conversation patterns such as 1-1 chat, group chat, hierarchical chat, nested chat etc. While we offered dynamic group chat as an example of high-level orchestration, it made other patterns relatively less discoverable. Therefore, we have added more convenient conversation programming features which enables easier definition of other types of complex workflow, such as [finite state machine based group chat](/blog/2024/02/11/FSM-GroupChat), [sequential chats](/notebooks/agentchats_sequential_chats), and [nested chats](/notebooks/agentchat_nestedchat). Many users have found them useful in implementing specific patterns, which have been always possible but more obvious with the added features. I will write another blog post for a deep dive. ### Learning/Optimization/Teaching diff --git a/website/blog/2024-11-17-Swarm/index.mdx b/website/blog/2024-11-17-Swarm/index.mdx index d55c3d30b6..de17307622 100644 --- a/website/blog/2024-11-17-Swarm/index.mdx +++ b/website/blog/2024-11-17-Swarm/index.mdx @@ -19,7 +19,7 @@ Besides these core features, AG2 provides: - **Transition Beyond Tool Calls**: We enable the ability to automatically transfer to a nominated swarm agent when an agent has completed their task. We will extend this to allow other transitions in the future (e.g., use a function to determine the next agent ). - **Built-in human-in-the-loop**: Adding a user agent (UserProxyAgent) to your swarm will allow swarm agents to transition back to the user. Provides a means to clarify and confirm with the user without breaking out of the swarm. -This feature builds on GroupChat, offering a simpler interface to use swarm orchestration. For comparison, see two implementations of the same example: one [using swarm orchestration](/docs/notebooks/agentchat_swarm) and another [naive implementation with GroupChat (Legacy)](/docs/notebooks/agentchat_swarm_w_groupchat_legacy). +This feature builds on GroupChat, offering a simpler interface to use swarm orchestration. For comparison, see two implementations of the same example: one [using swarm orchestration](/notebooks/agentchat_swarm) and another [naive implementation with GroupChat (Legacy)](/notebooks/agentchat_swarm_w_groupchat_legacy). ## Handoffs @@ -334,6 +334,6 @@ Context Variables: ## For Further Reading * [Swarm Orchestration Documentation](/docs/topics/swarm) -* [Swarm Orchestration Notebook](/docs/notebooks/agentchat_swarm) +* [Swarm Orchestration Notebook](/notebooks/agentchat_swarm) * [(Legacy) Implement Swarm-style Orchestration with GroupChat -](/docs/notebooks/agentchat_swarm_w_groupchat_legacy) +](/notebooks/agentchat_swarm_w_groupchat_legacy) diff --git a/website/blog/2024-12-18-RealtimeAgent/index.mdx b/website/blog/2024-12-18-RealtimeAgent/index.mdx index d41f357bd9..094533bf93 100644 --- a/website/blog/2024-12-18-RealtimeAgent/index.mdx +++ b/website/blog/2024-12-18-RealtimeAgent/index.mdx @@ -122,9 +122,9 @@ To connect Twilio with your RealtimeAgent, follow these steps: You’re now ready to test the integration between Twilio and your RealtimeAgent! ### **Swarm Implementation for Airline Customer Service** -In this section, we’ll configure a Swarm to handle airline customer service tasks, such as flight changes and cancellations. This implementation builds upon the [original Swarm example notebook](/docs/notebooks/agentchat_swarm), which we’ve adapted to work seamlessly with the RealtimeAgent acting as a `UserProxyAgent`. +In this section, we’ll configure a Swarm to handle airline customer service tasks, such as flight changes and cancellations. This implementation builds upon the [original Swarm example notebook](/notebooks/agentchat_swarm), which we’ve adapted to work seamlessly with the RealtimeAgent acting as a `UserProxyAgent`. -You can explore and run the complete implementation of the RealtimeAgent demonstrated here by visiting [this notebook](/docs/notebooks/agentchat_realtime_swarm). +You can explore and run the complete implementation of the RealtimeAgent demonstrated here by visiting [this notebook](/notebooks/agentchat_realtime_swarm). For the sake of brevity, we’ll focus on the key sections of the Swarm setup in this blog post, highlighting the essential components. diff --git a/website/docs/Examples.mdx b/website/docs/Examples.mdx index aa92f534a7..f693a6e584 100644 --- a/website/docs/Examples.mdx +++ b/website/docs/Examples.mdx @@ -11,111 +11,111 @@ Links to notebook examples: ### Code Generation, Execution, and Debugging -- Automated Task Solving with Code Generation, Execution & Debugging - [View Notebook](/docs/notebooks/agentchat_auto_feedback_from_code_execution) -- Automated Code Generation and Question Answering with Retrieval Augmented Agents - [View Notebook](/docs/notebooks/agentchat_RetrieveChat) -- Automated Code Generation and Question Answering with [Qdrant](https://qdrant.tech/) based Retrieval Augmented Agents - [View Notebook](/docs/notebooks/agentchat_RetrieveChat_qdrant) +- Automated Task Solving with Code Generation, Execution & Debugging - [View Notebook](/notebooks/agentchat_auto_feedback_from_code_execution) +- Automated Code Generation and Question Answering with Retrieval Augmented Agents - [View Notebook](/notebooks/agentchat_RetrieveChat) +- Automated Code Generation and Question Answering with [Qdrant](https://qdrant.tech/) based Retrieval Augmented Agents - [View Notebook](/notebooks/agentchat_RetrieveChat_qdrant) ### Multi-Agent Collaboration (>3 Agents) -- Automated Task Solving by Group Chat (with 3 group member agents and 1 manager agent) - [View Notebook](/docs/notebooks/agentchat_groupchat) -- Automated Data Visualization by Group Chat (with 3 group member agents and 1 manager agent) - [View Notebook](/docs/notebooks/agentchat_groupchat_vis) -- Automated Complex Task Solving by Group Chat (with 6 group member agents and 1 manager agent) - [View Notebook](/docs/notebooks/agentchat_groupchat_research) -- Automated Task Solving with Coding & Planning Agents - [View Notebook](/docs/notebooks/agentchat_planning) -- Automated Task Solving with transition paths specified in a graph - [View Notebook](/docs/notebooks/agentchat_groupchat_finite_state_machine) -- Running a group chat as an inner-monolgue via the SocietyOfMindAgent - [View Notebook](/docs/notebooks/agentchat_society_of_mind) -- Running a group chat with custom speaker selection function - [View Notebook](/docs/notebooks/agentchat_groupchat_customized) +- Automated Task Solving by Group Chat (with 3 group member agents and 1 manager agent) - [View Notebook](/notebooks/agentchat_groupchat) +- Automated Data Visualization by Group Chat (with 3 group member agents and 1 manager agent) - [View Notebook](/notebooks/agentchat_groupchat_vis) +- Automated Complex Task Solving by Group Chat (with 6 group member agents and 1 manager agent) - [View Notebook](/notebooks/agentchat_groupchat_research) +- Automated Task Solving with Coding & Planning Agents - [View Notebook](/notebooks/agentchat_planning) +- Automated Task Solving with transition paths specified in a graph - [View Notebook](/notebooks/agentchat_groupchat_finite_state_machine) +- Running a group chat as an inner-monolgue via the SocietyOfMindAgent - [View Notebook](/notebooks/agentchat_society_of_mind) +- Running a group chat with custom speaker selection function - [View Notebook](/notebooks/agentchat_groupchat_customized) ### Sequential Multi-Agent Chats -- Solving Multiple Tasks in a Sequence of Chats Initiated by a Single Agent - [View Notebook](/docs/notebooks/agentchat_multi_task_chats) -- Async-solving Multiple Tasks in a Sequence of Chats Initiated by a Single Agent - [View Notebook](/docs/notebooks/agentchat_multi_task_async_chats) -- Solving Multiple Tasks in a Sequence of Chats Initiated by Different Agents - [View Notebook](/docs/notebooks/agentchats_sequential_chats) +- Solving Multiple Tasks in a Sequence of Chats Initiated by a Single Agent - [View Notebook](/notebooks/agentchat_multi_task_chats) +- Async-solving Multiple Tasks in a Sequence of Chats Initiated by a Single Agent - [View Notebook](/notebooks/agentchat_multi_task_async_chats) +- Solving Multiple Tasks in a Sequence of Chats Initiated by Different Agents - [View Notebook](/notebooks/agentchats_sequential_chats) ### Nested Chats -- Solving Complex Tasks with Nested Chats - [View Notebook](/docs/notebooks/agentchat_nestedchat) -- Solving Complex Tasks with A Sequence of Nested Chats - [View Notebook](/docs/notebooks/agentchat_nested_sequential_chats) -- OptiGuide for Solving a Supply Chain Optimization Problem with Nested Chats with a Coding Agent and a Safeguard Agent - [View Notebook](/docs/notebooks/agentchat_nestedchat_optiguide) -- Conversational Chess with Nested Chats and Tool Use - [View Notebook](/docs/notebooks/agentchat_nested_chats_chess) +- Solving Complex Tasks with Nested Chats - [View Notebook](/notebooks/agentchat_nestedchat) +- Solving Complex Tasks with A Sequence of Nested Chats - [View Notebook](/notebooks/agentchat_nested_sequential_chats) +- OptiGuide for Solving a Supply Chain Optimization Problem with Nested Chats with a Coding Agent and a Safeguard Agent - [View Notebook](/notebooks/agentchat_nestedchat_optiguide) +- Conversational Chess with Nested Chats and Tool Use - [View Notebook](/notebooks/agentchat_nested_chats_chess) ### Swarms -- Orchestrating agents in a Swarm - [View Notebook](/docs/notebooks/agentchat_swarm) -- Orchestrating agents in a Swarm (Enhanced) - [View Notebook](/docs/notebooks/agentchat_swarm_enhanced) +- Orchestrating agents in a Swarm - [View Notebook](/notebooks/agentchat_swarm) +- Orchestrating agents in a Swarm (Enhanced) - [View Notebook](/notebooks/agentchat_swarm_enhanced) ### Applications -- Automated Continual Learning from New Data - [View Notebook](/docs/notebooks/agentchat_stream) +- Automated Continual Learning from New Data - [View Notebook](/notebooks/agentchat_stream) {/* - [OptiGuide](https://github.com/microsoft/optiguide) - Coding, Tool Using, Safeguarding & Question Answering for Supply Chain Optimization */} - [AutoAnny](https://github.com/ag2ai/build-with-ag2/tree/main/samples/apps/auto-anny) - A Discord bot built using AutoGen ### RAG -- GraphRAG agent using FalkorDB (feat. swarms and Google Maps API) - [View Notebook](/docs/notebooks/agentchat_swarm_graphrag_trip_planner) +- GraphRAG agent using FalkorDB (feat. swarms and Google Maps API) - [View Notebook](/notebooks/agentchat_swarm_graphrag_trip_planner) ### Tool Use -- **Web Search**: Solve Tasks Requiring Web Info - [View Notebook](/docs/notebooks/agentchat_web_info) -- Use Provided Tools as Functions - [View Notebook](/docs/notebooks/agentchat_function_call_currency_calculator) -- Use Tools via Sync and Async Function Calling - [View Notebook](/docs/notebooks/agentchat_function_call_async) -- Task Solving with Langchain Provided Tools as Functions - [View Notebook](/docs/notebooks/agentchat_langchain) -- **RAG**: Group Chat with Retrieval Augmented Generation (with 5 group member agents and 1 manager agent) - [View Notebook](/docs/notebooks/agentchat_groupchat_RAG) -- Function Inception: Enable AutoGen agents to update/remove functions during conversations. - [View Notebook](/docs/notebooks/agentchat_inception_function) -- Agent Chat with Whisper - [View Notebook](/docs/notebooks/agentchat_video_transcript_translate_with_whisper) -- Constrained Responses via Guidance - [View Notebook](/docs/notebooks/agentchat_guidance) -- Browse the Web with Agents - [View Notebook](/docs/notebooks/agentchat_surfer) -- **SQL**: Natural Language Text to SQL Query using the [Spider](https://yale-lily.github.io/spider) Text-to-SQL Benchmark - [View Notebook](/docs/notebooks/agentchat_sql_spider) -- **Web Scraping**: Web Scraping with Apify - [View Notebook](/docs/notebooks/agentchat_webscraping_with_apify) -- **Write a software app, task by task, with specially designed functions.** - [View Notebook](/docs/notebooks/agentchat_function_call_code_writing). +- **Web Search**: Solve Tasks Requiring Web Info - [View Notebook](/notebooks/agentchat_web_info) +- Use Provided Tools as Functions - [View Notebook](/notebooks/agentchat_function_call_currency_calculator) +- Use Tools via Sync and Async Function Calling - [View Notebook](/notebooks/agentchat_function_call_async) +- Task Solving with Langchain Provided Tools as Functions - [View Notebook](/notebooks/agentchat_langchain) +- **RAG**: Group Chat with Retrieval Augmented Generation (with 5 group member agents and 1 manager agent) - [View Notebook](/notebooks/agentchat_groupchat_RAG) +- Function Inception: Enable AutoGen agents to update/remove functions during conversations. - [View Notebook](/notebooks/agentchat_inception_function) +- Agent Chat with Whisper - [View Notebook](/notebooks/agentchat_video_transcript_translate_with_whisper) +- Constrained Responses via Guidance - [View Notebook](/notebooks/agentchat_guidance) +- Browse the Web with Agents - [View Notebook](/notebooks/agentchat_surfer) +- **SQL**: Natural Language Text to SQL Query using the [Spider](https://yale-lily.github.io/spider) Text-to-SQL Benchmark - [View Notebook](/notebooks/agentchat_sql_spider) +- **Web Scraping**: Web Scraping with Apify - [View Notebook](/notebooks/agentchat_webscraping_with_apify) +- **Write a software app, task by task, with specially designed functions.** - [View Notebook](/notebooks/agentchat_function_call_code_writing). ### Human Involvement - Simple example in ChatGPT style [View example](https://github.com/ag2ai/build-with-ag2/blob/main/samples/simple_chat.py) -- Auto Code Generation, Execution, Debugging and **Human Feedback** - [View Notebook](/docs/notebooks/agentchat_human_feedback) -- Automated Task Solving with GPT-4 + **Multiple Human Users** - [View Notebook](/docs/notebooks/agentchat_two_users) -- Agent Chat with **Async Human Inputs** - [View Notebook](/docs/notebooks/async_human_input) +- Auto Code Generation, Execution, Debugging and **Human Feedback** - [View Notebook](/notebooks/agentchat_human_feedback) +- Automated Task Solving with GPT-4 + **Multiple Human Users** - [View Notebook](/notebooks/agentchat_two_users) +- Agent Chat with **Async Human Inputs** - [View Notebook](/notebooks/async_human_input) ### Agent Teaching and Learning -- Teach Agents New Skills & Reuse via Automated Chat - [View Notebook](/docs/notebooks/agentchat_teaching) -- Teach Agents New Facts, User Preferences and Skills Beyond Coding - [View Notebook](/docs/notebooks/agentchat_teachability) -- Teach OpenAI Assistants Through GPTAssistantAgent - [View Notebook](/docs/notebooks/agentchat_teachable_oai_assistants) -- Agent Optimizer: Train Agents in an Agentic Way - [View Notebook](/docs/notebooks/agentchat_agentoptimizer) +- Teach Agents New Skills & Reuse via Automated Chat - [View Notebook](/notebooks/agentchat_teaching) +- Teach Agents New Facts, User Preferences and Skills Beyond Coding - [View Notebook](/notebooks/agentchat_teachability) +- Teach OpenAI Assistants Through GPTAssistantAgent - [View Notebook](/notebooks/agentchat_teachable_oai_assistants) +- Agent Optimizer: Train Agents in an Agentic Way - [View Notebook](/notebooks/agentchat_agentoptimizer) ### Multi-Agent Chat with OpenAI Assistants in the loop -- Hello-World Chat with OpenAi Assistant in AutoGen - [View Notebook](/docs/notebooks/agentchat_oai_assistant_twoagents_basic) -- Chat with OpenAI Assistant using Function Call - [View Notebook](/docs/notebooks/agentchat_oai_assistant_function_call) -- Chat with OpenAI Assistant with Code Interpreter - [View Notebook](/docs/notebooks/agentchat_oai_code_interpreter) -- Chat with OpenAI Assistant with Retrieval Augmentation - [View Notebook](/docs/notebooks/agentchat_oai_assistant_retrieval) -- OpenAI Assistant in a Group Chat - [View Notebook](/docs/notebooks/agentchat_oai_assistant_groupchat) -- GPTAssistantAgent based Multi-Agent Tool Use - [View Notebook](/docs/notebooks/gpt_assistant_agent_function_call) +- Hello-World Chat with OpenAi Assistant in AutoGen - [View Notebook](/notebooks/agentchat_oai_assistant_twoagents_basic) +- Chat with OpenAI Assistant using Function Call - [View Notebook](/notebooks/agentchat_oai_assistant_function_call) +- Chat with OpenAI Assistant with Code Interpreter - [View Notebook](/notebooks/agentchat_oai_code_interpreter) +- Chat with OpenAI Assistant with Retrieval Augmentation - [View Notebook](/notebooks/agentchat_oai_assistant_retrieval) +- OpenAI Assistant in a Group Chat - [View Notebook](/notebooks/agentchat_oai_assistant_groupchat) +- GPTAssistantAgent based Multi-Agent Tool Use - [View Notebook](/notebooks/gpt_assistant_agent_function_call) ### Non-OpenAI Models -- Conversational Chess using non-OpenAI Models - [View Notebook](/docs/notebooks/agentchat_nested_chats_chess_altmodels) +- Conversational Chess using non-OpenAI Models - [View Notebook](/notebooks/agentchat_nested_chats_chess_altmodels) ### Multimodal Agent -- Multimodal Agent Chat with DALLE and GPT-4V - [View Notebook](/docs/notebooks/agentchat_dalle_and_gpt4v) -- Multimodal Agent Chat with Llava - [View Notebook](/docs/notebooks/agentchat_lmm_llava) -- Multimodal Agent Chat with GPT-4V - [View Notebook](/docs/notebooks/agentchat_lmm_gpt-4v) +- Multimodal Agent Chat with DALLE and GPT-4V - [View Notebook](/notebooks/agentchat_dalle_and_gpt4v) +- Multimodal Agent Chat with Llava - [View Notebook](/notebooks/agentchat_lmm_llava) +- Multimodal Agent Chat with GPT-4V - [View Notebook](/notebooks/agentchat_lmm_gpt-4v) ### Long Context Handling {/* - Conversations with Chat History Compression Enabled - [View Notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_compression.ipynb) */} -- Long Context Handling as A Capability - [View Notebook](/docs/notebooks/agentchat_transform_messages) +- Long Context Handling as A Capability - [View Notebook](/notebooks/agentchat_transform_messages) ### Evaluation and Assessment -- AgentEval: A Multi-Agent System for Assess Utility of LLM-powered Applications - [View Notebook](/docs/notebooks/agenteval_cq_math) +- AgentEval: A Multi-Agent System for Assess Utility of LLM-powered Applications - [View Notebook](/notebooks/agenteval_cq_math) ### Automatic Agent Building -- Automatically Build Multi-agent System with AgentBuilder - [View Notebook](/docs/notebooks/autobuild_basic) -- Automatically Build Multi-agent System from Agent Library - [View Notebook](/docs/notebooks/autobuild_agent_library) +- Automatically Build Multi-agent System with AgentBuilder - [View Notebook](/notebooks/autobuild_basic) +- Automatically Build Multi-agent System from Agent Library - [View Notebook](/notebooks/autobuild_agent_library) ### Observability -- Track LLM calls, tool usage, actions and errors using AgentOps - [View Notebook](/docs/notebooks/agentchat_agentops) -- Cost Calculation - [View Notebook](/docs/notebooks/agentchat_cost_token_tracking) +- Track LLM calls, tool usage, actions and errors using AgentOps - [View Notebook](/notebooks/agentchat_agentops) +- Cost Calculation - [View Notebook](/notebooks/agentchat_cost_token_tracking) ## Enhanced Inferences diff --git a/website/docs/ecosystem/agentops.mdx b/website/docs/ecosystem/agentops.mdx index 9b47e5063c..c8876f0b3f 100644 --- a/website/docs/ecosystem/agentops.mdx +++ b/website/docs/ecosystem/agentops.mdx @@ -76,7 +76,7 @@ After initializing AgentOps, Autogen will now start automatically tracking your - **Prompt Injection Detection**: Identify potential code injection and secret leaks ## Autogen + AgentOps examples -* [AgentChat with AgentOps Notebook](/docs/notebooks/agentchat_agentops) +* [AgentChat with AgentOps Notebook](/notebooks/agentchat_agentops) * [More AgentOps Examples](https://docs.agentops.ai/v1/quickstart) ## Extra links diff --git a/website/docs/installation/Optional-Dependencies.mdx b/website/docs/installation/Optional-Dependencies.mdx index fd91cf7ecf..f7b776fbc0 100644 --- a/website/docs/installation/Optional-Dependencies.mdx +++ b/website/docs/installation/Optional-Dependencies.mdx @@ -6,7 +6,7 @@ AG2 installs OpenAI package by default. To use LLMs by other providers, you can pip install autogen[gemini,anthropic,mistral,together,groq,cohere] ``` -Check out the [notebook](/docs/notebooks/autogen_uniformed_api_calling) and +Check out the [notebook](/notebooks/autogen_uniformed_api_calling) and [blogpost](/blog/2024/06/24/AltModels-Classes) for more details. ## LLM Caching @@ -90,7 +90,7 @@ To use Teachability, please install AG2 with the [teachable] option. pip install "autogen[teachable]" ``` -Example notebook: [Chatting with a teachable agent](/docs/notebooks/agentchat_teachability) +Example notebook: [Chatting with a teachable agent](/notebooks/agentchat_teachability) ## Large Multimodal Model (LMM) Agents @@ -100,7 +100,7 @@ We offered Multimodal Conversable Agent and LLaVA Agent. Please install with the pip install "autogen[lmm]" ``` -Example notebook: [LLaVA Agent](/docs/notebooks/agentchat_lmm_llava) +Example notebook: [LLaVA Agent](/notebooks/agentchat_lmm_llava) ## mathchat @@ -120,7 +120,7 @@ To use a graph in `GroupChat`, particularly for graph visualization, please inst pip install "autogen[graph]" ``` -Example notebook: [Finite State Machine graphs to set speaker transition constraints](/docs/notebooks/agentchat_groupchat_finite_state_machine) +Example notebook: [Finite State Machine graphs to set speaker transition constraints](/notebooks/agentchat_groupchat_finite_state_machine) ## Long Context Handling diff --git a/website/docs/topics/llm-observability.mdx b/website/docs/topics/llm-observability.mdx index 119dc19dca..94e7513393 100644 --- a/website/docs/topics/llm-observability.mdx +++ b/website/docs/topics/llm-observability.mdx @@ -7,10 +7,10 @@ AutoGen supports advanced LLM agent observability and monitoring through built-i ## AutoGen Observability Integrations ### Built-In Logging -AutoGen's SQLite and File Logger - [Tutorial Notebook](/docs/notebooks/agentchat_logging) +AutoGen's SQLite and File Logger - [Tutorial Notebook](/notebooks/agentchat_logging) ### Full-Service Partner Integrations -- AutoGen partners with [AgentOps](https://agentops.ai) to provide multi-agent tracking, metrics, and monitoring - [Tutorial Notebook](/docs/notebooks/agentchat_agentops) +- AutoGen partners with [AgentOps](https://agentops.ai) to provide multi-agent tracking, metrics, and monitoring - [Tutorial Notebook](/notebooks/agentchat_agentops) - AutoGen partners with [OpenLIT](https://github.com/openlit/openlit) to provide OpenTelemetry-native agent observability, which includes full execution traces and metrics - [Tutorial Notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_openlit.ipynb) diff --git a/website/docs/topics/openai-assistant/gpt_assistant_agent.mdx b/website/docs/topics/openai-assistant/gpt_assistant_agent.mdx index 595765e4ab..c41efd5092 100644 --- a/website/docs/topics/openai-assistant/gpt_assistant_agent.mdx +++ b/website/docs/topics/openai-assistant/gpt_assistant_agent.mdx @@ -19,9 +19,9 @@ Key Features of the GPTAssistantAgent: For a practical illustration, here are some examples: -- [Chat with OpenAI Assistant using function call](/docs/notebooks/agentchat_oai_assistant_function_call) demonstrates how to leverage function calling to enable intelligent function selection. -- [GPTAssistant with Code Interpreter](/docs/notebooks/agentchat_oai_code_interpreter) showcases the integration of the Code Interpreter tool which executes Python code dynamically within applications. -- [Group Chat with GPTAssistantAgent](/docs/notebooks/agentchat_oai_assistant_groupchat) demonstrates how to use the GPTAssistantAgent in AutoGen's group chat mode, enabling collaborative task performance through automated chat with agents powered by LLMs, tools, or humans. +- [Chat with OpenAI Assistant using function call](/notebooks/agentchat_oai_assistant_function_call) demonstrates how to leverage function calling to enable intelligent function selection. +- [GPTAssistant with Code Interpreter](/notebooks/agentchat_oai_code_interpreter) showcases the integration of the Code Interpreter tool which executes Python code dynamically within applications. +- [Group Chat with GPTAssistantAgent](/notebooks/agentchat_oai_assistant_groupchat) demonstrates how to use the GPTAssistantAgent in AutoGen's group chat mode, enabling collaborative task performance through automated chat with agents powered by LLMs, tools, or humans. ## Create a OpenAI Assistant in Autogen diff --git a/website/docs/topics/retrieval_augmentation.mdx b/website/docs/topics/retrieval_augmentation.mdx index 78b2b1c5c4..866338a5aa 100644 --- a/website/docs/topics/retrieval_augmentation.mdx +++ b/website/docs/topics/retrieval_augmentation.mdx @@ -124,12 +124,12 @@ ragproxyagent.initiate_chat( ## More Examples and Notebooks For more detailed examples and notebooks showcasing the usage of retrieval augmented agents in AutoGen, refer to the following: -- Automated Code Generation and Question Answering with Retrieval Augmented Agents - [View Notebook](/docs/notebooks/agentchat_RetrieveChat) +- Automated Code Generation and Question Answering with Retrieval Augmented Agents - [View Notebook](/notebooks/agentchat_RetrieveChat) - Automated Code Generation and Question Answering with [PGVector](https://github.com/pgvector/pgvector) based Retrieval Augmented Agents - [View Notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_RetrieveChat_pgvector.ipynb) - Automated Code Generation and Question Answering with [Qdrant](https://qdrant.tech/) based Retrieval Augmented Agents - [View Notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_RetrieveChat_qdrant.ipynb) - Automated Code Generation and Question Answering with [MongoDB Atlas](https://www.mongodb.com/) based Retrieval Augmented Agents - [View Notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_RetrieveChat_mongodb.ipynb) - Chat with OpenAI Assistant with Retrieval Augmentation - [View Notebook](https://github.com/ag2ai/ag2/blob/main/notebook/agentchat_oai_assistant_retrieval.ipynb) -- **RAG**: Group Chat with Retrieval Augmented Generation (with 5 group member agents and 1 manager agent) - [View Notebook](/docs/notebooks/agentchat_groupchat_RAG) +- **RAG**: Group Chat with Retrieval Augmented Generation (with 5 group member agents and 1 manager agent) - [View Notebook](/notebooks/agentchat_groupchat_RAG) ## Roadmap diff --git a/website/docs/tutorial/conversation-patterns.ipynb b/website/docs/tutorial/conversation-patterns.ipynb index 56004e3b3b..e624ed29ca 100644 --- a/website/docs/tutorial/conversation-patterns.ipynb +++ b/website/docs/tutorial/conversation-patterns.ipynb @@ -1568,7 +1568,7 @@ "You can hide [tool usages](/docs/tutorial/tool-use) within a single agent by having the tool-caller agent \n", "starts a nested chat with a tool-executor agent and then use the result\n", "of the nested chat to generate a response.\n", - "See the [nested chats for tool use notebook](/docs/notebooks/agentchat_nested_chats_chess) for an example." + "See the [nested chats for tool use notebook](/notebooks/agentchat_nested_chats_chess) for an example." ] }, { diff --git a/website/docs/tutorial/tool-use.ipynb b/website/docs/tutorial/tool-use.ipynb index 792bfefde8..1659029c32 100644 --- a/website/docs/tutorial/tool-use.ipynb +++ b/website/docs/tutorial/tool-use.ipynb @@ -227,114 +227,114 @@ "name": "stdout", "output_type": "stream", "text": [ - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", "What is (44232 + 13312 / (232 - 32)) * 5?\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_4rElPoLggOYJmkUutbGaSTX1): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_4rElPoLggOYJmkUutbGaSTX1): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"a\": 232,\n", " \"b\": 32,\n", " \"operator\": \"-\"\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_4rElPoLggOYJmkUutbGaSTX1) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_4rElPoLggOYJmkUutbGaSTX1) *****\u001b[0m\n", "200\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_SGtr8tK9A4iOCJGdCqkKR2Ov): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_SGtr8tK9A4iOCJGdCqkKR2Ov): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"a\": 13312,\n", " \"b\": 200,\n", " \"operator\": \"/\"\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_SGtr8tK9A4iOCJGdCqkKR2Ov) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_SGtr8tK9A4iOCJGdCqkKR2Ov) *****\u001b[0m\n", "66\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_YsR95CM1Ice2GZ7ZoStYXI6M): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_YsR95CM1Ice2GZ7ZoStYXI6M): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"a\": 44232,\n", " \"b\": 66,\n", " \"operator\": \"+\"\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_YsR95CM1Ice2GZ7ZoStYXI6M) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_YsR95CM1Ice2GZ7ZoStYXI6M) *****\u001b[0m\n", "44298\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_oqZn4rTjyvXYcmjAXkvVaJm1): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_oqZn4rTjyvXYcmjAXkvVaJm1): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"a\": 44298,\n", " \"b\": 5,\n", " \"operator\": \"*\"\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_oqZn4rTjyvXYcmjAXkvVaJm1) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_oqZn4rTjyvXYcmjAXkvVaJm1) *****\u001b[0m\n", "221490\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", "The result of the calculation is 221490. TERMINATE\n", "\n", @@ -600,16 +600,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", "What is (1423 - 123) / 3 + (32 + 23) * 5?\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_Uu4diKtxlTfkwXuY6MmJEb4E): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_Uu4diKtxlTfkwXuY6MmJEb4E): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"input\": {\n", @@ -618,27 +618,27 @@ " \"operator\": \"+\"\n", " }\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_Uu4diKtxlTfkwXuY6MmJEb4E) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_Uu4diKtxlTfkwXuY6MmJEb4E) *****\u001b[0m\n", "Error: Expecting value: line 1 column 29 (char 28)\n", " You argument should follow json format.\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", "I apologize for the confusion, I seem to have made a mistake. Let me recalculate the expression properly.\n", "\n", "First, we need to do the calculations within the brackets. So, calculating (1423 - 123), (32 + 23), and then performing remaining operations.\n", - "\u001B[32m***** Suggested tool call (call_mx3M3fNOwikFNoqSojDH1jIr): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_mx3M3fNOwikFNoqSojDH1jIr): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"input\": {\n", @@ -647,25 +647,25 @@ " \"operator\": \"-\"\n", " }\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_mx3M3fNOwikFNoqSojDH1jIr) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_mx3M3fNOwikFNoqSojDH1jIr) *****\u001b[0m\n", "1300\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_hBAL2sYi6Y5ZtTHCNPCmxdN3): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_hBAL2sYi6Y5ZtTHCNPCmxdN3): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"input\": {\n", @@ -674,25 +674,25 @@ " \"operator\": \"+\"\n", " }\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_hBAL2sYi6Y5ZtTHCNPCmxdN3) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_hBAL2sYi6Y5ZtTHCNPCmxdN3) *****\u001b[0m\n", "55\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_wO3AP7EDeJvsVLCpvv5LohUa): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_wO3AP7EDeJvsVLCpvv5LohUa): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"input\": {\n", @@ -701,25 +701,25 @@ " \"operator\": \"/\"\n", " }\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_wO3AP7EDeJvsVLCpvv5LohUa) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_wO3AP7EDeJvsVLCpvv5LohUa) *****\u001b[0m\n", "433\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_kQ2hDhqem8BHNlaHaE9ezvvQ): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_kQ2hDhqem8BHNlaHaE9ezvvQ): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"input\": {\n", @@ -728,25 +728,25 @@ " \"operator\": \"*\"\n", " }\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_kQ2hDhqem8BHNlaHaE9ezvvQ) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_kQ2hDhqem8BHNlaHaE9ezvvQ) *****\u001b[0m\n", "275\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", - "\u001B[32m***** Suggested tool call (call_1FLDUdvAZmjlSD7g5GFFJOpO): calculator *****\u001B[0m\n", + "\u001b[32m***** Suggested tool call (call_1FLDUdvAZmjlSD7g5GFFJOpO): calculator *****\u001b[0m\n", "Arguments: \n", "{\n", " \"input\": {\n", @@ -755,23 +755,23 @@ " \"operator\": \"+\"\n", " }\n", "}\n", - "\u001B[32m***************************************************************************\u001B[0m\n", + "\u001b[32m***************************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[35m\n", - ">>>>>>>> EXECUTING FUNCTION calculator...\u001B[0m\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[35m\n", + ">>>>>>>> EXECUTING FUNCTION calculator...\u001b[0m\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[33mUser\u001B[0m (to Assistant):\n", + "\u001b[33mUser\u001b[0m (to Assistant):\n", "\n", - "\u001B[32m***** Response from calling tool (call_1FLDUdvAZmjlSD7g5GFFJOpO) *****\u001B[0m\n", + "\u001b[32m***** Response from calling tool (call_1FLDUdvAZmjlSD7g5GFFJOpO) *****\u001b[0m\n", "708\n", - "\u001B[32m**********************************************************************\u001B[0m\n", + "\u001b[32m**********************************************************************\u001b[0m\n", "\n", "--------------------------------------------------------------------------------\n", - "\u001B[31m\n", - ">>>>>>>> USING AUTO REPLY...\u001B[0m\n", - "\u001B[33mAssistant\u001B[0m (to User):\n", + "\u001b[31m\n", + ">>>>>>>> USING AUTO REPLY...\u001b[0m\n", + "\u001b[33mAssistant\u001b[0m (to User):\n", "\n", "The calculation result of the expression (1423 - 123) / 3 + (32 + 23) * 5 is 708. Let's proceed to the next task.\n", "TERMINATE\n", @@ -841,7 +841,7 @@ "To achieve this, you can use [nested chats](/docs/tutorial/conversation-patterns#nested-chats).\n", "Nested chats allow you to create \"internal monologues\" within an agent\n", "to call and execute tools. This works for code execution as well.\n", - "See [nested chats for tool use](/docs/notebooks/agentchat_nested_chats_chess) for an example." + "See [nested chats for tool use](/notebooks/agentchat_nested_chats_chess) for an example." ] }, { diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index c7d85eeeaa..39b8d1332d 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -294,12 +294,12 @@ module.exports = { from: ["/docs/topics/non-openai-models/lm-studio"], }, { - to: "/docs/notebooks/agentchat_nested_chats_chess", - from: ["/docs/notebooks/agentchat_chess"], + to: "/notebooks/agentchat_nested_chats_chess", + from: ["/notebooks/agentchat_chess"], }, { - to: "/docs/notebooks/agentchat_nested_chats_chess_altmodels", - from: ["/docs/notebooks/agentchat_chess_altmodels"], + to: "/notebooks/agentchat_nested_chats_chess_altmodels", + from: ["/notebooks/agentchat_chess_altmodels"], }, { to: "/docs/contributor-guide/contributing", diff --git a/website/snippets/data/NotebooksMetadata.mdx b/website/snippets/data/NotebooksMetadata.mdx index d5c69dcf3a..36cc6b28ae 100644 --- a/website/snippets/data/NotebooksMetadata.mdx +++ b/website/snippets/data/NotebooksMetadata.mdx @@ -868,7 +868,7 @@ export const notebooksMetadata = [ }, { "title": "Tool Use", - "link": "/docs/notebooks/tool-use", + "link": "/notebooks/tool-use", "description": "", "image": null, "tags": [], diff --git a/website/src/components/NotebookUtils.js b/website/src/components/NotebookUtils.js index ef8ecb92ad..c015752f59 100644 --- a/website/src/components/NotebookUtils.js +++ b/website/src/components/NotebookUtils.js @@ -8,7 +8,7 @@ function findAllNotebooks() { notebooks.push({ title: notebook.frontMatter.title, - link: "/ag2/docs/notebooks/" + key, + link: "/ag2/notebooks/" + key, description: notebook.frontMatter.description, image: notebook.frontMatter.image, tags: notebook.frontMatter.tags, From e9d418c57ad9c467d678eb6def7e7547a03d62fc Mon Sep 17 00:00:00 2001 From: Mark Sze Date: Fri, 20 Dec 2024 03:55:53 +0000 Subject: [PATCH 4/4] Removed unnecessary print statement --- test/test_browser_utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/test/test_browser_utils.py b/test/test_browser_utils.py index 9c72594675..58591e4ebb 100755 --- a/test/test_browser_utils.py +++ b/test/test_browser_utils.py @@ -83,7 +83,6 @@ def test_simple_text_browser(): # Test that we can visit a page and find what we expect there top_viewport = browser.visit_page(BLOG_POST_URL) assert browser.viewport == top_viewport - print(browser.page_title.strip()) assert browser.page_title.strip() == BLOG_POST_TITLE.strip() assert BLOG_POST_STRING in browser.page_content.replace("\n\n", " ").replace("\\", "")