Tools#
Get Communicating with Discord, Slack, and Telegram
Welcome DiscordAgent, SlackAgent, and TelegramAgent
We want to help you focus on building workflows and enhancing agents, so we're building reference agents to get you going quicker.
Say hello to three new AG2 communication agents - DiscordAgent
, SlackAgent
, and TelegramAgent
, here so that you can use an agentic application to send and retrieve messages from messaging platforms.
Riding the Web with WebSurferAgent
Introduction
In our Adding Browsing Capabilities to AG2 guide, we explored how to build agents with basic web surfing capabilities. Now, let's take it to the next level with WebSurferAgent
—a powerful agent that comes with built-in web browsing tools right out of the box!
With WebSurferAgent
, your agents can seamlessly browse the web, retrieve real-time information, and interact with web pages—all with minimal setup.
Adding Browsing Capabilities to AG2
Introduction
Previously, in our Cross-Framework LLM Tool Integration guide, we combined tools from frameworks like LangChain, CrewAI, and PydanticAI to enhance AG2.
Now, we’re taking AG2 even further by integrating Browser Use
and Crawl4AI
, enabling agents to navigate websites, extract dynamic content, and interact with web pages. This unlocks new possibilities for automated data collection, web automation, and more.
Tools with ChatContext Dependency Injection
Introduction
In this post, we’ll build upon the concepts introduced in our previous blog on Tools with Dependency Injection. We’ll take a deeper look at how ChatContext
can be used to manage the flow of conversations in a more structured and secure way.
By using ChatContext
, we can track and control the sequence of function calls during a conversation. This is particularly useful in situations where one task must be completed before another — for example, ensuring that a user logs in before they can check their account balance. This approach helps to prevent errors and enhances the security of the system.
Benefits of Using ChatContext
: - Flow Control: Ensures tasks are performed in the correct order, reducing the chance of mistakes. - Enhanced Security: Prevents unauthorized actions, such as accessing sensitive data before authentication. - Simplified Debugging: Logs the conversation history, making it easier to trace and resolve issues.
Note
This blog builds on the concepts shared in the notebook.
Tools Dependency Injection
Dependency Injection is a secure way to connect external functions to agents without exposing sensitive data such as passwords, tokens, or personal information. This approach ensures that sensitive information remains protected while still allowing agents to perform their tasks effectively, even when working with large language models (LLMs).
In this guide, we’ll explore how to build secure workflows that handle sensitive data safely.
As an example, we’ll create an agent that retrieves user's account balance. The best part is that sensitive data like username and password are never shared with the LLM. Instead, it’s securely injected directly into the function at runtime, keeping it safe while maintaining seamless functionality.
Why Dependency Injection Is Essential
Here’s why dependency injection is a game-changer for secure LLM workflows:
- Enhanced Security: Your sensitive data is never directly exposed to the LLM.
- Simplified Development: Secure data can be seamlessly accessed by functions without requiring complex configurations.
- Unmatched Flexibility: It supports safe integration of diverse workflows, allowing you to scale and adapt with ease.
In this guide, we’ll explore how to set up dependency injection and build secure workflows. Let’s dive in!
Note: This blog builds upon the concepts covered in the following notebook.
Cross-Framework LLM Tool Integration with AG2
TL;DR AG2 lets you bring in Tools from different frameworks like LangChain, CrewAI, and PydanticAI.
- LangChain Tools: Useful for tasks like API querying and web scraping.
- CrewAI Tools: Offers a variety of tools for web scraping, search, and more.
- PydanticAI Tools: Adds context-driven tools and structured data processing.
Anny: Assisting AutoGen Devs Via AutoGen
TL;DR
We are adding a new sample app called Anny-- a simple Discord bot powered by AutoGen that's intended to assist AutoGen Devs. See samples/apps/auto-anny
for details.
AutoGenBench -- A Tool for Measuring and Evaluating AutoGen Agents
AutoGenBench is a standalone tool for evaluating AutoGen agents and workflows on common benchmarks.
TL;DR
Today we are releasing AutoGenBench - a tool for evaluating AutoGen agents and workflows on established LLM and agentic benchmarks.
AutoGenBench is a standalone command line tool, installable from PyPI, which handles downloading, configuring, running, and reporting supported benchmarks. AutoGenBench works best when run alongside Docker, since it uses Docker to isolate tests from one another.
- See the AutoGenBench README for information on installation and running benchmarks.
- See the AutoGenBench CONTRIBUTING guide for information on developing or contributing benchmark datasets.
AutoGen Studio: Interactively Explore Multi-Agent Workflows
AutoGen Studio: Solving a task with multiple agents that generate a pdf document with images.
TL;DR
To help you rapidly prototype multi-agent solutions for your tasks, we are introducing AutoGen Studio, an interface powered by AutoGen. It allows you to:
- Declaratively define and modify agents and multi-agent workflows through a point and click, drag and drop interface (e.g., you can select the parameters of two agents that will communicate to solve your task).
- Use our UI to create chat sessions with the specified agents and view results (e.g., view chat history, generated files, and time taken).
- Explicitly add skills to your agents and accomplish more tasks.
- Publish your sessions to a local gallery.
See the official AutoGen Studio documentation here for more details.
AutoGen Studio is open source code here, and can be installed via pip. Give it a try!