Apresentando o gptrim , um aplicativo da Web gratuito que reduzirá o tamanho de seus prompts em 40% a 60%, preservando a maior parte das informações originais para o GPT processar. gptrim também é uma biblioteca Python .
Cole seu prompt GPT em gptrim . Copie o texto aparado e entregue-o ao GPT.
O texto cortado parece sem sentido. Mas a GPT entende! 😁
Aqui está o prompt que você pode usar para verificar a qualidade da compactação:
This is an instance of compressed text. Rewrite it so that it has perfect grammar and is understandable by a human. Try to interpret it as faithfully as possible. Do not paraphrase or add anything to the text.
Se você já brincou com o GPT, sabe que o maior limite para o que você pode alcançar vem da janela de contexto, ou seja, o número total de tokens que o GPT pode ver ao mesmo tempo.
Aqui está onde as coisas estão no momento deste artigo ( visão geral do OpenAI ):
O tamanho da janela de contexto é medido em tokens. 1000 tokens correspondem a aproximadamente 750 palavras.
A API GPT-3.5 possui uma janela de contexto de 4k tokens ou cerca de 6 páginas do Word.
Com a API GPT-4, você pode obter uma janela de contexto de tamanho 8k ou 32k, dependendo de quanto está disposto a pagar.
Mesmo se você estiver disposto a pagar, a API GPT-4 está em versão beta limitada e a maioria das pessoas, inclusive eu, não consegue acessá-la. Ei OpenAI, ainda esperando por esse convite.
Quando você está usando as APIs, cada token tem um custo.
Você pode usar o GPT-4 interativamente no ChatGPT , por uma taxa mensal. Infelizmente, as mensagens de bate-papo podem conter apenas um pequeno número de caracteres. Tanto o ChatGPT quanto eu às vezes ultrapassamos esse limite e nossas mensagens são interrompidas.
Na prática, isso torna muito difícil criar aplicativos que funcionem com grandes quantidades de texto.
Reduzir os tokens em seus prompts significa:
Em geral, nunca há muita janela de contexto. Mesmo se você estiver disposto a pagar por 32k, ainda vai querer mais.
O GPT é treinado para prever a linguagem humana. No dia-a-dia, é muito melhor prever a linguagem humana do que qualquer ser humano jamais será. Se você der a ele um texto altamente condensado e compactado, ele ainda será capaz de lê-lo.
Considere o uso de espaços. Os seres humanos precisam de espaços entre as palavras porque precisamos ver o texto. Mas se eu escrevesse sem espaços, você provavelmente ainda poderia me entender.
Meu palpite é que 95% dos espaços em um texto existem apenas para tornar a leitura mais fácil para os olhos. GPT não se importa. Cada espaço que você elimina é um token extra que você pode usar para transmitir informações.
Podemos fazer melhor do que apenas remover espaços? Claro, perguntei ao GPT. (Fiquei frustrado porque estava tentando alimentá-lo com grandes postagens de blog e continuava correndo contra o limite.) Ele criou uma função Python que faz o seguinte:
Tokeniza o texto
Remove stopwords
Aplica o algoritmo de derivação de Porter
Remove algumas palavras comuns: 'the', 'a', 'an', 'in', 'on', 'at', 'for', 'to', 'of'
Remove todos os espaços e mistura as palavras
Você pode ler o código aqui . É muito simples! Este é o material padrão de pré-processamento da PNL. Mas ainda não vi ninguém usá-lo para esse fim.
Algumas semanas atrás, o Twitter descobriu "Língua de Shoggoth". Você pode fazer com que o GPT escreva texto altamente compactado em uma linguagem idiossincrática que suas próprias instâncias possam entender. GPT, porque você ainda precisa usar GPT para a compactação.
O gptrim não precisa do GPT para compactar o texto, o que o torna rápido e gratuito.
O gptrim reescreve seus prompts para que sejam aproximadamente 50% mais curtos. Você pode simplesmente colar o prompt abreviado no ChatGPT ou alimentá-lo em sua API. A GPT seguirá suas instruções. Nenhuma explicação especial é necessária. A GPT não verá nada de estranho no seu texto!
Eu não testei isso extensivamente. Pelo que vi, o GPT pode recuperar a maior parte do significado original. Isso também é verdade para GPT-3.5.
A melhor maneira de verificar a qualidade da compactação é pedir ao GPT para descompactar o texto. Eu compartilhei um prompt para isso na parte superior do artigo.
A compressão não é perfeita. Para algumas frases, o significado se perde ou é mal interpretado. Eu não recomendo usar isso para aplicações onde nuances são cruciais (por exemplo, diagnóstico médico).
Este projeto foi hackeado em uma noite. Foi um esforço muito colaborativo. Eu tive a ideia e o GPT escreveu a função de corte. Ele também fez o trabalho pesado para escrever o aplicativo web Flask.
Existem várias melhorias que podem ser adicionadas:
Publique uma biblioteca Python para fazer isso programaticamente.
Meça a economia em tokens GPT, não em números de caracteres.
Calcule a economia em dólares com base nos preços da OpenAI.
Execute mais experimentos. Podemos fazer com que o GPT responda em linguagem aparada, pense consigo mesmo em linguagem aparada e apenas descompacte o texto como uma etapa final?
Por fim, deve haver métodos melhores para compactar texto para GPT, sem usar GPT. Aguardo novas ideias neste espaço.
Gosto de construir coisas com IA e escrever sobre isso. Encontre-me no LinkedIn e no Twitter .