Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.mka1.com/llms.txt

Use this file to discover all available pages before exploring further.

Este benchmark mede quão rapidamente o streaming começa na API pública de Respostas MKA1. Ele utiliza POST /api/v1/llm/responses em https://apigw.mka1.com/api/v1/llm/responses com stream: true e modelo meetkai:functionary-pt. O objetivo é simples: medir o tempo desde o envio da requisição até o primeiro token de texto transmitido chegar ao cliente.

Resumo dos resultados

Execução do benchmark: 2026-03-31
MétricaValor
Modelomeetkai:functionary-pt
EndpointPOST /api/v1/llm/responses
Requisições de aquecimento5
Requisições medidas100
Requisições com falha0
TTFT p50311.13 ms
TTFT p95608.49 ms
TTFT p99681.29 ms
TTFT máx695.86 ms
Primeiro evento SSE p9570.69 ms
Cabeçalhos de resposta p9570.42 ms
Nesta execução, a API pública de Respostas permaneceu abaixo de 1 segundo no percentil 95 para o tempo até o primeiro token de texto transmitido.

O que TTFT significa neste benchmark

Para este benchmark, TTFT significa:
  • o cliente inicia um cronômetro imediatamente antes do envio da requisição HTTP
  • o cliente abre o stream SSE
  • o cronômetro para quando o primeiro delta de texto transmitido não vazio é recebido
Este modelo normalmente emite texto de raciocínio antes do texto da resposta final. Por isso, o benchmark conta o primeiro delta de texto não vazio de:
  • response.reasoning_text.delta
  • response.output_text.delta
Essa definição mede o início do texto transmitido de forma contínua conforme visto pelo cliente. O benchmark também relata dois marcos anteriores:
  • cabeçalhos de resposta: quando a resposta HTTP inicial é retornada
  • primeiro evento SSE: quando o primeiro frame SSE chega, independentemente do conteúdo

Configuração do benchmark

A execução ao vivo utilizou o seguinte perfil de requisição:
  • URL base: https://apigw.mka1.com
  • endpoint: POST /api/v1/llm/responses
  • autenticação: Authorization: Bearer <mka1-api-key>
  • cabeçalho de usuário final: X-On-Behalf-Of: ttft-benchmark-user
  • modelo: meetkai:functionary-pt
  • prompt: Reply with exactly the text OK and nothing else.
  • stream: true
  • temperature: 0
  • max_output_tokens: 64
  • aquecimentos: 5
  • requisições medidas: 100
  • concorrência: 1
  • timeout da requisição: 45s
Estes números são medições observadas pelo cliente contra o endpoint público da API. Portanto, incluem o tempo de ida e volta de rede entre o cliente do benchmark e apigw.mka1.com, não apenas o tempo de processamento no servidor.

Formato da requisição

curl https://apigw.mka1.com/api/v1/llm/responses \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Accept: text/event-stream' \
  --header 'Authorization: Bearer <mka1-api-key>' \
  --header 'X-On-Behalf-Of: <end-user-id>' \
  --data '{
    "model": "meetkai:functionary-pt",
    "input": "Reply with exactly the text OK and nothing else.",
    "stream": true,
    "temperature": 0,
    "max_output_tokens": 64
  }'
O próprio benchmark utiliza um parser SSE em vez do tempo de saída do curl, para poder detectar o momento exato da chegada do primeiro token de texto transmitido.

Interpretação

Esta execução mostra três camadas úteis de latência:
  • a conexão e o gateway retornaram os cabeçalhos rapidamente, com p95 em 70.42 ms
  • o primeiro frame SSE chegou em p95 70.69 ms
  • o primeiro token de texto transmitido chegou em p95 608.49 ms
Isso significa que o stream começa quase imediatamente no nível de transporte, e o texto transmitido significativo chega ao cliente bem abaixo de 1 segundo em p95 para este modelo e perfil de requisição.

Saída completa do teste

{
  "benchmark": "responses_stream_ttft",
  "generatedAt": "2026-03-31T23:34:32.387Z",
  "config": {
    "baseUrl": "https://apigw.mka1.com/api/v1/llm",
    "model": "meetkai:functionary-pt",
    "apiKey": "OMITTED",
    "onBehalfOf": "ttft-benchmark-user",
    "prompt": "Reply with exactly the text OK and nothing else.",
    "samples": 100,
    "warmupSamples": 5,
    "concurrency": 1,
    "timeoutMs": 45000,
    "thresholdMs": 1000,
    "maxOutputTokens": 64,
    "outputJson": "stream-ttft-report.json"
  },
  "verdict": {
    "passed": true,
    "thresholdMs": 1000,
    "measuredP95Ms": 608.4879000000001
  },
  "samples": {
    "warmup": 5,
    "measured": 100,
    "success": 100,
    "failed": 0
  },
  "stats": {
    "headersMs": {
      "count": 100,
      "min": 63.00436899999477,
      "avg": 67.39161819000238,
      "p50": 67.0498840000073,
      "p95": 70.41907800000627,
      "p99": 72.71200100000715,
      "max": 107.99611500000174
    },
    "firstEventMs": {
      "count": 100,
      "min": 63.306459000014,
      "avg": 67.66752371000103,
      "p50": 67.35425400000531,
      "p95": 70.69219799997518,
      "p99": 73.02295199999935,
      "max": 108.39853500000027
    },
    "firstTokenMs": {
      "count": 100,
      "min": 293.89441600002465,
      "avg": 389.9065817800009,
      "p50": 311.1333589999995,
      "p95": 608.4879000000001,
      "p99": 681.2876299999916,
      "max": 695.8577790000054
    },
    "totalDurationMs": {
      "count": 100,
      "min": 3047.5074070000264,
      "avg": 3146.770197100002,
      "p50": 3097.0465299999996,
      "p95": 3374.5328960000006,
      "p99": 3435.1036190000013,
      "max": 3453.2585250000047
    }
  },
  "measurements": [
    {
      "sampleIndex": 1,
      "ok": true,
      "httpStatus": 200,
      "responseId": "resp_c38d48bebeb74c54b740e627a541cad6",
      "headersMs": 66.99634399999923,
      "firstEventMs": 67.28057400000034,
      "firstTokenMs": 423.95566899999903,
      "totalDurationMs": 3195.7519509999984,
      "eventCount": 137,
      "textDeltaCount": 62,
      "outputTextDeltaCount": 0,
      "reasoningTextDeltaCount": 62,
      "text": "Okay o usuário pediu para responder exatamente com \"OK\" e nada mais. Vou verificar se entendi corretamente. Ele quer que eu ignore qualquer outra coisa e só envie \"OK\". Não há necessidade de usar nenhuma ferramenta aqui, já que a resposta é"
    },
    ...
    {
      "sampleIndex": 100,
      "ok": true,
      "httpStatus": 200,
      "responseId": "resp_29a71db294b84976be29ea1f303ab18f",
      "headersMs": 67.71740399999544,
      "firstEventMs": 68.06585499999346,
      "firstTokenMs": 301.51615600002697,
      "totalDurationMs": 3056.013098000025,
      "eventCount": 137,
      "textDeltaCount": 62,
      "outputTextDeltaCount": 0,
      "reasoningTextDeltaCount": 62,
      "text": "Okay o usuário pediu para responder exatamente com \"OK\" e nada mais. Vou verificar se entendi corretamente. Ele quer que eu ignore qualquer outra coisa e só envie \"OK\". Não há necessidade de usar nenhuma ferramenta aqui, já que a resposta é"
    }
  ]
}