modelos

Mistral: Mistral Small 4 (batch)

Markdown · JSON

Mistral: Mistral Small 4 (batch)

Mistral Small 4 é um modelo híbrido de texto e imagem com capacidades de instruções, raciocínio e programação. A versão de mistura de especialistas com 119 mil milhões de parâmetros ativa 6,5 mil milhões por token e suporta um contexto de 256k indicado pelo fabricante, esforço de raciocínio selecionável, JSON e chamadas de funções.

Sobre o modelo

Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.

Mistral Small 4 combina seguimento geral de instruções, raciocínio e programação num único modelo multimodal. O fabricante descreve-o como uma unificação das famílias Instruct, Magistral de raciocínio e Devstral de programação. Aceita texto e imagens e devolve texto, com chamadas de funções e saída JSON disponíveis para aplicações assistidas por ferramentas.

Arquitetura e funcionalidades principais

A versão tem 119 mil milhões de parâmetros no total e ativa 6,5 mil milhões por token. A arquitetura de mistura de especialistas contém 128 especialistas, dos quais 4 ativos, e o fabricante documenta uma janela de contexto de 256k. A contagem de parâmetros ativos e o número de especialistas descrevem a organização do modelo; são distintos da quantidade de conteúdo textual ou visual incluído numa tarefa.

O modelo disponibiliza funcionalidades de instruções e raciocínio no mesmo ponto de controlo. O fabricante identifica também visão, cumprimento de instruções de sistema e suporte multilingue para dezenas de línguas, incluindo inglês, francês, espanhol, alemão, italiano, português, neerlandês, chinês, japonês, coreano e árabe. Uma instrução textual pode, portanto, perguntar sobre uma imagem ou combinar um requisito escrito com elementos de prova visíveis, recebendo a resposta em texto.

Uma tarefa visual pode fornecer uma página documental e pedir os valores relevantes para uma condição identificada. Mantenha legíveis as etiquetas e unidades e indique se o resultado deve preservar a formulação original, resumi-la ou compará-la com outra fonte. Uma tarefa de interface pode associar uma captura de ecrã ao objetivo do utilizador e pedir o controlo visível relevante e os elementos de prova que sustentam o próximo passo proposto.

Escolha entre o modo de instruções e o de raciocínio

A ficha publicada documenta o esforço de raciocínio none para uma resposta imediata orientada por instruções e high para raciocínio, recomendando high para prompts complexos. A escolha é feita por pedido dentro do mesmo modelo Small 4. Uma classificação comum ou reescrita curta pode ter um contrato de resposta diferente de um problema matemático, visual ou de programação que exija uma explicação desenvolvida.

O fabricante recomenda temperature 0.7 para esforço de raciocínio high. Para none, especifica temperaturas entre 0.0 e 0.7 conforme a tarefa. Estas definições descrevem os modos documentados e não transformam o esforço de raciocínio numa garantia de resultado correto. Defina as hipóteses, o formato da saída e as fontes relevantes antes de escolher quanto raciocínio a tarefa exige.

Para um problema resolvido, forneça a condição completa e peça os passos importantes justificados, seguidos da expressão final. Para uma tarefa de código, forneça o requisito, a função afetada e uma entrada concreta; peça a implementação proposta separadamente da explicação e dos exemplos. As demonstrações de utilização do fabricante incluem seguimento de instruções, uma ferramenta de cálculo aplicada a uma imagem e raciocínio visual, ilustrando como texto e elementos de prova visuais podem entrar nestas diferentes tarefas.

Programação, documentos e ferramentas

O modelo destina-se a exploração de bases de código e agentes de engenharia de software, assistentes gerais, compreensão documental e investigação. Um pedido a um agente de programação pode identificar o módulo a alterar, a interface a preservar e o comportamento pretendido. Forneça o código relevante e os elementos de prova da falha. O modelo pode propor a próxima operação ou uma alteração de código, enquanto a aplicação fornece acesso ao repositório, execução e retorno dos resultados.

Para extração documental, identifique os campos obrigatórios e como representar informação em falta. Um registo útil pode separar o identificador documental, a afirmação da fonte, o requisito interpretado e a questão por resolver. A ficha do serviço do fabricante enumera saída estruturada personalizada e perguntas sobre documentos; estas usam processamento documental e OCR para preparar texto e estrutura antes da análise pelo modelo de linguagem. Uma pergunta direta sobre imagem e um fluxo documental assistido por OCR devem manter a sua própria preparação de entrada.

As chamadas de funções exigem ferramentas claramente descritas. O modelo seleciona uma função e cria os argumentos; a aplicação executa a operação e devolve o resultado para a resposta subsequente. A mesma lógica aplica-se a consultas, cálculos ou operações de programação. A formatação JSON organiza uma resposta, enquanto uma chamada de ferramenta pede uma ação externa; os dois não devem ser tratados como resultados intercambiáveis.

