O CoAgents é uma estrutura inovadora de colaboração de várias inteligências projetada para aprimorar a capacidade dos modelos de linguagem grande (LLMs) de usar ferramentas e APIs externas. A ideia central da estrutura é decompor tarefas complexas de uso de ferramentas em três inteligências especializadas: o Grounding Agent, responsável pela geração de instruções de uso de ferramentas, o Execution Agent, responsável pela execução de operações específicas de ferramentas, e o Execution Agent, responsável pela recuperação de resultados de ferramentas. "São eles: o Grounding Agent, responsável pela geração de instruções de uso da ferramenta, o Execution Agent, responsável pela execução de operações específicas da ferramenta, e o Observing Agent, responsável pela extração de informações importantes dos resultados retornados pela ferramenta. Essas três inteligências interagem e colaboram para formar um loop de feedback completo. Quando o ambiente da ferramenta retorna erros ou feedback, o Executing Agent e o Observing Agent podem se ajustar e se autocorrigir iterativamente para que o modelo aprenda a usar a ferramenta com mais precisão e eficiência para concluir a tarefa. O código de implementação desse projeto é de código aberto no GitHub, e uma demonstração baseada na API do TMDB (The Movie Database) é fornecida para ajudar os usuários a entender e aplicar o código.
Lista de funções
- Uma estrutura para colaboração com várias inteligênciasInteligência de base: O uso inovador de três inteligências separadas (Fundação, Execução e Observação) trabalhando em conjunto para dividir o processo de uso da ferramenta em três etapas: geração de instruções, execução e análise de resultados.
- Aprendizado e adaptação iterativosQuando uma ferramenta é executada incorretamente ou com resultados insatisfatórios, a estrutura é capaz de receber feedback do ambiente e fazer com que os agentes de execução e observação se ajustem e se otimizem.
- Geração de comandos de ferramentasO Grounding Agent é responsável por entender a intenção do usuário e traduzi-la em instruções específicas e executáveis para o uso da ferramenta.
- Implementação de ferramentas e extração de resultadosAgente de Execução: O Agente de Execução chama a ferramenta ou API especificada, enquanto o Agente de Observação extrai com precisão informações valiosas dos dados brutos retornados.
- Suporte para modelos OpenAIA estrutura se integra à API da OpenAI e pode ser configurada pelo usuário para usar o
gpt-3.5-turbo
e outros modelos múltiplos como o núcleo condutor das inteligências. - Rotação de chaves de APISuporte para adicionar várias chaves de API OpenAI a uma configuração e solicitá-las por meio de uma política de seleção aleatória para contornar a limitação de taxa de uma única chave.
- Pontos de extremidade de API personalizadosOs usuários podem configurar de forma flexível o endereço de solicitação (URL de base) da API Open-AI para facilitar o acesso a serviços LLM de terceiros ou de criação própria.
- Caso de demonstração do TMDBScript de demonstração completo baseado na API do banco de dados de filmes TMDB
run_tmdb.py
mostra como corpos inteligentes podem colaborar na busca de informações sobre um filme.
Usando a Ajuda
CoAgents é uma estrutura experimental baseada em Python projetada para explorar como tornar grandes modelos de linguagem melhores para aprender a usar ferramentas. A seção a seguir detalha como configurar e executar o projeto.
1. preparação e instalação do ambiente
Primeiro, você precisa de um ambiente com o Python instalado. Em seguida, execute o Python por meio do comandopip
instala as principais bibliotecas de dependência exigidas pelo projeto. Essas bibliotecas fornecem os recursos fundamentais para a estrutura, como olangchain
para a criação de aplicativos de corpos inteligentes.openai
para interagir com grandes modelos de linguagem.
Abra seu terminal (ferramenta de linha de comando) e execute o seguinte comando:
pip install langchain==0.0.338 openai==1.7.1 tiktoken==0.5.1 colorama==0.4.6
Observação: Embora a documentação oficial sugiralangchain
fazer uso de0.0.338
mas é igualmente compatível com as versões mais recentes.
2) Obter e configurar a chave da API
O CoAgents depende de dois tipos de APIs externas para sua operação:API da OpenAI responder cantando API DO TMDB.
Configuração das chaves da API da OpenAI
- Você precisa ter uma ou mais chaves de API da OpenAI.
- No diretório raiz do projeto, localize e abra o arquivo
./utilize/apis.py
. - Nesse arquivo, você verá um arquivo chamado
api_keys_list
à lista Python. Adicione sua string de chave OpenAI a essa lista.# 文件路径:./utilize/apis.py api_keys_list = [ 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', # 在这里替换成你的第一个API密钥 'sk-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', # 如果有多个,可以继续添加 ]
A estrutura foi projetada com um mecanismo inteligente: em cada solicitação, ela seleciona aleatoriamente uma chave da lista. Isso distribui efetivamente a pressão das solicitações e evita interrupções do programa devido ao fato de uma única chave atingir seu limite de frequência.
- Se você usar um serviço de proxy de terceiros ou um serviço LLM criado por você mesmo, poderá modificar o
BASE_URL
para especificar o endereço de solicitação da API. Se a API oficial for usada, nenhuma modificação será necessária.# 文件路径:./utilize/apis.py BASE_URL = 'https://api.openai.com/v1' # 如果需要,可修改为你的代理地址
Configuração dos tokens de acesso à API do TMDB
- Visite o site oficial do TMDB (The Movie Database) e registre uma conta.
- Solicite um token de acesso à API (token de acesso) de acordo com as diretrizes do TMDB.
- No diretório raiz do projeto CoAgents, o arquivoCriar um novo arquivo manualmentee nomeá-lo
access_token.txt
. - Cole o token de acesso ao TMDB que você obteve nesse arquivo recém-criado e salve-o.
3. executar o programa de demonstração
Depois de fazer tudo o que foi mencionado acima, você poderá executar o aplicativo de demonstração que acompanha o projeto.run_tmdb.py
acima. Esse programa mostrará como a CoAgents usa a API do TMDB para consultar dados de filmes.
Abra um terminal, vá para o diretório raiz do projeto e execute o seguinte comando:
python run_tmdb.py
--model_name 'gpt-3.5-turbo'
--log_file './log_file.json'
--data_file <your_dataset_file>
--access_token_file './access_token.txt'
O significado de cada parâmetro da linha de comando é explicado em detalhes a seguir:
model_name
Inteligência: Especifica o modelo de linguagem grande que orienta as inteligências. O padrão égpt-3.5-turbo
Se você não tiver o código, poderá ajustá-lo no código conforme necessário.log_file
Especifique um caminho de arquivo para registrar as interações entre inteligências à medida que o programa é executado. Isso é útil para depuração e análise.data_file
Dados: Especifique o arquivo de conjunto de dados que contém os dados da tarefa. Você precisa fornecer um arquivo de dados que atenda aos requisitos de formato e contenha as instruções da tarefa a serem consultadas.access_token_file
Especifique o caminho para o arquivo em que o token de acesso ao TMDB está armazenado. Aqui estamos apontando para o arquivo recém-criadoaccess_token.txt
.
Após a execução desse comando, a estrutura de CoAgents começará a funcionar. O agente de base gerará um plano de uso da ferramenta com base nas tarefas do conjunto de dados, o agente de execução chamará a API do TMDB e o agente de observação extrairá as informações necessárias dos dados JSON retornados para finalmente concluir a tarefa de consulta e gerar os resultados. Os registros detalhados de todo o processo serão registrados no seulog_file.json
Documentação.
cenário do aplicativo
- Chamadas inteligentes de API
Em cenários em que você precisa interagir com APIs externas complexas (por exemplo, mídia social, clima, dados financeiros etc.), os CoAgents podem aprender automaticamente como criar solicitações, enviá-las e extrair informações importantes dos dados retornados sem exigir que os desenvolvedores escrevam um código de análise fixo para cada API. - Consulta e análise automatizadas de dados
Os usuários podem fazer uma solicitação de consulta em linguagem natural (por exemplo, "Ajude-me a encontrar os cinco filmes de ficção científica mais bem avaliados lançados em 2023"), e a CoAgents é capaz de decompor a solicitação, executar a consulta chamando ferramentas de consulta de banco de dados (por exemplo, a API do TMDB) e consolidar os resultados para produzir uma resposta precisa. . - Desmontagem e execução de tarefas complexas
Para tarefas complexas que requerem várias etapas e ferramentas para serem concluídas, como "planejar uma viagem de Pequim a Xangai, levando em conta o clima, o transporte e a acomodação", a estrutura de colaboração da CoAgents pode dividir a tarefa em subtarefas, como consulta meteorológica, reserva de passagens aéreas, consulta de hotéis etc., e chamar as ferramentas correspondentes para concluir. - Automação de operações de software ou sistema
Os CoAgents podem aprender a operar softwares ou sistemas operacionais com interfaces API. Por exemplo, ao aprender a API do sistema de arquivos, ele pode permitir a criação, a movimentação e a exclusão de arquivos; ao aprender a API do calendário, ele pode ajudar os usuários a agendar reuniões automaticamente.
QA
- Quais são as principais inteligências contidas na estrutura dos CoAgents? Quais são suas respectivas responsabilidades?
A estrutura CoAgents contém três inteligências centrais:- Agente de aterramentoFerramenta de gerenciamento de tarefas: Sua principal responsabilidade é entender os requisitos da tarefa do usuário e gerar instruções ou planos detalhados para o uso de uma determinada ferramenta.
- Agente de execuçãoResponsável por realmente chamar e executar a ferramenta ou a API apropriada com base nas instruções geradas pelo agente de base.
- Agente de observaçãoFerramenta de análise de resultados: Depois que a ferramenta termina de ser executada, ela é responsável por analisar os resultados retornados (geralmente JSON ou texto) e extrair deles as principais informações úteis para o usuário.
- O que a CoAgents faz se a ferramenta não for executada?
Esse é um dos principais pontos fortes da estrutura CoAgents. Quando um agente de execução recebe feedback de erro (por exemplo, a API retorna um código de erro) após chamar uma ferramenta, esse feedback é capturado pelo sistema. Os agentes de execução e observação se ajustam iterativamente a esse feedback. Eles tentarão corrigir os parâmetros da solicitação ou alterar a política e, em seguida, tentarão executar novamente, permitindo assim um processo de aprendizado autocorretivo. - Quais chaves de API eu preciso preparar antes de executar um projeto da CoAgents?
Você precisa preparar dois tipos de credenciais de API:- Chave da API da OpenAI: Usado para impulsionar os recursos de pensamento e tomada de decisão das inteligências (Agentes) para dar suporte à
gpt-3.5-turbo
e outros modelos. - Token de acesso à API do TMDBAPI do banco de dados de filmes: API do banco de dados de filmes para acessar o banco de dados de filmes usado no caso de demonstração do projeto.
- Chave da API da OpenAI: Usado para impulsionar os recursos de pensamento e tomada de decisão das inteligências (Agentes) para dar suporte à
- Posso substituir ou adicionar novas ferramentas?
Sim. A CoAgents é uma estrutura inerentemente projetada para facilitar o acesso e o uso de ferramentas. Embora o caso de demonstração use a API do TMDB, os desenvolvedores podem estender o código para definir novas ferramentas e disponibilizá-las para as inteligências. Tudo o que é necessário é que o agente base aprenda a gerar instruções para usar a nova ferramenta e que o agente observador aprenda a analisar os resultados retornados da nova ferramenta.