Introdução geral
O OpenManus-RL é uma colaboração entre o UIUC-Ulab e o MetaGPT Um projeto de código aberto desenvolvido em conjunto pela equipe OpenManus da comunidade e hospedado no GitHub, o projeto aprimora os recursos de raciocínio e tomada de decisão de inteligências de modelo de linguagem grande (LLM) por meio de técnicas de aprendizagem por reforço (RL), explorando novos métodos de ajuste com base na experiência de modelos como Deepseek-R1 e QwQ-32B. A equipe torna o progresso público regularmente, com total transparência de código, conjuntos de dados e resultados de testes, além de apoiar a validação de resultados em benchmarks como GAIA, AgentBench, WebShop, OSWorld e outros. O projeto incentiva os desenvolvedores de todo o mundo a contribuírem com códigos, conjuntos de dados ou recursos computacionais para a criação conjunta de um ecossistema eficiente para o desenvolvimento de corpos inteligentes.
Até o momento, a criação de código aberto Manus Com a última peça do quebra-cabeça no lugar, o MetaGPT está realmente se esforçando... Mas... MGX Natural pode ser coberto Manus Com todos os recursos, a reprodução de código aberto está de fato pegando carona.
Lista de funções
- Construção de ambiente corporal inteligenteRL: Fornece ajuste de RL on-line da ferramenta de configuração do ambiente Smartbody.
- Coleta de dados de trajetóriaConecte modelos como o Deepseek-R1 e o QwQ-32B para coletar dados comportamentais de tarefas complexas.
- Suporte ao RL TuningMétodos de aprendizagem por reforço para apoiar o comportamento personalizado de corpos inteligentes.
- Integração de BenchmarkingWebShop integrado, GAIA, OSWorld, AgentBench e outros ambientes de teste.
- estratégia de diversificaçãoIntegração de estratégias de RL, como Tree-of-Thoughts, Monte Carlo Tree Search.
- Colaboração comunitáriaEnvio de código, conjuntos de dados, etc. é permitido, e colaboradores importantes podem se tornar coautores do artigo.
- Compartilhamento do progresso em tempo realDemonstrar o processo de ajuste de RL e os resultados por meio de atualizações dinâmicas.
Usando a Ajuda
Processo de instalação
O OpenManus-RL é fácil de instalar e adequado para usuários com conhecimento básico de Python. Veja a seguir as etapas detalhadas:
1. criação do ambiente Conda
Para evitar conflitos de dependência, recomenda-se o Conda:
conda create -n openmanus-rl python=3.10
conda activate openmanus-rl
- Pré-requisitos: O Conda precisa ser instalado e pode ser baixado do siteSite oficial do AnacondaFaça o download.
- Após a ativação, o terminal exibe
(openmanus-rl)
.
2. clonagem de projetos
Certifique-se de que o Git esteja instalado (verifique:git --versão
Se você não instalar o software, poderá baixá-lo no sitegit-scm.(Download):
git clone https://github.com/OpenManus/OpenManus-RL.git
cd OpenManus-RL
- Faça o download do código e vá para o diretório do projeto.
3. instalação de dependências
Execute-o no diretório raiz do projeto:
pip install -r requirements.txt
- Se o download estiver lento, use um espelho doméstico:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- As ferramentas de visualização exigem instalação adicional:
pip install matplotlib numpy
4. modelos de configuração e conjuntos de dados
- Ajuste fino supervisionado (SFT)Especifique o modelo e o conjunto de dados:
python -m openmanus_rl.sft --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct --dataset_name CharlieDreemur/OpenManus-RL
- Ajuste do aprendizado por reforço (GRPO)Configure a função de recompensa:
python -m openmanus_rl.grpo --model_name_or_path Qwen/Qwen2.5-1.5B-Instruct --dataset_name CharlieDreemur/OpenManus-RL-GRPO --reward_ funcs accuracy format tag_count
- O conjunto de dados está disponível noCara de abraçoObter.
5. executar o projeto
- GPU única executando SFT:
python -m openmanus_rl.sft --output_dir data/sft-output
- GRPO com várias GPUs em execução (configuração necessária)
zero3.yaml
):
accelerate launch --config_file=configs/accelerate_configs/zero3.yaml openmanus_rl/grpo.py --output_dir data/grpo-output
Funções principais
Construção de ambiente corporal inteligente
- procedimento::
- estar em movimento
python -m openmanus_rl.sft
Gerar o ambiente básico. - Modificar arquivos de configuração (por exemplo, objetivos de missão ou funções de recompensa).
- realizar
python -m openmanus_rl.grpo
Iniciar o ajuste.
- estar em movimento
- Cenários de usoPersonalização do ambiente do corpo inteligente para tarefas específicas (por exemplo, decisões de compras).
Coleta de dados e testes
- procedimento::
- Modelo de configuração (por exemplo, Deepseek-R1):
python -m openmanus_rl.grpo --model_name_or_path Deepseek-R1
- Execute o teste:
-benchmark GAIA
Os resultados são salvos emdados/
Catálogo.
- Cenários de usoAnálise do desempenho das inteligências em tarefas complexas: Análise do desempenho das inteligências em tarefas complexas.
Operações de ajuste de RL
- procedimento::
- Executar o modo GRPO:
python -m openmanus_rl.grpo --reward_funcs accuracy
- Visualizar registros de treinamento, modelos salvos em
data/grpo-output
.
- Cenários de usoOtimização do comportamento inteligente do corpo, por exemplo, melhorando o sucesso da compra na WebShop.
Contribuições da comunidade
- procedimento::
- Faça o fork do projeto em uma conta pessoal do GitHub.
- Modificação e envio local:
git add .
git commit -m "Otimizar a estratégia de RL"
git push origin main
- Envie uma Pull Request ou entre em contato por e-mail
kunlunz2@illinois.edu
.
- Cenários de usoContribua com novos algoritmos ou conjuntos de dados e participe do desenvolvimento principal.
Funções em destaque
Suporte ao RL Tuning
- Como funcionaGRPO: execute o GRPO, especificando a função de recompensa (por exemplo
precisão
), o processo de treinamento exibe um registro em tempo real e o modelo é salvo em um diretório específico após a conclusão. - efeitoCorpos inteligentes podem adaptar seu comportamento à tarefa, por exemplo, otimizando o desempenho de tarefas multimodais no OSWorld.
Integração de Benchmarking
- Como funciona: Executar
python -m openmanus_rl.grpo --benchmark AgentBench
Se o sistema for usado, ele gera automaticamente relatórios sobre taxas de sucesso, tempos de resposta, etc. - efeitoFornecimento de métricas quantitativas para ajudar os desenvolvedores a comparar o desempenho do modelo.
estratégia de diversificação
- Como funcionaPolítica de configuração: Selecione a política no arquivo de configuração (por exemplo
Árvore de pensamentos
), execute o comando de ajuste para testar o efeito. - efeitoIntelligentsia: Aprimorando a capacidade de raciocínio da Intelligentsia em tarefas de planejamento de longo prazo.
O OpenManus-RL usa esses recursos para ajudar os usuários a começar rapidamente. O projeto também oferece um grupo da comunidade (consulte "Grupo da comunidade" no GitHub), no qual você pode participar para se comunicar com os desenvolvedores e obter as informações mais recentes.