A ficha do serviço enumera também saídas previstas, prefixos de resposta, processamento em lote e conversas com agentes. As saídas previstas são úteis quando um documento ou ficheiro de código deve ser regenerado com uma alteração limitada e o restante conteúdo é conhecido. Especifique a edição e o material a preservar. A continuação por prefixo usa um início conhecido da resposta, enquanto o processamento em lote diz respeito à submissão do trabalho, não a um modo adicional de raciocínio.

Contexto e limites da edição

Planeie a tarefa escrita, o material visual, a conversa e a resposta pretendida em função do contexto documentado de 256k. O exemplo de utilização publicado configura um contexto de 262 144 tokens, enquanto o exemplo de geração de 1 024 tokens não é uma capacidade máxima separada de saída. As fontes lidas não fornecem um limite rígido independente de extensão de resposta que substitua a extensão escolhida para a tarefa.

Small 4 tem a sua própria arquitetura de mistura de especialistas com 119 mil milhões de parâmetros e modos híbridos. Não deve herdar a arquitetura densa de 128 mil milhões do Medium 3.5 nem as edições Instruct e Reasoning separadas do Ministral 3. O fabricante publica também artefactos distintos quantizados e de descodificação especulativa; são artefactos separados de implementação, não modalidades de conteúdo diferentes. Preserve a versão identificada como Small 4 e o modo pedido para o resultado efetivo de explicação, registo estruturado ou código.

Ailoot Ultra · Processamento em lote POST /v1/batches mistralai/mistral-small-2603:batch

mistralai/mistral-small-2603:batch

Mistral /mistralai/mistral-small-2603:batch

Introdução

Mistral Small 4 é um modelo híbrido de texto e imagem com capacidades de instruções, raciocínio e programação. A versão de mistura de especialistas com 119 mil milhões de parâmetros ativa 6,5 mil milhões por token e suporta um contexto de 256k indicado pelo fabricante, esforço de raciocínio selecionável, JSON e chamadas de funções.

Entradas aceites
Texto
Resultados
Texto

Disponível no Ailoot · entradas e métodos

Ailoot Ultra · Processamento em lote POST /v1/batches
Entrada
text
Saída
text
Formato de saída
JSON em linha de results[].response.body
CampoTipoRequisitoValores e limitesPredefinição
CampoendpointTipostringRequisitoObrigatórioValores e limites
/v1/chat/completions
Predefinição—
CampomodelTipostringRequisitoObrigatórioValores e limites
mistralai/mistral-small-2603:batch
Predefinição—
CamporequestsTipobatch_item[]RequisitoObrigatórioValores e limites
Número mínimo de elementos: 1
Predefinição—
Camporequests[].custom_idTipostringRequisitoObrigatórioValores e limitesPredefinição—
Camporequests[].body.messagesTipomessage[]RequisitoObrigatórioValores e limitesPredefinição—
Campocompletion_windowTipostringRequisitoOpcionalValores e limites
24h
Predefinição—
CampoproviderTipoobject|nullRequisitoOpcionalValores e limitesPredefinição—
Camporequests[].body.modelTipostringRequisitoOpcionalValores e limites
mistralai/mistral-small-2603:batch, mistralai/mistral-small-2603
Predefinição—
Campoprovider.onlyTipostring[]RequisitoOpcionalValores e limites
mistral
Predefinição—
Campoprovider.allow_fallbacksTipoboolean|nullRequisitoOpcionalValores e limites
false, null
Predefinição—
Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratoendpoint, model, requests
Parâmetromaterial_typesContratotext
ParâmetrorepresentationContratorequests[] em linha; cada item tem custom_id e body
Parâmetrorequest_endpoint_profileContrato/v1/chat/completions
Parâmetrofile_materialContratoQuem faz a chamada pode ler localmente o conteúdo JSONL UTF-8 efetivo para requests[]. Não é utilizada qualquer finalidade de carregamento, input_file_id ou referência a ficheiro. Se o material do cliente estiver em falta ou vazio, a preparação é interrompida antes do POST.
Parâmetroserialization_orderContratoendpoint, model, provider (se fornecido), completion_window (se fornecido), requests em último lugar
Parâmetrooptional_controlsContratoprovider.only, provider.allow_fallbacks, completion_window
Parâmetroschema_scopeContratoCorpos de pedidos de texto de Chat Completions na estrutura de lote em linha documentada.

Ciclo de vida: asynchronous

GET /v1/batches/{operation_id} · response.id efetivo da resposta original de criação; mesmo utilizador/chave/grupo

Tarifários

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido
Não especificado Quando o modo rápido está selecionado
Modo flex
Não especificado Quando o modo flex está selecionado
Esforço máximo de raciocínio
Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Preços da cache explícita
Não ativado Quando é pedida cache explícita

Tarifas Ailoot

Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

