Apresentando o APPL: Uma Nova Linguagem para Integração de LLMs
A APPL facilita o desenvolvimento com grandes modelos de linguagem usando uma sintaxe intuitiva, parecida com Python.
― 2 min ler
Esse artigo apresenta o APPL, uma Linguagem de Programação de Prompt projetada pra conectar a programação tradicional com os prompts de modelos de linguagem grande (LLM). O objetivo é facilitar pra desenvolvedores criarem e gerenciarem fluxos de trabalho que envolvam LLMs, mantendo a clareza e eficiência.
O APPL permite que os usuários insiram prompts em funções Python e vice-versa. Tem uma sintaxe simples que se alinha ao Python, tornando acessível pra muitos desenvolvedores. O APPL também executa processos em paralelo, o que ajuda a acelerar tarefas gerenciando chamadas de LLM de forma assíncrona. Isso significa que os usuários não precisam lidar com sincronização por conta própria, simplificando a implementação.
A linguagem inclui ferramentas pra rastreamento e depuração, facilitando a identificação de problemas e a reprodução de tarefas sem custos adicionais. Experimentações mostram que o APPL pode melhorar significativamente o desempenho de programas que usam chamadas de LLM independentes.
O artigo discute como os LLMs estão se tornando mais poderosos e são vistos como novas plataformas pra várias aplicações. No entanto, integrar esses modelos com a programação tradicional pode ser complexo. O APPL enfrenta essa complexidade através de suas características de design, que priorizam legibilidade e manutenibilidade.
As principais características do APPL incluem:
- Legibilidade e Flexibilidade: O APPL mantém a legibilidade dos prompts em linguagem natural enquanto aproveita as funcionalidades do Python.
- Paralelização Automática: As chamadas de LLM são agendadas de forma assíncrona, otimizando o desempenho com pouco código adicional necessário do usuário.
- Transição Suave Entre Tipos de Dados: A linguagem facilita a conversão de objetos do programa em prompts e garante que as saídas se encaixem nos formatos especificados.
O APPL tem como objetivo simplificar o desenvolvimento de aplicações sofisticadas usando LLMs, enquanto é compatível com as ferramentas e bibliotecas Python existentes. Trabalhos futuros vão envolver o refinamento dessa linguagem e seu tempo de execução pra aumentar ainda mais o desenvolvimento movido por IA.
O artigo reconhece as contribuições de vários pesquisadores e o apoio financeiro que tornou esse trabalho possível. Ele convida à colaboração e ao desenvolvimento adicional na área pra expandir os limites das aplicações de IA.
Título: APPL: A Prompt Programming Language for Harmonious Integration of Programs and Large Language Model Prompts
Resumo: Large Language Models (LLMs) have become increasingly capable of handling diverse tasks with the aid of well-crafted prompts and integration of external tools, but as task complexity rises, the workflow involving LLMs can be complicated and thus challenging to implement and maintain. To address this challenge, we propose APPL, A Prompt Programming Language that acts as a bridge between computer programs and LLMs, allowing seamless embedding of prompts into Python functions, and vice versa. APPL provides an intuitive and Python-native syntax, an efficient parallelized runtime with asynchronous semantics, and a tracing module supporting effective failure diagnosis and replaying without extra costs. We demonstrate that APPL programs are intuitive, concise, and efficient through three representative scenarios: Chain-of-Thought with self-consistency (CoT-SC), ReAct tool use agent, and multi-agent chat. Experiments on three parallelizable workflows further show that APPL can effectively parallelize independent LLM calls, with a significant speedup ratio that almost matches the estimation.
Autores: Honghua Dong, Qidong Su, Yubo Gao, Zhaoyu Li, Yangjun Ruan, Gennady Pekhimenko, Chris J. Maddison, Xujie Si
Última atualização: 2024-06-18 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2406.13161
Fonte PDF: https://arxiv.org/pdf/2406.13161
Licença: https://creativecommons.org/licenses/by-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.