O AgentVerse é um projeto de código aberto criado para ajudar os usuários a implementar rapidamente sistemas corporais multiinteligentes com base no Modelo de Linguagem Grande (LLM). Ele oferece duas estruturas principais: resolução de tarefas e ambiente de simulação. A estrutura de resolução de tarefas por meio da colaboração de várias inteligências para concluir automaticamente tarefas complexas, como desenvolvimento de software ou serviços de consultoria. A estrutura de simulação permite que os usuários criem ambientes personalizados para observar ou interagir com várias inteligências, adequados para jogos ou pesquisa de comportamento social. O agentVerse é compatível com os principais LLMs (por exemplo, GPT-3.5 e LLaMA) e oferece interfaces gráficas e de linha de comando. Desenvolvido pela equipe do OpenBMB, o projeto foi apresentado no ICLR 2024 e é continuamente atualizado para oferecer suporte a recursos adicionais, como integração de modelos locais e uso de ferramentas.
Lista de funções
- multitarefaSuporte a várias inteligências para colaborar em tarefas como desenvolvimento de software, análise de dados ou sistemas de consultoria.
- Configuração do ambiente de simulaçãoPermite que os usuários criem cenários personalizados para observar ou interagir com o comportamento inteligente do corpo, adequado para jogos ou pesquisa social.
- Suporte para os principais modelos de idiomasCompatível com a API OpenAI, Azure OpenAI e modelos nativos (por exemplo, LLaMA, Vicuna).
- Linha de comando e interface gráficaA CLI e a GUI oferecem dois modos de operação, que são fáceis para os usuários começarem a usar rapidamente.
- integração de ferramentasInteligências de suporte para usar ferramentas externas (por exemplo, navegadores da Web, Jupyter Notebook) para concluir tarefas complexas.
- Código aberto e extensívelCódigo-fonte: O código é totalmente aberto, os usuários podem modificar ou expandir a função de acordo com a demanda.
- Exemplos e documentação ricosO programa oferece uma variedade de exemplos de demonstração, como aulas de PNL, Dilema do Prisioneiro e design de software, para facilitar o aprendizado e o uso.
Usando a Ajuda
Processo de instalação
O AgentVerse é compatível com Python 3.9 e superior, e é recomendável instalá-lo manualmente para obter os recursos mais recentes. Abaixo estão as etapas detalhadas de instalação:
- Clonagem da base de código::
Clone a base de código do AgentVerse localmente usando o Git:git clone https://github.com/OpenBMB/AgentVerse.git --depth 1 cd AgentVerse
- Instalação de dependências::
Execute o seguinte comando no diretório do projeto para instalar as dependências do núcleo:pip install -e .
Se você precisar usar um modelo local (por exemplo, LLaMA), instale adicionalmente as seguintes dependências:
pip install -r requirements_local.txt
- Instalação via pip(Opcional):
Se você não quiser clonar a base de código, poderá instalá-la diretamente via pip:pip install -U agentverse
- Configuração de variáveis de ambiente::
Os usuários que usam a API da OpenAI precisam definir a chave da API:export OPENAI_API_KEY="your_api_key_here"
Se estiver usando o serviço Azure OpenAI, são necessárias configurações adicionais:
export AZURE_OPENAI_API_KEY="your_api_key_here" export AZURE_OPENAI_API_BASE="your_api_base_here"
- Suporte de ferramentas (opcional)::
Se você precisar executar um caso de simulação com ferramentas (como onlp_classroom_3players_withtool
), você precisa instalar o BMTools:git clone git+https://github.com/OpenBMB/BMTools.git cd BMTools pip install -r requirements.txt python setup.py develop
- Suporte a vLLM (opcional)::
Para usar o vLLM em tarefas de inferência em larga escala, você precisa instalar e iniciar o servidor vLLM e, em seguida, definir as variáveis de ambiente:export VLLM_API_KEY="your_api_key_here" export VLLM_API_BASE="http://your_vllm_url_here"
Modificar as configurações do modelo no perfil da tarefa, por exemplo:
model_type: vllm model: llama-2-7b-chat-hf
- Suporte ao FSChat (modelos locais)::
Se estiver usando um modelo local (por exemplo, LLaMA), será necessário instalar a dependência do FSChat e iniciar o servidor local:pip install -r requirements_local.txt bash scripts/run_local_model_server.sh
Modifique o arquivo de configuração do
llm_type
responder cantandomodel
Por exemplo:llm: llm_type: local model: llama-2-7b-chat-hf
Uso
O AgentVerse oferece duas estruturas principais: resolução de tarefas e ambientes de simulação. Veja como ele funciona:
1. estrutura de resolução de mandatos
A estrutura de resolução de tarefas é adequada para cenários que exigem a colaboração de várias inteligências em tarefas complexas. Os usuários podem executar tarefas predefinidas ou personalizadas a partir da linha de comando.
- Execução de testes de benchmark::
Teste o desempenho do AgentVerse usando o conjunto de dados Humaneval:agentverse-benchmark --task tasksolving/humaneval/gpt-3.5 --dataset_path data/humaneval/test.jsonl --overwrite
- Execução de uma única tarefa::
Execute uma tarefa de brainstorming predefinida:agentverse-tasksolving --task tasksolving/brainstorming
- Tarefas de uso de ferramentas::
Executar tarefas com ferramentas (como resolver um jogo de 24 pontos):agentverse-tasksolving --task tasksolving/tool_using/24point
Certifique-se de que o ToolServer for XAgent esteja iniciado. Mais tarefas de uso da ferramenta estão disponíveis na seção
agentverse/tasks/tasksolving/tool_using/
Encontrado no catálogo.
2 Estrutura do ambiente de modelagem
A estrutura de simulação é adequada para estudar o comportamento de inteligências ou criar cenários de interação. Os usuários podem executar simulações por meio da CLI ou da GUI.
- operação de linha de comando::
Tomemos o exemplo de uma sala de aula de PNL (9 inteligências, incluindo 1 professor e 8 alunos):agentverse-simulation --task simulation/nlp_classroom_9players
- Operação da interface gráfica do usuário (GUI)::
Inicie o servidor da Web local para visualizar a simulação:agentverse-simulation-gui --task simulation/nlp_classroom_9players
Após a inicialização, acesse o
http://127.0.0.1:7860/
Visualize o ambiente de simulação.
3. personalização de tarefas e ambientes
Os usuários podem modificar o agentverse/tasks/
Um arquivo de configuração no diretório cria uma tarefa personalizada ou um ambiente de simulação. Os arquivos de configuração geralmente estão no formato YAML e contêm informações como tipo de modelo, descrição da tarefa e funções do corpo inteligente. Por exemploagentverse/tasks/tasksolving/commongen/llama-2-7b-chat-hf/config.yaml
é um exemplo completo de um perfil de tarefa.
Operação da função em destaque
- colaboração de inteligência múltiplaEm uma estrutura de resolução de tarefas, as inteligências colaboram para concluir as tarefas com base em uma divisão de funções (por exemplo, planejador, executor). Por exemplo, em uma tarefa de desenvolvimento de software, uma inteligência é responsável pela análise de requisitos, outra gera o código e a última realiza o teste.
- Uso de ferramentasInteligência: A Intelligentsia pode invocar ferramentas externas (por exemplo, Bing Search, Jupyter Notebook) para lidar com tarefas complexas. Por exemplo, na tarefa do jogo de 24 pontos, a inteligência usa ferramentas para computar expressões matemáticas.
- Interação analógicaNa estrutura de simulação, os usuários podem definir regras para o comportamento da inteligência, observar seu processo de tomada de decisão em cenários específicos (por exemplo, o Dilema do Prisioneiro) ou interagir com a inteligência por meio da GUI.
cenário do aplicativo
- desenvolvimento de software
A estrutura de resolução de tarefas do AgentVerse pode ser usada para automatizar o desenvolvimento de software. Várias inteligências trabalham juntas, com uma analisando os requisitos, uma gerando código e a outra depurando e testando, para melhorar significativamente a eficiência do desenvolvimento. - Pesquisa educacional
Os cenários de sala de aula de PNL na estrutura de simulação podem ser usados para estudar o desempenho de um grande modelo de linguagem em um ambiente educacional. Os usuários podem observar a interação entre o professor e as inteligências dos alunos e analisar a eficácia do ensino. - Pesquisa de comportamento social
A estrutura de simulação suporta a criação de cenários como o Dilema do Prisioneiro para estudar os padrões de comportamento das inteligências em ambientes competitivos ou cooperativos, e é adequada para pesquisas sociológicas ou de teoria dos jogos. - desenvolvimento de jogos
A estrutura de simulação permite que os usuários criem ambientes de jogos interativos (por exemplo, demonstração do jogo Pokemon) em que as inteligências assumem o papel de personagens e interagem com os jogadores, o que é adequado para a criação de protótipos de jogos.
QA
- Quais são os principais modelos de linguagem suportados pelo AgentVerse?
O AgentVerse é compatível com APIs OpenAI (por exemplo, GPT-3.5), Azure OpenAI e modelos locais (por exemplo, LLaMA, Vicuna). Os usuários precisam configurar a chave de API ou o servidor local apropriado. - Como faço para executar uma tarefa com ferramentas?
Primeiro, você precisa instalar o BMTools ou o ToolServer do XAgent e, em seguida, executar o comandoagentverse-tasksolving --task tasksolving/tool_using/24point
e outros comandos. Certifique-se de que o servidor de ferramentas esteja funcionando corretamente. - Como a GUI do ambiente de simulação é acessada?
estar em movimentoagentverse-simulation-gui --task simulation/nlp_classroom_9players
Depois de visitar ohttp://127.0.0.1:7860/
A interface gráfica pode ser visualizada. - Como faço para contribuir com código ou dar feedback sobre um problema?
Os usuários podem enviar um problema ou uma solicitação pull via GitHub.PULL_REQUEST_TEMPLATE
Envie um código ou entre em contato com a equipe do AgentVerse (agentverse2@gmail.com).