Avanços na Geração de Chamadas de API
Um novo framework melhora a precisão e a eficiência na geração de chamadas de API.
― 7 min ler
Índice
- A Importância das Chamadas de API
- Desafios Atuais
- Apresentando um Novo Método
- Decodificação Constrangida Rastreada por Estado (SCD)
- Reclassificação
- Benefícios do FANTASE
- Melhor Precisão
- Eficiência Aprimorada
- Redução nas Necessidades de Dados
- Cenários de Aplicação
- Assistentes Virtuais
- Dispositivos de Casa Inteligente
- Suporte ao Cliente
- Análise Comparativa
- Direções Futuras
- Conclusão
- Fonte original
- Ligações de referência
A geração de Chamadas de API é uma tarefa importante que permite que sistemas inteligentes se comuniquem com serviços externos. Isso ajuda desde assistentes virtuais gerenciando casas inteligentes até chatbots fornecendo informações. No entanto, os métodos atuais para gerar essas chamadas de API enfrentam desafios, incluindo altos custos de treinamento e a possibilidade de gerar chamadas de API incorretas ou incompletas. Nesta discussão, vamos explorar uma nova abordagem criada para resolver esses problemas de forma eficaz.
A Importância das Chamadas de API
Chamadas de API são comandos que o software usa para solicitar informações ou serviços de outro software. Elas desempenham um papel vital na comunicação entre aplicações. Por exemplo, se você pedir a um assistente virtual para reservar um restaurante, ele precisa formar uma chamada de API apropriada para recuperar essas informações de um banco de dados.
O processo de criação de uma chamada de API envolve entender os requisitos da API, incluindo seus endpoints (as funções específicas disponíveis), parâmetros (as entradas necessárias) e formatos esperados. Gerar essas chamadas com precisão é crucial para garantir que as necessidades do usuário sejam atendidas.
Desafios Atuais
Muitas técnicas existentes para gerar chamadas de API utilizam aprendizado supervisionado. Embora esses métodos possam produzir bons resultados, geralmente exigem muitos dados rotulados, o que pode ser caro e demorado para coletar. Além disso, eles ainda podem gerar chamadas que não refletem com precisão a documentação da API ou o pedido do usuário.
Outra abordagem comum é o aprendizado em contexto, onde o sistema aprende com exemplos durante a interação. Apesar de suas vantagens, esse método pode ter dificuldades com eficiência de dados e pode ainda retornar chamadas de API incorretas.
Apresentando um Novo Método
Para abordar as falhas dos métodos existentes, apresentamos uma nova estrutura chamada FANTASE. Essa abordagem incorpora dois componentes-chave: Decodificação Constrangida Rastreada por Estado (SCD) e Reclassificação.
Decodificação Constrangida Rastreada por Estado (SCD)
A SCD é projetada para impor as regras definidas na documentação da API durante todo o processo de geração. Isso significa que ela pode garantir que apenas chamadas de API válidas sejam geradas com base no que é permitido dentro da API.
A SCD funciona rastreando o estado da geração e usando uma estrutura chamada Token Search Trie. Essa estrutura permite que o sistema consulte de forma eficiente as regras definidas na documentação da API durante o processo de geração. Assim, quando um argumento específico é necessário, a SCD considerará apenas as opções corretas, garantindo que a chamada de API seja tanto válida quanto fiel aos pedidos dos usuários.
Reclassificação
O componente de Reclassificação complementa a SCD ao incorporar Sinais Supervisionados de um modelo menor. Esse modelo ajuda a avaliar e classificar as chamadas de API geradas com base em quão bem elas correspondem aos resultados esperados.
Enquanto a SCD garante que as chamadas geradas sejam válidas, o sistema de Reclassificação analisa qual das chamadas válidas é a melhor correspondência para o pedido do usuário. Ele permite que o sistema selecione a chamada de API mais apropriada entre várias candidatas.
Benefícios do FANTASE
Melhor Precisão
Usando a SCD para impor as restrições da API, o FANTASE alcança melhorias significativas na precisão das chamadas de API geradas. Testes mostraram que o número de chamadas de API corretas geradas é muito maior do que o que os métodos anteriores conseguiram.
A capacidade da SCD de restringir escolhas com base exclusivamente nas regras da API simplifica o processo de geração, tornando mais fácil para o sistema produzir saídas válidas. Além disso, o componente de Reclassificação aprimora ainda mais a precisão, garantindo que as chamadas mais adequadas sejam selecionadas com base na Intenção do Usuário.
Eficiência Aprimorada
O FANTASE também melhora a eficiência em termos de tempo e uso de recursos. Abordagens tradicionais costumam exigir várias passagens por um modelo para gerar chamadas de API. Em contraste, a SCD pode produzir resultados mais rapidamente, reduzindo o número de cálculos necessários.
Durante os testes, foi constatado que o FANTASE poderia gerar chamadas de API mais rápido do que métodos convencionais, muitas vezes alcançando resultados na metade do tempo. Essa eficiência é crucial ao gerar chamadas de API em aplicações em tempo real, como chatbots de atendimento ao cliente.
Redução nas Necessidades de Dados
Outra vantagem do FANTASE é sua menor dependência de grandes quantidades de dados rotulados. Enquanto métodos tradicionais de aprendizado supervisionado exigem quantidades significativas de dados de treinamento rotulados, a SCD permite que o FANTASE funcione efetivamente com menos dados. Isso o torna uma solução mais econômica para organizações que buscam implementar capacidades de uso automatizado de ferramentas.
Cenários de Aplicação
Os benefícios do FANTASE podem ser vistos em vários cenários onde a geração automatizada de chamadas de API é necessária. Aqui estão alguns exemplos:
Assistentes Virtuais
Em aplicações de assistentes virtuais, o FANTASE pode melhorar a forma como esses sistemas respondem a consultas de usuários. Por exemplo, se um usuário pedir recomendações de restaurantes, o sistema pode gerar uma chamada de API precisa para buscar dados relevantes, garantindo que as sugestões atendam às preferências do usuário.
Dispositivos de Casa Inteligente
Para aplicações de casa inteligente, gerar chamadas de API para controlar dispositivos é vital. O FANTASE pode lidar com as complexidades dessas interações, permitindo comandos de controle precisos com base em pedidos dos usuários, seja ajustando o termostato ou acendendo luzes.
Suporte ao Cliente
Sistemas automatizados de suporte ao cliente podem se beneficiar muito desse método. Ao gerar chamadas de API que recuperam informações de conta ou iniciam pedidos, os agentes de suporte podem fornecer respostas rápidas, aumentando a satisfação do usuário.
Análise Comparativa
Ao comparar o FANTASE com métodos tradicionais, os resultados falam por si. O FANTASE supera consistentemente estruturas mais antigas em termos de precisão e eficiência.
Durante os experimentos, foi mostrado que a precisão da geração de chamadas de API do FANTASE melhorou significativamente em vários conjuntos de dados. A combinação de SCD e reclassificação trabalhou em sinergia para produzir melhores resultados do que qualquer método individual sozinho.
Direções Futuras
Embora o FANTASE represente um avanço, ainda há áreas para exploração futura. A estrutura está atualmente otimizada para estruturas de API específicas, então variações no design da API podem exigir esforços adicionais de engenharia para adaptar o sistema adequadamente. Entender seu desempenho em modelos de linguagem maiores é outro aspecto que merece investigação.
Outra oportunidade empolgante está em aplicar os conceitos do FANTASE a outras tarefas desafiadoras, como geração de consultas SQL ou outros formatos de dados estruturados. Fazer isso poderia ampliar ainda mais o impacto deste trabalho em diversos campos.
Conclusão
A estrutura FANTASE fornece um avanço significativo na geração de chamadas de API. Ao combinar Decodificação Constrangida Rastreada por Estado e Reclassificação, ela aprimora tanto a precisão quanto a eficiência, tornando-a uma ferramenta versátil para aplicações que requerem capacidades automatizadas de uso de ferramentas. À medida que a tecnologia evolui, o potencial para novas melhorias e aplicações continua a crescer, prometendo desenvolvimentos empolgantes nesta área.
Título: FANTAstic SEquences and Where to Find Them: Faithful and Efficient API Call Generation through State-tracked Constrained Decoding and Reranking
Resumo: API call generation is the cornerstone of large language models' tool-using ability that provides access to the larger world. However, existing supervised and in-context learning approaches suffer from high training costs, poor data efficiency, and generated API calls that can be unfaithful to the API documentation and the user's request. To address these limitations, we propose an output-side optimization approach called FANTASE. Two of the unique contributions of FANTASE are its State-Tracked Constrained Decoding (SCD) and Reranking components. SCD dynamically incorporates appropriate API constraints in the form of Token Search Trie for efficient and guaranteed generation faithfulness with respect to the API documentation. The Reranking component efficiently brings in the supervised signal by leveraging a lightweight model as the discriminator to rerank the beam-searched candidate generations of the large language model. We demonstrate the superior performance of FANTASE in API call generation accuracy, inference efficiency, and context efficiency with DSTC8 and API Bank datasets.
Autores: Zhuoer Wang, Leonardo F. R. Ribeiro, Alexandros Papangelis, Rohan Mukherjee, Tzu-Yen Wang, Xinyan Zhao, Arijit Biswas, James Caverlee, Angeliki Metallinou
Última atualização: 2024-07-18 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2407.13945
Fonte PDF: https://arxiv.org/pdf/2407.13945
Licença: https://creativecommons.org/licenses/by-nc-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://www.latex-project.org/help/documentation/encguide.pdf
- https://github.com/tatsu-lab/stanford_alpaca/blob/main/LICENSE
- https://github.com/tatsu-lab/stanford_alpaca/blob/main/DATA_LICENSE
- https://docs.google.com/forms/d/e/1FAIpQLSfqNECQnMkycAp2jP4Z9TFX0cGR4uf7b_fBxjY_OjhJILlKGA/viewform
- https://github.com/AlibabaResearch/DAMO-ConvAI/blob/main/api-bank/LICENSE
- https://github.com/google-research-datasets/dstc8-schema-guided-dialogue/blob/master/LICENSE.txt
- https://github.com/facebookresearch/fairseq/blob/main/LICENSE
- https://openai.com/policies/terms-of-use