ConfiguraçãoTabela de tarifasTokens de contexto, mais deTokens de contexto, até ao limite inclusiveCusto
ConfiguraçãoTarifas base dos tokensTabela de tarifasTarifa baseTokens de contexto, mais de—Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.00015 / 1K tokens
Saída · Tokens de saída $0.0006 / 1K tokens
Entrada · Leitura da cache $0.000015 / 1K tokens
Entrada · Escrita na cache — / 1K tokens
Entrada · Escrita na cache, 1 hora — / 1K tokens
ConfiguraçãoEscalão 1 por comprimento do pedidoTabela de tarifas—Tokens de contexto, mais de0Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.00015 / 1K tokens
Saída · Tokens de saída $0.0006 / 1K tokens
Entrada · Leitura da cache $0.000015 / 1K tokens
Entrada · Escrita na cache — / 1K tokens
Entrada · Escrita na cache, 1 hora — / 1K tokens

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →

Exemplos de pedidos

Ailoot Ultra · Processamento em lote

curl · dados de teste preservadosPython HTTP · JSONL real do clientePython · guarde cada resultado concluído
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/mistral-small-2603:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['mistralai/mistral-small-2603:batch', 'mistralai/mistral-small-2603']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"mistralai/mistral-small-2603:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.

Receber e guardar os resultados

Ailoot Ultra · Processamento em lote

JSON em linha de results[].response.body

  • GET /v1/batches/{operation_id}
Verificar o estado da tarefa
curl · estado da operação original
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve o JSON completo do estado original, todos os resultados/custom_id e o corpo completo da resposta ou do erro. Guarde os results[] concluídos em formato JSONL, sem filtrar.

Se for necessário verificar a resposta original

Preserve o ID original da operação. A resposta 503 result_pending_check inclui X-Should-Retry:false; nunca volte a enviar um lote original de estado desconhecido.

Campos da resposta
CampoTipo
Camporesults[].custom_idTipostring
Camporesults[].response.body.choices[].message.contentTipostring|null
Camporesults[].errorTipoobject|null
CampousageTipoobject|null
CampoidTipostring
CampomodelTipostring
CampoendpointTipostring
CampostatusTipostring
Camporequest_countsTipoobject
Camporesults[].idTipostring
Camporesults[].response.status_codeTipointeger
Camporesults[].response.request_idTipostring
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoEstrutura em linha documentada inválida, chaves duplicadas, identidade do item inválida ou conflito com as capacidades configuradas do modelo.Passo seguinteCorrija os campos indicados antes de qualquer novo envio.
Resposta401 · authentication_errorCondiçãoChave de API inválida.Passo seguinteUse a chave Ailoot autorizada.
Resposta403 · permission_errorCondiçãoGrupo de processamento em lote indisponível.Passo seguinteVerifique os direitos de acesso da chave/do grupo.
Resposta422 · invalid_request_errorCondiçãoO processamento em lote usa faturação por débito do saldo; a criação com subscrição é rejeitada.Passo seguinteUse o grupo autorizado com faturação por débito do saldo.
Resposta422 · price_unavailableCondiçãoNão é possível calcular uma estimativa de preço para os dados de entrada do lote.Passo seguinteConserve a resposta; use os dados de entrada documentados para a família.
Resposta402 · billing_errorCondiçãoReserva para processamento em lote indisponível.Passo seguinteResolva a questão da admissão antes de um novo pedido.
Resposta503 · price_unavailableCondiçãoPreço do método de processamento em lote/tarifas nativas indisponíveis.Passo seguinteConserve a resposta; não substitua os preços.
Resposta503 · api_errorCondiçãoA rota exata do fornecedor está indisponível.Passo seguinteConserve a resposta para corrigir a rota.
Resposta503 · result_pending_checkCondiçãoO resultado original requer verificação; X-Should-Retry:false.Passo seguinteGuarde o operation_id/id original e consulte o respetivo estado; nunca repita o POST original.
Resposta404 · not_foundCondiçãoA operação de consulta do estado do lote não existe ou pertence a outra identidade.Passo seguinteUse o id original exato e o mesmo utilizador/chave/grupo.

Aliases

Aliases do modelo

Ailoot Ultra mistralai/mistral-small-2603:batch

Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

IDs de chamada relacionados

mistralai/mistral-small-2603:batch

FAQ · Mistral: Mistral Small 4 (batch)
Que entradas e resultados estão disponíveis?

POST /v1/batches · mistralai/mistral-small-2603:batch: text → text

Que campos utiliza o pedido?

POST /v1/batches · mistralai/mistral-small-2603:batch: endpoint, model, requests, completion_window, provider

Que limites se aplicam?

POST /v1/batches · mistralai/mistral-small-2603:batch: requests.min_items: 1

Mais detalhes

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição
Escolha um plano com desconto para os pedidos regulares.
Código promocional até 50%
Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.
Custos no histórico
O modelo, os tokens e o montante são guardados para cada pedido.

Escolher subscrição · Ver preços dos modelos

Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial
Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.
Licença de revendedor
Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.
Documentos no site
A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

Pedir licença de revendedor · Oferta e contrato de licença