O texto faz sentido. Mesmo assim, a aplicação não o consegue aproveitar, porque a quantidade aparece uma vez como “seis”, outra como 6 e outra ainda como frase no comentário. As saídas estruturadas dão um contrato a esta passagem. A parte mais interessante começa onde um JSON correto pode estar errado quanto ao conteúdo.
Na Mistral, as Custom Structured Outputs utilizam para isso um esquema JSON predefinido. Os campos e os tipos de dados são descritos explicitamente. Isto organiza a interface entre o modelo e a aplicação; não substitui a verificação de que um valor é realmente sustentado pelo texto de origem.
Desconhecido é um estado próprio
A nossa nota fictícia menciona pastas, mas nenhuma quantidade. A saída deve preservar este valor em falta. Se, em vez disso, inserires uma quantidade predefinida, o registo de dados parece mais completo e perde, pelo caminho, uma informação importante.
Um esquema pequeno e independente de fornecedores pode ter este aspeto. Antes de o utilizares, tens de verificar na documentação atual de cada interface que palavras-chave de esquema ela suporta:
{
"type": "object",
"required": ["artikel", "menge", "klaerung"],
"additionalProperties": false,
"properties": {
"artikel": {"type": "string"},
"menge": {"type": ["integer", "null"], "minimum": 0},
"klaerung": {"type": "string"}
}
}
required exige que o campo esteja presente. null permite, ainda assim, um valor explicitamente desconhecido. O limite inferior aplica-se a quantidades numéricas. Saber se uma quantidade é admissível para o processo de encomenda real pode exigir regras de negócio adicionais. Acima de tudo, o esquema responde à pergunta sobre que forma a aplicação a jusante pode esperar.
Uma pré-visualização sem modelo e sem encomenda
Já podes examinar o processamento com dados de exemplo fixos. Guarda o seguinte excerto de HTML, escrito por nós, como ficheiro de exemplo local e abre-o no navegador. Ele apresenta um registo de dados, mas não faz nenhum pedido à API nem guarda nenhuma encomenda.
<!doctype html>
<meta charset="utf-8">
<p id="ausgabe"></p>
<script>
const daten = { artikel: "Folders", menge: null, klaerung: "Quantity missing" };
function pruefe(d) {
if (!d || typeof d !== "object" || Array.isArray(d)) throw Error("Object expected");
const keys = Object.keys(d).sort().join(",");
if (keys !== "artikel,klaerung,menge") throw Error("Check fields");
if (typeof d.artikel !== "string" || typeof d.klaerung !== "string")
throw Error("Text expected");
if (d.menge !== null && (!Number.isInteger(d.menge) || d.menge < 0))
throw Error("Check quantity");
}
pruefe(daten);
const menge = daten.menge === null ? "not yet known" : String(daten.menge);
document.querySelector("#ausgabe").textContent =
daten.artikel + ": " + menge + ". " + daten.klaerung;
</script>
A função é um validador limitado, feito por nós, exatamente para este esquema didático, e não uma biblioteca completa de JSON Schema. Altera sucessivamente a quantidade para 6, para -1 e para a string “seis”. Depois, acrescenta um campo inesperado. De cada vez, observa a apresentação ou a mensagem de erro nas ferramentas de programador.
Assim, podes testar uma transição antes de haver um modelo envolvido. Ficas a saber como a aplicação trata valores conhecidos, desconhecidos e inválidos. Uma resposta de modelo posterior só pode chegar a este excerto depois de passar pelas mesmas regras.
Verificar o formato e o significado de forma independente
Um 6 formalmente permitido pode, ainda assim, estar errado se a nota disser quatro. Numa aplicação real, acrescenta por isso, quando necessário, uma referência à origem e verifica os valores importantes face à entrada. Perante notas contraditórias, o processo deve gerar um ponto de esclarecimento em vez de escolher um número arbitrário.
A saída utiliza textContent. Assim, o texto externo é inserido como texto, em vez de ser interpretado como HTML sem qualquer verificação. As chaves de fornecedores não pertencem a um excerto de navegador como este. Uma chamada ao modelo seria um passo de processamento separado, com o seu próprio acesso e o seu próprio tratamento de erros.
Demonstrar o excerto num site
Se quiseres mostrar exatamente esta pequena apresentação num site existente, o modo de programador do KENJTEC WebSiteBuilder ai é também um local possível para o teu próprio código HTML/JavaScript. O excerto verificado é transferido manualmente; a pré-visualização do código e as tuas próprias versões do código apoiam a revisão subsequente. Isto não cria nenhuma ligação nativa à Mistral.
A verdadeira conclusão mantém-se independente do local de utilização: o formato do modelo, o teu próprio validador, a apresentação segura e a decisão sobre o conteúdo têm funções diferentes. Quem os mantém separados pode aproveitar uma saída de IA de forma direcionada, sem transformar discretamente uma resposta plausível numa ação.
Fontes e estado
Fontes à data de 25 de outubro de 2026. Custom Structured Outputs.

