Adicionar funcionalidades de IA à sua app com m77.ai
Resumos, sugestões, classificadores e chat — qualquer app do builder77 pode chamar a IA com uma linha de código e sem chaves de API. Padrões, prompts e armadilhas.
Adicionar IA a uma app costuma implicar registar-se num fornecedor de modelos, guardar uma chave de API num servidor e escrever um endpoint de backend para que a chave nunca chegue ao browser. No builder77, isso já está feito. Todas as apps têm m77.ai.chat, e as chamadas são cobradas aos créditos de integração do dono da app — 1 crédito por cada 500 tokens (entrada + saída, mínimo de 1 por chamada).
O essencial
const reply = await m77.ai.chat('Suggest three names for a coffee shop by the sea');
const answer = await m77.ai.chat(
[{ role: 'user', content: question }],
{ system: 'You are a friendly barista. Answer in two sentences.' }
);Passe uma string para um prompt pontual ou um array de mensagens para uma conversa. A instrução opcional system define o tom e as regras.
Saída estruturada com json: true
A maioria das funcionalidades de IA úteis não quer prosa — quer dados que a sua interface possa mostrar. Defina json: true e descreva a forma que pretende. Recebe de volta um objeto já interpretado.
const recipe = await m77.ai.chat(
`Create a recipe using: ${ingredients.join(', ')}.
Return JSON: { "title": string, "minutes": number, "steps": string[] }`,
{ json: true }
);
renderRecipe(recipe);Cinco padrões que funcionam bem
- Resumir: transforme notas longas, avaliações ou pedidos de suporte num resumo curto no topo da página.
- Classificar: etiquete as submissões de formulários por tema ou urgência e guarde a etiqueta com
m77.db.update. - Gerar rascunhos: descrições de produtos, publicações para redes sociais, respostas a emails — sempre editáveis antes de guardar.
- Extrair: retire datas, valores ou nomes de texto livre e coloque-os em campos.
- Assistir: um pequeno painel de chat que responde a perguntas sobre o conteúdo da página.
Guarde os resultados para não pagar duas vezes
As chamadas são medidas em tokens: 1 crédito de integração por cada 500 tokens (entrada + saída, mínimo de 1 por chamada), por isso uma resposta típica custa cerca de 3–4 créditos. Se um resultado não muda com frequência — o resumo de um documento, as etiquetas de um registo — guarde-o na base de dados e gere-o de novo apenas quando a origem mudar.
if (!note.summary) {
const summary = await m77.ai.chat(`Summarize in one sentence: ${note.body}`);
await m77.db.update('notes', note.id, { summary });
}Desenhe a pensar na espera e nas falhas
As chamadas de IA demoram um momento, por isso trate-as como qualquer pedido de rede: desative o botão, mostre um estado de carregamento e trate os erros com uma mensagem simpática. m77.toast('Something went wrong', 'error') é uma alternativa fácil. As apps que o builder77 cria fazem isto por predefinição, mas vale a pena confirmar quando adiciona funcionalidades à mão.
Escreva prompts como especificações
O mesmo conselho que se aplica à criação de apps aplica-se aos prompts que vivem dentro delas. Seja específico quanto ao tamanho, ao tom, ao formato e ao que fazer quando a informação falta ou é estranha.
Escreves descrições de produtos para uma loja de cerâmica artesanal. Máximo de 40 palavras. Calorosas, concretas, sem superlativos. Se faltarem detalhes, escreve uma descrição curta e neutra em vez de inventar factos.
Use os resultados da IA com responsabilidade
- Informe os utilizadores quando o conteúdo é gerado por IA, sobretudo em interfaces de chat.
- Deixe as pessoas rever e editar os rascunhos da IA antes de serem publicados ou enviados.
- Não use a resposta da IA como palavra final em questões de saúde, jurídicas ou financeiras.
- Evite enviar dados pessoais sensíveis nos prompts, a menos que seja essencial.
Peça ao builder77 para o criar
Raramente vai precisar de escrever nada disto. Experimente prompts como «adiciona um botão de IA que sugere etiquetas para cada nota e as guarda» ou «adiciona um assistente de chat que responde a perguntas sobre a ementa». O editor conhece m77.ai e liga por si a interface, os estados de carregamento e o armazenamento.