Introdução geral
O AutoGen é uma estrutura de código aberto desenvolvida por uma equipe de pesquisadores da Microsoft com o objetivo de simplificar a criação de aplicativos de modelo de linguagem grande (LLM) por meio de diálogo corporal multiinteligente. Ele permite que os desenvolvedores criem agentes de IA que podem dialogar entre si e colaborar para resolver tarefas. Essa abordagem não apenas melhora o desempenho dos LLMs, mas também aumenta a flexibilidade e a utilidade do sistema, integrando a entrada humana e o uso da ferramenta. O AutoGen oferece suporte a tudo, desde diálogos simples com dois agentes inteligentes até bate-papos complexos em grupo com vários agentes inteligentes para fluxos de trabalho de todas as complexidades.
A Microsoft apresenta o AutoGen 0.4, uma versão completamente reescrita e não compatível com versões anteriores do AutoGen. A nova versão do AutoGen 0.4 usa uma arquitetura modular, extensível e em camadas e é uma estrutura multiagente assíncrona, orientada por mensagens e extensível para a criação de sistemas avançados de corpo inteligente de IA.
Lista de funções
- colaboração de inteligência múltiplaPermite que vários agentes de IA trabalhem juntos por meio de diálogo para resolver tarefas complexas.
- Personalização e extensibilidadeOs desenvolvedores podem adaptar o comportamento e os padrões de diálogo das inteligências sob demanda.
- Apoio à participação humanaIntelligentsia: a Intelligentsia pode interagir com usuários humanos e receber feedback humano para otimizar a execução de tarefas.
- integração de ferramentasOs corpos inteligentes podem usar código ou ferramentas externas diretamente para aprimorar o processamento de tarefas.
- Cenários de aplicação diversificadosHá exemplos de aplicações em áreas que vão desde a solução de problemas matemáticos até a programação e a otimização da cadeia de suprimentos.
- otimização do desempenhoMelhoria da eficiência do LLM por meio de mecanismos como raciocínio de várias configurações e armazenamento em cache.
AutoGen-Core
O AutoGen-Core é a API principal da estrutura do AutoGen, baseada no modelo Actor, que oferece suporte a mensagens assíncronas entre inteligências e fluxos de trabalho orientados por eventos. Ela fornece a infraestrutura subjacente que permite aos desenvolvedores criar sistemas corporais multiinteligentes altamente flexíveis e dimensionáveis. Os principais recursos incluem:
- mensagens assíncronasIntelligentsia se comunicam entre si por meio de mensagens assíncronas para garantir um processamento simultâneo eficiente.
- Fluxo de trabalho orientado por eventosSuporte ao gerenciamento de fluxo de trabalho baseado em eventos, permitindo que o sistema responda a mudanças ambientais e demandas de tarefas.
- alta flexibilidadeOferece um alto grau de controle sobre os componentes subjacentes, adequado para personalização e otimização profundas por usuários avançados.
AutoGen-AgentChat
O AutoGen-AgentChat é uma API de alto nível, construída sobre o AutoGen-Core, voltada para a criação de aplicativos de diálogo corporal multiinteligentes. Ele fornece aos desenvolvedores um nível mais alto de abstração que simplifica a criação e o gerenciamento de sistemas corporais multiinteligentes. Os principais recursos incluem:
- orientado para a missãoInteligência de diálogo: permite definir inteligências de diálogo e uni-las para resolver tarefas específicas.
- Comportamento predefinidoComportamentos predefinidos de inteligências e modos de design de várias inteligências são fornecidos para facilitar um início rápido.
- fácil de usarAdequado para iniciantes, oferecendo configurações padrão intuitivas e uma interface fácil de entender.
Usando a Ajuda
Instalação e configuração
Para começar a usar o AutoGen, ele primeiro precisa ser instalado por meio do gerenciador de pacotes Python Pip:
pip install -U "autogen-agentchat" "autogen-ext[openai]"
Você precisa de uma chave de API da OpenAI para usar alguns dos recursos, que podem ser definidos por meio de variáveis de ambiente:
export OPENAI_API_KEY='your-api-key-here'
Usando o AutoGen
Criação de inteligência básica::
from autogen import AssistantAgent, UserProxyAgent
# Definir um agente assistente
assistant = AssistantAgent("assistant",
llm_config={
"config_list": [{"model": "gpt-4", "api_key": os.environ["OPENAI_API_KEY"]}]
})
# Crie um proxy de usuário
user_proxy = UserProxyAgent("user_proxy",
code_execution_config={"work_dir": "coding", "use_docker": False})
# Iniciando um diálogo
user_proxy.initiate_chat(assistant, message="Explique o que é AutoGen?")
Criação de sistemas de inteligência múltipla::
O AutoGen oferece suporte a interações mais complexas com várias inteligências, como bate-papos em grupo:
from autogen import GroupChat, GroupChatManager
# Supondo que você tenha definido várias inteligências
group_chat = GroupChat(agents=[assistant, another_agent], messages=[], max_round=10)
manager = GroupChatManager(group_chat)
user_proxy.initiate_chat(manager, message="Trabalho em equipe para resolver este problema de programação:...")
Uso de ferramentas::
A Intelligentsia pode invocar ferramentas como a execução de código ou a realização de pesquisas na Web:
# Configuração do ambiente de execução de código
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding", "use_docker": True})
# Obtendo um inteligente para executar o código
user_proxy.initiate_chat(assistant, message="Escreva e execute um script Python simples para imprimir 'Hello, AutoGen!'")
Personalização do comportamento inteligente do corpo::
Você pode definir comportamentos específicos da inteligência, como a resposta sob condições específicas:
defcustom_handler(message): if "error" in message.get("content", "").
if "error" in message.get("content", "").lower():: return "Erro detectado...".
return "Erro detectado, tentando novamente..."
returnNone
assistant.register_handler(custom_handler, event="on_message")
fluxo de trabalho
- Iniciar um diálogo: através deiniciar_chatOs métodos podem iniciar a comunicação entre inteligências ou a interação entre inteligências e usuários.
- Monitoramento e modificaçãoInteligência: A Intelligentsia pode ser adicionada ou modificada durante um diálogo, ou as regras do diálogo podem ser alteradas para se adequar à tarefa.
- Conclusão e resultadosNo final do diálogo, é possível visualizar o conteúdo gerado ou os resultados da execução das inteligências e analisar seu desempenho e precisão.
O uso do AutoGen requer algumas habilidades básicas de programação em Python, mas a documentação e os exemplos são extensos para ajudar os novatos a começar rapidamente. Com essas etapas e exemplos, você pode começar a explorar o poder do AutoGen para o desenvolvimento de aplicativos de IA.
O ecossistema também oferece suporte a duas ferramentas importantes para desenvolvedores:
Estúdio AutoGen Fornece uma GUI sem código para a criação de aplicativos multiagentes.
O AutoGen Bench fornece um conjunto de benchmarking para avaliar o desempenho do agente.