Comparações / JevModel
Classificação de texto no Google Sheets: a função =AI() vs Apps Script → API Jev
Rotule linhas com a função AI do Google Sheets ou com uma chamada Apps Script ao JevModel: rótulos Choice fixos com probabilidades, coluna de revisão, cotas do Apps Script e quando subir um CSV no Console → Batch é mais simples.
Última atualização:
Resposta rápida: um prompt na célula vs um contrato de rótulos fixo
- A função AI do Google (=AI() ou =Gemini()) recebe um prompt e um intervalo opcional, e o Google lista “categorizar informações” e análise de sentimento entre os usos. Exige um plano Google Workspace ou Google AI elegível, retorna só texto, não pode ser aninhada em outra fórmula como IF e gera no máximo as primeiras 350 células AI selecionadas por vez.
- Um comando de menu do Apps Script que envia cada linha via POST para /api/v1/systemone do JevModel retorna um Choice entre 2–12 rótulos definidos por você, normalmente com probabilidades; assim você grava uma coluna de rótulo e outra de probabilidade e manda para revisão as linhas incertas.
- Para chamadas a uma API paga, prefira um comando de menu a uma função personalizada: ela precisa retornar em 30 segundos e é recalculada quando as células referenciadas mudam, o que pode chamar (e cobrar) a API de novo. Scripts executados pelo menu rodam até 6 minutos por execução; o URL Fetch permite 20.000 chamadas/dia em contas pessoais e 100.000/dia no Workspace.
- Sem código: exporte a planilha em CSV e envie no Console → Batch do JevModel (até 50 linhas por lote antes de qualquer compra, 1.000 depois). Seja qual for o caminho, mantenha uma coluna rotulada à mão e meça a concordância antes de confiar nos rótulos.
Como fica a classificação de texto dentro de uma planilha
Quase toda tarefa de classificação em planilha tem a mesma forma: uma coluna de texto livre (respostas de pesquisa, formulários, mensagens de suporte, avaliações), uma lista curta de categorias e uma coluna nova que deve conter exatamente uma delas por linha. Extras úteis: uma coluna de confiança, uma marca de “revisar” e uma coluna de rótulos manuais numa amostra para conferir o resultado. No Google Sheets há três caminhos realistas para preencher essa coluna: a função AI nativa, um Apps Script que chama uma API externa como o JevModel, ou exportar um CSV, classificar fora e colar os resultados de volta.
How to classify text with the JevModel APIBatch text classification with the JevModel APIA função AI do Google Sheets: o que o Google documenta
A ajuda do Google descreve a sintaxe AI("prompt", [intervalo opcional]); =Gemini() é um nome equivalente. Você seleciona as células e clica em Generate and Insert, ou Refresh and Insert para gerar de novo. Os exemplos do Google incluem classificar uma solicitação como elogio, pedido de troca ou pedido de devolução, e classificar e-mails como positivos, negativos ou neutros. Para classificação, os limites documentados importam: só retorna texto; a função vê apenas o intervalo passado, não a planilha inteira; não pode ser aninhada em outra fórmula (o exemplo não suportado do Google envolve AI() em IF); só as primeiras 350 células AI selecionadas são geradas por vez; há limites de geração de curto e longo prazo; e o acesso depende do plano, das configurações do administrador e do idioma. Pontos fortes: zero configuração em contas elegíveis e um prompt em linguagem natural que qualquer pessoa edita. Limites: a saída é texto livre, então o rótulo pode variar (“Return”, “return request”, “Returns”) se o prompt e uma limpeza não forçarem valores exatos, e não há coluna de probabilidade por rótulo para definir um limiar de revisão.
Classificação de texto zero-shot em 2026: prompts LLM vs Hugging Face vs API tipadaJev vs GPT and Claude: choosing a decision layerApps Script → Jev: use um comando de menu, não uma função personalizada
O Apps Script chama qualquer API HTTPS com UrlFetchApp, e o guia de funções personalizadas do Google confirma que o URL Fetch é um dos serviços permitidos. Ainda assim, não é o lugar para uma chamada de classificação cobrada por uso. Uma função personalizada precisa retornar em 30 segundos ou a célula mostra #ERROR!; cada uso é uma chamada separada ao servidor do Apps Script; e ela é recalculada quando uma célula referenciada muda, então uma edição pode reclassificar (e cobrar) a mesma linha sem você perceber. Um item de menu personalizado evita isso: o script roda uma vez ao clicar, lê as linhas selecionadas, chama o JevModel e grava rótulo e probabilidade como valores fixos que não recalculam. Planeje com os limites publicados pelo Google: 6 minutos por execução e cotas de URL Fetch de 20.000 chamadas/dia em contas pessoais e 100.000/dia no Google Workspace (o Google avisa que podem mudar). Trabalhe com seleções que terminem numa execução. Guarde a chave do JevModel em Project Settings → Script properties, não numa célula, e lembre que quem edita a planilha também edita o script vinculado: mantenha poucos editores.
JevModel API: request and responseJevModel pricing and free Jev runsPrivate runs and historyComparação: =AI() vs Apps Script → Jev vs CSV no Console → Batch
A tabela compara a forma do fluxo e o contrato de saída, não a precisão. Nenhuma linha é benchmark; meça na sua própria amostra rotulada.
Batch text classification with the JevModel APIHow to classify text with the JevModel APIChoice, Score, and Noul| Dimensão | Sheets =AI() | Menu Apps Script → JevModel | CSV → Console → Batch |
|---|---|---|---|
| Preparação | Plano Workspace / Google AI elegível; digitar um prompt | Colar um script e guardar a chave em Script properties | Exportar CSV, enviar e exportar resultados |
| Saída do rótulo | Texto livre; valores exatos dependem do prompt | Um ID de Choice entre 2–12 rótulos definidos, normalmente com probabilidades | A mesma pergunta Jev para cada linha |
| Limiar de revisão | Sem coluna de probabilidade por rótulo | Gravar a probabilidade ao lado do rótulo e filtrar as baixas | Respostas por linha na exportação |
| Limites principais | 350 células por geração; limites de geração; sem aninhar | 6 min por execução; cota diária do URL Fetch; ~8.000 caracteres por requisição | 50 linhas por lote antes de comprar, 1.000 depois |
| Cobrança | Incluído no seu plano Google e seus limites | Tokens do JevModel por requisição bem-sucedida; falhas reembolsadas | O mesmo saldo de tokens do Playground e da API |
Exemplo de Apps Script: classificar as linhas selecionadas (ilustrativo)
Abra Extensions → Apps Script, cole o código, crie uma propriedade de script chamada JEVMODEL_API_KEY com uma chave do JevModel Console → API keys e recarregue a planilha. Selecione as células de texto de uma coluna e escolha Jev → Classify selected rows; o rótulo e a probabilidade são gravados nas duas colunas seguintes. A requisição segue o contrato documentado: um state (o texto da célula) e perguntas nomeadas, aqui um Choice cujos criteria ligam IDs de rótulo a definições curtas. Definições claras, com um “other” explícito, importam mais que redação esperta. O site fixa o modelo typesafe/jev-1.13 via OpenRouter, então não há campo model. O JevModel é independente da TypeSafe AI, que desenvolve o Jev. Um code diferente de zero (por exemplo INSUFFICIENT_TOKENS) é gravado como ERROR para você reexecutar só essas linhas; a API não tem chave de idempotência, então não reexecute linhas que já têm rótulo.
JevModel API: request and responseChoice, Score, and NoulJevModel pricing and free Jev runs// Illustrative only. Save the key as the script property JEVMODEL_API_KEY.
// Run from the menu, not as a custom function, so edits never re-bill rows.
const LABELS = {
billing: "Charges, refunds, invoices or payment methods.",
shipping: "Delivery status, delays or address changes.",
product: "How the product works, or a defect report.",
other: "Anything that fits none of the labels above.",
};
function onOpen() {
SpreadsheetApp.getUi()
.createMenu("Jev")
.addItem("Classify selected rows", "classifySelection")
.addToUi();
}
function classifySelection() {
const key = PropertiesService.getScriptProperties().getProperty("JEVMODEL_API_KEY");
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getActiveRange(); // one column of text cells
const rows = range.getValues().map(([text]) => {
if (!text) return ["", ""];
const res = UrlFetchApp.fetch("https://jevmodel.app/api/v1/systemone", {
method: "post",
contentType: "application/json",
headers: { Authorization: "Bearer " + key },
muteHttpExceptions: true,
payload: JSON.stringify({
state: String(text),
questions: {
route: {
type: "choice",
instructions: "Which support queue should handle this message?",
criteria: LABELS,
},
},
}),
});
const body = JSON.parse(res.getContentText());
if (body.code !== 0) return ["ERROR", body.message];
const answer = body.data.answers.route;
const p = answer.probabilities ? answer.probabilities[answer.choice] : "";
return [answer.choice, p];
});
// Plain values in the next two columns: label, probability.
sheet.getRange(range.getRow(), range.getColumn() + 1, rows.length, 2).setValues(rows);
}
Adicione uma coluna de revisão e confira os rótulos antes de usá-los
A planilha facilita a avaliação, então faça. Antes de classificar tudo, rotule à mão uma amostra aleatória de linhas em outra coluna, rode a mesma pergunta e compare com COUNTIFS ou uma tabela dinâmica: concordância por rótulo e quais rótulos se confundem. Depois defina uma regra de revisão a partir da amostra, por exemplo “probabilidade abaixo do nível onde houve mais discordâncias vai para revisão”, e adicione uma coluna como =IF(C2<0.7,"review","ok"); 0,7 é um exemplo, não uma recomendação. Mantenha o rótulo “other” e trate uma fatia alta de “other” como sinal de que a lista de rótulos precisa de ajuste, não como falha do modelo. A confiança de Choice descrita pela TypeSafe, (p − 1/n)/(1 − 1/n), corrige pelo número de rótulos, mas também não é precisão calibrada. Reconfira a amostra após mudar rótulos ou definições.
Jev probability, confidence and human-review thresholdsEvaluate a Jev workflowClassificação de feedback de clientes: um tema, uma prioridade e por que sentimento não bastaQual caminho escolher
Escolha =AI() se você já tem um plano elegível, a planilha é uma exploração pontual e alguém vai ler os resultados de qualquer forma. Escolha o menu Apps Script → Jev se o mesmo conjunto de rótulos é reutilizado, se você quer uma coluna de probabilidade para decidir o que revisar, ou se os rótulos precisam bater com os de outra automação (Zapier, Make, n8n, Power Automate, Pipedream ou seu app) pela mesma API. Escolha CSV → Console → Batch para ter rótulos do Jev sem programar, ou testar uma pergunta num arquivo pequeno. Checklist para qualquer caminho: 1) defina rótulos com um “other” explícito; 2) rotule uma amostra à mão; 3) guarde rótulos aceitos como valores, não fórmulas vivas; 4) nada de chaves de API em células; 5) não afirme precisão que você não mediu nessa amostra. Se uma linha pode ter vários rótulos, veja multi-label-text-classification em vez de forçar um único Choice.
Classificação de texto multilabel: um Choice, várias perguntas sim/não ou uma segunda passagemClassificação de texto no Zapier: AI by Zapier Classify vs Vertex Classify Text vs HTTP → JevCategorize Text no Make.com: AI Toolkit vs HTTP → Jev para rótulos tipados e limiaresBatch text classification with the JevModel APIClassificação de texto no Power Automate: modelos AI Builder vs HTTP → JevClassificação de texto no Pipedream: ação Hugging Face vs HTTP → JevNó Text Classifier do n8n: integrado vs chamar Jev em um workflowClassificação de feedback de clientes: um tema, uma prioridade e por que sentimento não bastaJevModel API: request and responseClassificação de texto no Airtable: rotule registros automaticamente com uma automação Run a script e o JevPerguntas frequentes
A função AI do Google Sheets classifica texto?
Sim. O Google lista categorização e análise de sentimento entre os usos, com exemplos como =AI("Categorize the customer inquiry as a compliment, exchange request, or return request.", C2). Exige um plano Google Workspace ou Google AI elegível, retorna texto livre e não pode ser aninhada em fórmulas como IF.
Por que não escrever uma função personalizada como =JEV(A2)?
Tecnicamente funciona, mas funções personalizadas recalculam quando as células referenciadas mudam e precisam terminar em 30 segundos: uma API paga pode ser chamada de novo para linhas já pagas, e intervalos grandes estouram o tempo. Um comando de menu roda uma vez e grava valores fixos.
Quantas linhas posso classificar no Google Sheets com o Jev?
Valem três limites: seu saldo de tokens do JevModel (contas verificadas começam com 100.000 tokens grátis), o limite de 6 minutos por execução e a cota diária de URL Fetch do Apps Script, e a capacidade diária do site. Cada linha é uma requisição comum; não há desconto por volume. Para arquivos, o Console → Batch aceita 50 linhas por lote antes de comprar e 1.000 depois.
Os dados da minha planilha vão para o JevModel?
Só vai o que o script coloca em state, no exemplo o texto da célula; o JevModel repassa ao modelo via OpenRouter. Remova antes colunas desnecessárias, como e-mails ou telefones, e leia o guia de privacidade sobre como o histórico é guardado.
JevModel é independente e não é afiliado à TypeSafe AI.