O Agent Lightning é uma estrutura de código aberto desenvolvida por uma equipe de pesquisadores da Microsoft para ajudar os desenvolvedores a otimizar o desempenho das inteligências de IA. Ele oferece suporte a várias estruturas de desenvolvimento de inteligência, como OpenAI Agents SDK, AutoGen e LangChain, e aprimora o desempenho das inteligências por meio de técnicas como a aprendizagem por reforço (RL). O Agent Lightning oferece ferramentas flexíveis para cenários complexos, como interações em várias rodadas, contextos dinâmicos e colaboração entre várias inteligências. Ele separa a estrutura de inteligência do sistema de treinamento de aprendizagem por reforço por meio de dois módulos principais, o Lightning Server e o Lightning Client, permitindo que os desenvolvedores otimizem sem modificar o código de inteligência. Essa estrutura é adequada para desenvolvedores que desejam aumentar a eficiência das inteligências, especialmente nas áreas de pesquisa, geração de código e conclusão de tarefas interativas. O projeto está hospedado no GitHub, e as contribuições de código e sugestões da comunidade são bem-vindas.
Lista de funções
- Suporte a várias estruturas de inteligência: compatível com OpenAI Agents SDK, AutoGen, LangChain e outras estruturas convencionais.
- Otimização do aprendizado por reforço: uso de técnicas de aprendizado por reforço para otimizar o desempenho das inteligências e melhorar a interação de longo prazo.
- Monitoramento de erros: rastreie o status de execução das inteligências por meio do Lightning Server para detectar e tratar erros.
- Suporte à interação em várias rodadas: lide com cenários complexos de interação em várias rodadas e mantenha a consistência do contexto.
- Coordenação corporal multiinteligente: oferece suporte a várias inteligências trabalhando juntas, adequado para cenários de tarefas complexas.
- Flexível e dimensionável: fornece interfaces abertas que permitem que os desenvolvedores personalizem os algoritmos e as funções de otimização.
Usando a Ajuda
O Agent Lightning é uma estrutura de código aberto para que os desenvolvedores otimizem as inteligências de IA. Aqui está um guia detalhado para ajudar os usuários a começar rapidamente.
Processo de instalação
- Preparação do ambiente de desenvolvimento
- Certifique-se de que o Python 3.10 ou superior esteja instalado, pois o Agent Lightning depende do ambiente Python para sua funcionalidade principal.
- Instale o Git para clonar o código do projeto a partir do GitHub.
- Opcional: Instale o Visual Studio Code ou outro IDE habilitado para Python para facilitar a depuração.
- Clonagem do código do projeto
Execute o seguinte comando no terminal para clonar o código do Agent Lightning localmente:git clone https://github.com/microsoft/agent-lightning.git cd agent-lightning
- Instalação de dependências
O projeto depende de várias bibliotecas Python (por exemplo, verl para suporte ao aprendizado por reforço). Execute-o no diretório do projeto:pip install -r requirements.txt
Se você precisar usar uma estrutura específica de smartbody (como AutoGen ou LangChain), instale dependências adicionais de acordo com a documentação. Por exemplo, instale o AutoGen:
pip install autogen-agentchat autogen-ext[openai]
- Ambiente de configuração
- Se estiver usando o SDK do OpenAI Agents, você precisará configurar a chave da API do OpenAI. Adicione a chave à variável de ambiente:
export OPENAI_API_KEY="your-api-key"
- Para outras estruturas (por exemplo, AutoGen), consulte a documentação oficial para configurar seu ambiente.
- Se estiver usando o SDK do OpenAI Agents, você precisará configurar a chave da API do OpenAI. Adicione a chave à variável de ambiente:
- Executando o servidor e o cliente do Lightning
O Agent Lightning consiste no Lightning Server e no Lightning Client. Inicie o servidor:python lightning_server.py
Inicie o cliente em outro terminal:
python lightning_client.py
O servidor extrai tarefas do pool de tarefas e o cliente é responsável por executar o fluxo de trabalho do corpo inteligente.
Funções principais
- Otimização da inteligência
A função principal do Agent Lightning é otimizar as inteligências por meio da aprendizagem por reforço. O usuário pode definir um conjunto de tarefas que contém tarefas que precisam ser concluídas pelas inteligências. Por exemplo, criar um arquivo JSONtasks.json
O conteúdo é o seguinte:[ {"task_id": 1, "description": "Generate a Python script for sorting a list"}, {"task_id": 2, "description": "Answer a user query about weather"} ]
Configure o caminho de agrupamento de tarefas no arquivo de configuração do Lightning Server, e o servidor atribui automaticamente tarefas a inteligências e otimiza seu desempenho por meio da aprendizagem por reforço.
- monitoramento de erros
O Lightning Server fornece um recurso de monitoramento de erros que detecta o estado de falha de um inteligente durante a execução de uma tarefa. Por exemplo, se um corpo inteligente ficar preso em uma interação de várias rodadas, o servidor grava um registro de erros que é armazenado na pastalogs/error_log.txt
em. Os usuários podem analisar o problema visualizando os logs:cat logs/error_log.txt
- coordenação de inteligência múltipla
Para cenários que exigem a colaboração de várias inteligências, o usuário podeconfig.yaml
Definir várias funções de corpo inteligente no Exemplo:agents: - id: agent1 framework: autogen role: code_generator - id: agent2 framework: langchain role: query_responder
Em tempo de execução, o Lightning Server coordena essas inteligências para garantir a atribuição e a execução de tarefas sem problemas.
Operação da função em destaque
- Otimização do aprendizado aprimorado
O Agent Lightning usa a biblioteca verl para otimização do aprendizado por reforço. O usuário pode personalizar a estratégia de aprendizagem por reforço, por exemplo, ajustando a função de recompensa. Exemplo de configuração da função de recompensa:def reward_function(task_result): if task_result.success: return 1.0 return -1.0
Integre essa função ao
lightning_server.py
a fim de otimizar o desempenho de longo prazo da intelligentsia. - Suporte a várias estruturas
Os usuários podem escolher entre diferentes estruturas para inteligências. Por exemplo, use o AutoGen para criar um corpo inteligente de diálogo:from autogen import AssistantAgent agent = AssistantAgent(name="example_agent", llm_config={"model": "gpt-4o"})
Registre essa inteligência com o cliente do Agent Lightning para executar o processo de otimização.
advertência
- Certifique-se de que a conexão de rede esteja estável, pois o Lightning Server precisa se comunicar com as APIs da Estrutura de Corpo Inteligente (por exemplo, OpenAI).
- O projeto está em desenvolvimento no momento e é recomendável verificar regularmente o repositório do GitHub para obter as atualizações mais recentes:
git pull origin main
- Se você tiver problemas, envie comentários na página de problemas do GitHub ou consulte a discussão de perguntas e respostas da comunidade.
cenário do aplicativo
- Otimização da geração de código
Os desenvolvedores usam o Agent Lightning para otimizar as inteligências de geração de código. Por meio do aprendizado por reforço, as inteligências geram códigos mais eficientes com menos erros para tarefas de programação automatizadas. - Assistente de pesquisa de desenvolvimento
No cenário de pesquisa, o Agent Lightning pode otimizar a capacidade de processamento de consultas do corpo inteligente, melhorar a precisão e a velocidade de resposta dos resultados de pesquisa e é adequado para a criação de sistemas inteligentes de atendimento ao cliente. - Tarefas colaborativas de inteligência múltipla
Em cenários em que várias inteligências precisam colaborar (por exemplo, tarefas em equipe), o Agent Lightning coordena várias inteligências para garantir que as tarefas sejam concluídas com eficiência e eficácia, tornando-o adequado para processos de automação empresarial.
QA
- Quais estruturas de corpos inteligentes são compatíveis com o Agent Lightning?
Atualmente, o OpenAI Agents SDK, o AutoGen e o LangChain são compatíveis, e mais estruturas poderão ser estendidas no futuro. - Como você lida com erros de execução de corpos inteligentes?
O Lightning Server mantém um registro de erros, que é armazenado na pastalogs/error_log.txt
em. O usuário pode ajustar a configuração do smartbody ou a definição da tarefa com base nos registros. - É necessário ter conhecimento de aprendizagem intensiva para usá-lo?
Não. O Agent Lightning oferece uma interface simplificada que permite aos desenvolvedores usar a otimização do aprendizado por reforço simplesmente configurando as funções de tarefa e recompensa.