O QUE VOCÊ DEVE TER EM MÃOS
- Um link de convite do cluster enviado a você pelo administrador do seu cluster. Ele torna você o proprietário de uma organização totalmente nova.
- Este guia tudo o que você precisa para ir desse link a uma integração funcional.
Bem-vindo ao MKA1
MKA1 é uma plataforma para criar aplicações de IA. Ela dá à sua equipe um único gateway para grandes modelos de linguagem, além dos blocos de construção de alto nível de que produtos reais precisam: agentes, conversas armazenadas, memória de longo prazo, recuperação de documentos (RAG), ferramentas e servidores MCP, prompts, habilidades, guardrails, fala e avaliações. Você trabalha com o MKA1 por meio de duas superfícies que compartilham as mesmas contas, equipes e recursos:- O Console - um painel web para criar e inspecionar tudo manualmente: executar prompts no Playground, salvar agentes, indexar arquivos, gerar chaves de API, gerenciar sua organização e equipes. O console fica no endereço do seu cluster (por exemplo platform.mka1.com).
- A API e os SDKs - as mesmas capacidades via HTTPS, chamadas do seu próprio código pelo SDK TypeScript, Python ou C#, pela CLI
mka1ou por curl puro. É assim que sua aplicação conversa com o MKA1 em produção.
Antes de começar
Você só precisa de duas coisas para começar, e já tem ambas:- Um link de convite do cluster. Seu administrador criou um convite no cluster e enviou o link para você. Abri-lo torna você o proprietário de uma nova organização dentro daquele cluster.
- Este guia. Ele leva você do convite a uma integração funcional com o SDK.
Configuração em 15 minutos
- Passo 1 Aceite seu convite do cluster e crie sua organização.
- Passo 2 Oriente-se no console.
- Passo 3 Convide colegas e crie uma equipe (as chaves de API vivem nas equipes).
- Passo 4 Crie uma chave de API.
- Passo 5 Instale um SDK.
- Passo 6 Autentique suas requisições.
- Passo 7 Faça sua primeira requisição.
Passo 1 · Aceite seu convite do cluster
Abra o link de convite do cluster que seu administrador enviou. Ele carrega um token de uso único e leva você à página Set up your organization. Um convite de cluster é um convite de proprietário - aceitá-lo cria uma nova organização e define você como o proprietário.Faça isto
- Abra o link de convite. A página valida o token e mostra um selo de Owner invite (e uma data de expiração, se houver). Se disser que o convite está indisponível, o token de convite expirou ou foi revogado. Peça um link novo ao seu administrador.
- Nomeie sua organização. Digite um nome como Acme Inc. Um slug de URL do workspace é gerado para você (p. ex. acme-inc); expanda Customize se quiser editá-lo. Apenas letras minúsculas, números e hífens.
- Escolha como entrar. Crie uma conta com e-mail e senha, ou continue com o Google. Se o convite estava vinculado ao seu endereço de e-mail, esse endereço aparece pré-preenchido e travado.
- Verifique seu e-mail. Se você se cadastrou com senha, o MKA1 envia um e-mail de verificação. Clique no link para confirmar; você então cai direto na sua nova organização.
- Você está dentro. Você chega ao console como proprietário da sua organização, pronto para convidar colegas e criar chaves.
Agora você é o proprietário da organizaçãoO proprietário tem controle total. Uso, membros, equipes e configurações. Todos os demais que você trouxer serão administradores ou membros (coberto no Passo 3). Se você já estava conectado ao MKA1 com um e-mail diferente do convite, saia primeiro: os convites são vinculados a um endereço específico.
Passo 2 · Conheça o console
Reserve um minuto para se orientar. A barra lateral esquerda agrupa cada superfície em Access, LLM, Agents e Admin. Veja para que serve cada seção. Você usará várias delas nos próximos passos.
Access
| Seção | O que você faz lá |
|---|---|
| API Keys | Crie e gerencie as chaves de autenticação que seu código usa (Passo 4). |
| Organizations | Gerencie membros, papéis, equipes e convites pendentes. |
| Teams | Crie equipes e gerencie seus membros. Cada chave de API é limitada a uma equipe. |
| Service Accounts | Crie identidades não humanas para produção e vincule-as a equipes. |
LLM
| Seção | O que você faz lá |
|---|---|
| Playground | Converse com modelos interativamente. Transmita respostas em tempo real. Configure ferramentas, habilidades e guardrails, com um painel de configurações avançadas. |
| Models | Explore os modelos disponíveis pelo gateway, agrupados por modalidade, com detalhes de registro para administradores. |
| Responses | Crie respostas individuais e inspecione histórico armazenado, saída, chamadas de ferramentas e uso de tokens. |
| Evals | Monte suítes de avaliação e lance execuções duráveis para medir e comparar a qualidade dos modelos. |
| Conversations | Crie e inspecione o estado de conversas armazenadas, pesquisável por metadados. |
| Text to speech | Sintetize fala a partir de texto e inspecione o histórico de geração. |
| Speech to text | Transcreva áudio para texto e inspecione o histórico de transcrições. |
| Prompts | Crie, versione e reverta modelos de prompt reutilizáveis com {{variables}}. |
| Guardrails | Configure políticas de palavras banidas, injeção de prompt e vazamento, e depois teste-as. |
| Files | Envie, inspecione e exclua arquivos usados por fluxos de trabalho LLM. |
| Vector Stores | Crie lojas, anexe arquivos e pesquise trechos de documentos indexados para recuperação (RAG). |
| Feedback | Registre e atualize feedback humano sobre a saída do modelo; consulte registros ou exporte um snapshot em parquet. |
| Skills | Envie, versione e gerencie habilidades reutilizáveis, cada uma empacotada atrás de um manifesto SKILL.md. |
| MCP Servers | Registre definições de servidores MCP que agentes salvos podem anexar como ferramentas; os segredos ficam em Credentials. |
| Credentials | Armazene os segredos de que seus servidores MCP e integrações precisam, separados de suas definições. |
Agents
| Seção | O que você faz lá |
|---|---|
| Quickstart | Coloque um agente salvo no ar rapidamente - escolha um modelo, escreva instruções, anexe ferramentas e execute-o. |
| Agents | Crie e execute agentes salvos que agrupam um modelo, instruções, ferramentas e metadados. |
| Sessions | Rastreie e depure execuções de agentes. Reproduza a transcrição e percorra os eventos brutos. |
| Memory Stores | Explore as memórias em markdown que os agentes leem e escrevem entre execuções. |
Admin
| Seção | O que você faz lá |
|---|---|
| Audit | Revise requisições de auditoria do gateway, monte casos e exporte respostas (administradores do cluster veem todas as organizações; administradores de organização veem a atividade da sua org). |
| Alerts | Registre endpoints de webhook que disparam quando respostas falham, com escopo de cluster, organização ou equipe. |
| Model Registry | Adicione e configure os modelos personalizados disponíveis no registro da sua organização. |
| Pricing | Mantenha o livro de preços de modelos: moeda do cluster, preços por modelo e substituições por organização (apenas administradores do cluster). |
| Budgets | Crie orçamentos de gasto da org com limiares de alerta/bloqueio e status de gasto ao vivo (orçamentos de chaves de API são geridos pelo administrador do cluster). |
| Usage | Revise o uso de tokens, requisições e armazenamento da org e equipe ativas. |
| Fine-tuning | Lance e monitore execuções de fine-tuning e checkpoints (em breve). |
| Serving | Implante modelos no cluster: implantações com escalonamento e reversão, registros de modelos, imagens, trabalhos de fine-tuning, aceleradores e segredos (administradores). |
Passo 3 · Convide sua equipe e organize o acesso

A organização e seu proprietário
Quando você aceita o convite do cluster, torna-se o proprietário da sua organização. O proprietário tem controle total: métricas de uso, membros, equipes e configurações. Todos os demais que você trouxer são administradores ou membros:| Papel | O que podem fazer |
|---|---|
| Proprietário | Controle total da organização - uso, membros e configurações. |
| Administrador | Gerencia membros, equipes e chaves de API em toda a organização. |
| Membro | Acessa os modelos, arquivos e chaves de API da sua equipe. |
Equipes
Dentro de uma organização você cria equipes, e os membros pertencem a uma ou mais delas. As equipes são onde o trabalho e o acesso realmente vivem: chaves de API, agentes e outros recursos são limitados a uma única equipe. Uma chave gerada em uma equipe concede acesso apenas aos recursos daquela equipe. Remover alguém (ou uma conta de serviço) de uma equipe revoga o acesso que vinha com ela, e as chaves ligadas àquela equipe param de funcionar. Isso torna as equipes a fronteira natural para separar projetos, ambientes ou unidades de negócio. Gerencie-as em Access → Teams, onde você pode criar uma equipe e gerenciar sua lista simples de membros.Convidando colegas

- Ainda sem conta (Este é o cenário mais provável) - ela se cadastra (e-mail/senha ou Google) com o e-mail convidado, verifica-o e volta ao convite para concluir a entrada.
- Já conectada com o e-mail convidado - um clique em Accept & join a adiciona à organização.
- Conectada com um e-mail diferente - ela é orientada a trocar primeiro para a conta convidada, já que os convites são vinculados a um endereço específico.
Contas de serviço para produção
Para sistemas de produção, executores de CI, serviços de backend e trabalhos agendados, use uma conta de serviço em vez das credenciais de uma pessoa. Uma conta de serviço é uma identidade de máquina não humana que você vincula a uma ou mais equipes e para a qual gera chaves de API. Você pode criar uma navegando até Access → Service accounts e clicando em New service account no canto superior direito. Como as chaves herdam o escopo da equipe, desvincular uma conta de serviço de uma equipe (ou excluí-la) interrompe imediatamente todas as chaves geradas para ela naquela equipe, dando a você um interruptor de desligamento limpo para credenciais de produção.Passo 4 · Crie uma chave de API

1 · Identidade
Nomeie a chave (p. ex. Production gateway) e escolha o principal como o qual ela age: My user (usa seu papel na org e a equipe selecionada) ou uma Service account (uma identidade não humana dedicada. Contas de serviço são recomendadas para casos de uso em produção).2 · Vinculação de escopo
Escolha a organização e a equipe às quais a chave pertence. Uma chave só pode ver recursos dentro daquela única equipe naquela única org — então escolha a equipe cujos modelos, arquivos e agentes esta chave deve alcançar. (Se você ainda não tem equipe, crie uma primeiro em Access → Teams; as chaves precisam ser limitadas a uma equipe.)3 · Permissões (scopes)
Escolha quais recursos a chave pode ler e escrever. Os scopes são verificados em cada requisição. Use um preset para avançar rápido e depois ajuste:- Standard - os scopes cotidianos de leitura/escrita para criar apps (respostas, conversas, arquivos, lojas vetoriais, prompts, agentes e mais).
- Read-only - todos os scopes
read:e nada mais. - All - todos os scopes, incluindo os exclusivos de administrador. Disponível apenas para proprietários e administradores da org.
4 · Limite de taxa (opcional)
Opcionalmente limite a chave a um número máximo de requisições por minuto, hora ou dia. O gateway aplica o limite e retorna429 Too Many Requests antes de a requisição chegar a um modelo, então chamadas acima do limite não custam nada.
Passo 5 · Instale um SDK
O MKA1 oferece SDKs para TypeScript, Python e C#, além de uma CLImka1 independente. Cada cliente se autentica com sua chave de API como token Bearer e aponta para o gateway da API. O gateway hospedado padrão é https://apigw.mka1.com.
Clusters privadosEm uma implantação privada, substitua
https://apigw.mka1.com pelo host do gateway do seu próprio cluster em tudo abaixo. Passe-o como a opção serverURL / server_url / serverUrl do SDK, ou configure-o uma vez para a CLI. Seu administrador pode informar a URL do gateway (é a contraparte de API do endereço do seu console).TypeScript - @meetkai/mka1
O SDK TypeScript é instalado a partir do registro de pacotes npm:Python - meetkai-mka1
Requer Python 3.10 ou mais recente:C# - MeetKai.MKA1
CLI - mka1
Binários pré-compilados são servidos em downloads.mka1.com. No macOS (Apple silicon):Passo 6 · Autentique suas requisições
Cada requisição carrega sua chave de API como token bearer no cabeçalhoAuthorization. Para apps multiusuário do lado do servidor você também envia X-On-Behalf-Of para identificar para qual dos seus usuários finais a requisição é.
Quando enviar X-On-Behalf-Of
DefinaX-On-Behalf-Of com um identificador estável do seu próprio sistema (p. ex. user_123) sempre que seu servidor estiver agindo por um usuário final específico. Isso mantém as requisições, arquivos, memória e uso desse usuário corretamente atribuídos. Use um ID que não muda. Nunca use um e-mail ou nome de exibição.
- Somente Authorization - seu próprio fluxo de trabalho de backend, não vinculado a nenhum usuário final.
- Authorization + X-On-Behalf-Of - seu servidor agindo por um dos seus usuários finais; o uso e os recursos ficam associados a ele.
Emita tokens de curta duração (opcional)
Quando um serviço downstream ou um cliente de navegador precisa chamar o MKA1 sem possuir sua chave de API, troque a chave por um JWT de curta duração viaPOST /api/v1/authentication/api-keys/exchange-token, e então use esse JWT como token bearer. Veja o guia de autenticação e o aprofundamento.
Passo 7 · Faça sua primeira requisição
Com uma chave em mãos, gere sua primeira resposta. Usarmodel: 'auto' deixa o gateway escolher o modelo certo para a requisição.

Construa com a plataforma
Tudo abaixo pode ser chamado com a chave de API que você acabou de criar. Cada seção se baseia nos guias oficiais em docs.mka1.com. Siga os links incorporados para a referência completa.Gerar respostas (a chamada principal)

input para um prompt de turno único; o resultado inclui o texto gerado em output_text. Use auto_routing: true para deixar o gateway escolher o modelo certo por você.
Chamada básica
X-On-Behalf-Of quando estiver agindo por um usuário final; omita-o caso contrário.
O que auto_routing faz
auto_routing é um sinalizador de requisição opcional, separado do alias de modelo auto. Quando você define auto_routing: true, o gateway pontua a complexidade da requisição e a roteia para o melhor irmão quantizado, MoE ou denso dentro da família de modelos que você solicitou. Ele nunca troca para um modelo não relacionado, e recorre ao modelo que você pediu se aquela família não tiver um irmão compatível.
A pontuação é aditiva. Ela sobe com o comprimento do prompt, muitas ferramentas ou ferramentas de alta agência (p. ex. code_interpreter, mcp), tool_choice: 'required', saída estruturada, um max_output_tokens grande, contexto de múltiplos turnos e sinais de raciocínio complexo no texto (debug, refactor, plan, incident, code); ela desce com prompts curtos e tarefas simples reconhecidas (traduzir, resumir, classificar, extrair). O total escolhe o nível. Pontuações mais altas roteiam para dense, médias para moe, baixas para quantized. Um reasoning.effort correspondente é definido (de minimal até xhigh) a menos que você mesmo tenha definido o esforço. Assim, um curto “resuma isto” é roteado para quantized com esforço minimal, enquanto um longo relato de incidente é roteado para dense com esforço high (ou xhigh).
Sempre que o roteamento é executado, os metadados da resposta registram routed_model - a variante realmente usada. Adicione auto_routing_debug: true para obter também um campo de metadados auto_routing_debug: uma string JSON compacta com o modelo solicitado e o roteado, o nível escolhido, o esforço de raciocínio, a pontuação e as razões por trás da decisão. Ele é registrado mesmo quando nenhuma variante irmã está disponível, então é útil para validar o comportamento do rollout. Deixe este campo desligado para o tráfego normal de produção.
Transmita texto conforme ele é gerado
Definastream: true para receber eventos enviados pelo servidor em vez de esperar a resposta completa. Use isso para renderizar a saída parcial conforme ela chega.
Entrada multimodal (imagem + texto)
A API de Responses aceita texto, imagens, áudio e arquivos em uma única requisição. Use um arrayinput estruturado de itens de mensagem, onde content é um array que mistura input_text e input_image (imagem via URL, URI de dados base64 ou um file_id enviado).
Respostas em segundo plano
Para trabalho de longa duração, definabackground: true (com stream: false) para obter imediatamente uma resposta enfileirada, e depois recupere o resultado fazendo polling com mka1.llm.responses.get(...) ou por streaming. Veja o guia de respostas em segundo plano.
Webhooks em vez de polling
Em vez de fazer polling, passewebhook_url (e opcionalmente webhook_secret) ao criar uma resposta em segundo plano. O gateway envia por POST cada mudança de status ao seu endpoint — response.queued, response.in_progress, response.completed, response.failed, response.incomplete, response.cancelled — como { event, resource_id, created_at, data }, onde data é o objeto de evento completo.
Com um segredo definido, cada entrega carrega X-Webhook-Signature: sha256=<hex>, um HMAC-SHA256 do corpo JSON bruto — verifique-o antes de confiar no payload. A entrega nunca bloqueia a resposta: três tentativas com backoff exponencial e um tempo limite de 10 segundos. O endpoint precisa ser acessível publicamente — endereços privados e localhost são rejeitados. O gateway exige que webhook_secret tenha pelo menos 16 caracteres.
Conversas e memória

Conversas com estado
Uma conversa é um contêiner do lado do servidor que o gateway usa para manter o estado entre requisições de Responses, para que você nunca reenvie o histórico completo. Crie uma e depois passe seu ID em cada resposta de acompanhamento.conversation em cada requisição; o gateway mantém a thread por você. Use uma conversa quando quiser um contêiner reutilizável e inspecionável para muitos turnos e a capacidade de listar, buscar ou excluir itens depois. Use previous_response_id em vez disso quando só precisar bifurcar a partir de uma única resposta anterior.
Loja de memória de longo prazo
A ferramenta history dá ao modelo memória que persiste entre sessões. Adicione{ type: 'history' } a tools e defina store: true; cada par requisição/resposta é indexado em segundo plano e pesquisado semanticamente (embeddings vetoriais) quando o modelo decide que precisa lembrar de algo. A memória é isolada por usuário final via o cabeçalho X-On-Behalf-Of.
Arquivos, lojas vetoriais e recuperação (RAG)

1. Envie um arquivo
Envie o documento uma vez. A resposta retorna um objeto de arquivo cujoid se parece com file_1783478060914_iemq10dh5h — passe-o para as lojas vetoriais no próximo passo.
2. Crie uma loja vetorial e anexe arquivos
Crie uma loja vetorial, passando um ou mais IDs de arquivos enviados emfileIds. A loja retorna um ID como vs_1783478061269_mptf5b93t0q. Os arquivos anexados são indexados automaticamente.
createFile:
status: "in_progress" enquanto a indexação roda, então espere o processamento terminar antes de confiar nos resultados de busca.
3. Pesquise trechos relevantes na loja
Execute uma busca semântica para recuperar os trechos mais relevantes para a pergunta de um usuário. A resposta retorna correspondências classificadas comfile_id, filename, dados de pontuação e o conteúdo do trecho. Alimente esse texto na lógica da sua própria aplicação ou em uma requisição de Responses.
Bônus: extração estruturada
Quando você precisa de JSON tipado de um documento em vez de trechos de texto livre, use o recurso Extract. Para trabalho pontual, chameextract com um JSON Schema inline — passado como string JSON — e o arquivo a ler. Para trabalhos repetidos, salve o esquema uma vez com createSchema (aqui o esquema é um objeto simples) e execute-o contra muitos arquivos com extractWithSchema, referenciando o id do esquema retornado em data.id. Nomeie um modelo explicitamente em cada chamada de extração. Uma resposta bem-sucedida retorna success, um objeto data com os campos extraídos e metadata sobre a execução.
Agentes, ferramentas e MCP

tools, tool_choice, parallel_tool_calls, max_tool_calls, text, reasoning). Quando você o executa, o serviço combina sua entrada por execução com a configuração salva e a encaminha para a API de Responses através do mkllm-gateway. Cada execução persiste a entrada mais o resultado de Responses do upstream, então você também ganha histórico de execuções de graça. Os agentes recebem um id estável como agt_....
Crie um agente
Crie um agente uma vez com os SDKs MKA1 de Python, TypeScript ou C#, incluindo uma ferramenta integradaweb_search para que as execuções possam trazer informação externa atual:
tools completo (como enviado via HTTPS) configura a ferramenta integrada:
Execute um agente
Execute enviando apenas a entrada por execução. A execução persistestatus, o gateway_response armazenado e gateway_response_id da chamada upstream. Se a execução usou web_search, o gateway_response persistido inclui as entradas de chamadas de ferramentas.
sdk.agents.list_agents(...) / sdk.agent_runs.list_agent_runs(agent_id=...) para inspecionar agentes salvos e execuções anteriores.
Histórico de versões e reversão
Cada alteração confirmada em um agente salvo — criar, atualizar, reverter — acrescenta uma versão imutável, então o histórico de configuração de um agente é sempre inspecionável. Reverter não reescreve o histórico: acrescenta uma nova versão restaurada a partir da versão alvo.Anexe um servidor de ferramentas MCP
Além das ferramentas integradas, você pode deixar o modelo chamar ferramentas de um servidor MCP externo adicionando uma entradamcp a tools. Defina require_approval como "never" para executar imediatamente, ou "always" para pausar e pedir aprovação do usuário final. Limite as ferramentas invocáveis com allowed_tools; passe credenciais upstream em headers (elas são mascaradas nas respostas armazenadas).
require_approval: "always", crie a resposta em modo de segundo plano, faça polling e trate o item mcp_approval_request devolvendo um mcp_approval_response.
Prompts, habilidades e guardrails

Repositório de prompts
A API de Prompts armazena, versiona e renderiza modelos de prompt de forma centralizada. Cada alteração de modelo cria uma versão imutável, então você tem um histórico completo de mudanças e pode reverter para qualquer versão anterior a qualquer momento. Uma reversão não é destrutiva e apenas troca a versão ativa. Os modelos usam marcadores{{variable}} que são renderizados no lado do servidor quando você recupera um prompt, permitindo reutilizar um modelo em vários contextos. Os prompts são isolados por chave de API.
Habilidades
Habilidades são pacotes de capacidades reutilizáveis e versionados que você envia ao gateway. Cada habilidade empacota o comportamento de ferramentas atrás de um manifesto SKILL.md. O nome e a descrição da habilidade são lidos diretamente desse manifesto. Você pode enviar um único conjunto de arquivos ou um pacote completo, gerenciar versões (cada habilidade rastreia uma versão padrão e a mais recente) e revisar cada arquivo antes de criá-la. Gerencie as habilidades no painel em Skills, ou via a API de Skills.Guardrails, limite de taxa e auditoria de uso
Esses três recursos de governança mantêm o tráfego delegado e multiusuário controlado e responsável:- Limite de taxa - Cada chave de API pode carregar uma cota sobre uma janela configurável — por minuto, hora ou dia. Quando uma chave excede seu limite, o gateway retorna
429 Too Many Requestsantes de a requisição chegar ao modelo, então nenhum token é consumido e nenhum uso é cobrado. Trate os 429 com novas tentativas de backoff exponencial. - Auditoria de uso - Revise o uso de tokens, requisições e armazenamento por org e equipe em Admin → Usage, filtrável por usuário (membros da org). Para relatórios por usuário final, consulte a API de uso com seu filtro
external_user_ids— a identidadeX-On-Behalf-Of. Cada resposta também retorna umX-Request-IDque você pode armazenar como chave de correlação. - Guardrails - As decisões de política são registradas no mesmo fluxo de auditoria: resultados como
policy_violationouthrottlede valores depolicy_actiondewarn,blockouescalatefluem para a página de Guardrails, dando a você um caminho consistente de um relatório de uso até a ação exata que foi permitida, avisada, bloqueada ou escalada.
Fala e voz

llm.speech do SDK. Use speak para texto-para-fala e transcribe para fala-para-texto. Para conversas bidirecionais em tempo real, use o modo de voz avançado. O modo de voz avançado é coberto separadamente.
Texto para fala
speak retorna um arquivo WAV completo. O corpo da resposta é áudio binário, e os cabeçalhos da resposta incluem X-Language-Code.
speakStreaming e escolha mp3 (menor) ou pcm (sem compressão):
Fala para texto
transcribe aceita um arquivo de áudio (FLAC, MP3, MP4, M4A, OGG, WAV, WebM, PCM e mais) e retorna a transcrição junto com o idioma detectado e a confiança:
includeSpeakerData: true (requer áudio WAV ou PCM). A resposta então inclui um array speakers com segmentos rotulados e tempos offset_ms / duration_ms.
Arquivos fonte: fala, saída multimodal.
Avaliar e observar
Quando algo funciona, o MKA1 ajuda você a medi-lo e observá-lo em produção.
- Evals - Monte uma suíte de avaliação a partir de conjuntos de dados, prompts e avaliadores, e depois lance execuções duráveis contra um ou mais modelos. Acompanhe a precisão e as pontuações por amostra, e compare modelos em um placar. Use para escolher um modelo e para pegar regressões antes que sejam lançadas.
- Sessions - Cada execução de agente é registrada. Reproduza a transcrição (mensagens, raciocínio, chamadas de ferramentas) e percorra os eventos brutos para depurar exatamente o que um agente fez.
- Uso e auditoria - Revise o uso de tokens, requisições e armazenamento por org e equipe em Admin → Usage, e filtre por usuário final quando enviar
X-On-Behalf-Of. Cada resposta também retorna umX-Request-IDque você pode armazenar como chave de correlação.
Auditoria

X-Request-ID — retornado em cada resposta da API — para pular direto para a requisição exata. Marque entradas para revisão, agrupe requisições relacionadas em casos e exporte dados de resposta para análise offline.
Alertas

response.failed (uma requisição de resposta falhou no provedor do modelo) e gateway.request.failed (qualquer requisição do gateway retornou um 5xx) — ou deixe a inscrição vazia para receber todos. Filtros opcionais restringem a entrega a chaves de API, códigos de erro ou modelos específicos.
Cada endpoint tem uma página de detalhes mostrando sua configuração, seu segredo de assinatura (revele, copie ou rotacione) e as entregas recentes com payloads e status succeeded / failed / pending. De lá você pode reenviar uma entrega, disparar um alerta de teste durante a integração, e editar, desabilitar ou excluir o endpoint — editar nunca muda o segredo de assinatura.
Preços, orçamentos e uso
Cada requisição flui por um pipeline de faturamento: o uso registra os volumes, o livro de preços de modelos os converte em custos e os orçamentos aplicam limites sobre o resultado. Esta seção cobre os três.Preços

- Moeda do cluster - A moeda em que todo preço e orçamento é denominado.
- Preços de modelos - A tabela padrão do cluster, um preço por modelo. As dimensões de tarifa seguem a modalidade do modelo: tokens de entrada, saída, entrada em cache e raciocínio para LLMs; áudio e caracteres para fala; tarifas por imagem com níveis opcionais por tamanho; busca na web.
- Substituições por org - Preços por organização para quando uma org fatura diferente do padrão do cluster.
- Tarifas efetivas - Uma visão de resolução mostrando qual preço — padrão do cluster, substituição da org ou sem preço — cada modelo resolve para uma dada organização. Modelos sem preço faturam a 0.
- Admin → Usage - Gasto total precificado a partir do livro de preços, detalhado por organização, equipe, chave de API e modelo — junto com os volumes subjacentes (veja Uso abaixo).
- A API - Consulte o gasto em qualquer intervalo de tempo, agrupado por modelo, chave de API, equipe, organização ou usuário final (a identidade
X-On-Behalf-Of). Este é o alimentador para sistemas de faturamento; os Orçamentos (abaixo) aplicam limites contra o mesmo gasto.
Orçamentos

- Período e limite - Diário, semanal ou mensal, com um limite na moeda do cluster. As janelas de gasto reiniciam nos limites do calendário UTC.
- Limiares - Porcentagens únicas do limite, cada uma pareada com uma ação:
alert(notificar) oublock(rejeitar novas requisições). Um orçamento que passou de um limiar de bloqueio mostra Blocked nas colunas ao vivo Spend e Status. - Webhook de alerta (opcional) - Uma URL mais um segredo de assinatura HMAC que recebe as notificações de limiar.
read:budgets / write:budgets) no assistente de chaves do Passo 4.
Uso

- No console - Admin → Usage mostra um gráfico de tokens ao longo do tempo (24h / 7d / 30d), detalhamentos por categoria (Responses, Completions, Embeddings, Classify, Extract) com tokens de entrada/saída e contagens de requisições por modelo, linhas por usuário final, armazenamento de arquivos e vetores, e operações de sandbox — tudo exportável como CSV. A seção de gasto precifica esses volumes a partir do livro de preços de modelos (veja Preços acima).
- Pela API - Endpoints por categoria (
llm.usage.responses,completions,conversations,embeddings,extract,classify,vectorStores,files) retornam séries agrupadas no tempo. Escolha umbucket_width, filtre pormodels,user_idsouexternal_user_ids(a identidadeX-On-Behalf-Of) e agrupe pormodel,api_key_id,user_id,org_idoubackgroundpara relatórios por dimensão.
Serving
O Serving transforma os aceleradores do seu cluster — GPU, NPU ou TPU — em endpoints de inferência com autoescalonamento para os modelos que você escolher. Ele vive na sua própria seção Serving da barra lateral (administradores de organização e de cluster), e sua organização precisa ser provisionada para serving pelo operador do cluster antes do primeiro uso. Seis blocos de construção:- Deployments - Um modelo servido atrás de um endpoint de inferência em aceleradores dedicados, apoiado por vLLM ou SGLang. Mudanças de configuração geram uma nova revisão — reverta para qualquer revisão anterior a qualquer momento — enquanto mudanças de escalonamento se aplicam no lugar. A URL do endpoint é atribuída quando a implantação está pronta, e a autenticação do endpoint exige que os chamadores apresentem uma chave de API válida. Cada implantação expõe status, réplicas, revisões, logs e métricas.
- Models - Registre um modelo servível por nome e origem, opcionalmente fixando um branch, tag ou revisão de commit para implantações reproduzíveis.
- Images - Construa imagens de contêiner personalizadas (imagem OCI base, pacotes apt, comandos de build) para engines de serving e trabalhos de fine-tuning; as implantações usam por padrão a imagem padrão do engine.
- Fine-tune jobs - Treine nos aceleradores do cluster: um modelo base, um conjunto de dados, uma estratégia (LoRA por padrão, ou fine-tuning completo) e hiperparâmetros livres. Acompanhe logs e a linha do tempo de eventos, colete checkpoints e cancele a qualquer momento.
- Accelerators - Os tipos de aceleradores disponíveis para sua organização (p. ex. A100, H100) e seus limites por tipo.
- Volumes & secrets - Volumes persistentes (de tamanho fixo, ou elásticos que crescem sob demanda) e segredos como um hf-token, injetados nas implantações como variáveis de ambiente.
Juntando tudo: construa um agente de ponta a ponta
Os blocos de construção se compõem. Este é o fluxo principal de ponta a ponta: indexe conhecimento, conecte ferramentas, empacote uma habilidade, monte um agente, execute-o e rastreie o resultado.
- Indexe conhecimento. Envie seus documentos como Files e anexe-os a um Vector Store para que o agente possa fundamentar respostas no seu conteúdo (veja Arquivos, lojas vetoriais e recuperação).
- Conecte ferramentas. Registre um servidor MCP (ou use ferramentas integradas como
web_search) para que o agente possa agir e buscar dados ao vivo (veja Agentes, ferramentas e MCP). - Empacote uma habilidade. Agrupe comportamento reutilizável atrás de um SKILL.md e envie-o em Skills, depois anexe-o.
- Monte o agente. Crie um agente salvo com um modelo, instruções e esse conjunto de ferramentas. Você configura o agente uma vez, então não reconstrói a requisição a cada chamada.
- Execute-o. Execute o agente com entrada nova a partir do console ou de
POST /api/v1/agents/{id}/runs. Cada execução persiste sua entrada e a resposta do gateway. - Rastreie a execução. Abra Sessions para reproduzir a transcrição e confirmar que o agente chamou as ferramentas certas.
Referência e suporte
Mantenha isto por perto enquanto constrói:| Recurso | Onde |
|---|---|
| Referência completa da API (OpenAPI + “Try it”) | Referência da API |
| Autenticação | docs.mka1.com/docs/authentication |
| Gerar uma resposta | docs.mka1.com/docs/generate-a-response |
| Arquivos e lojas vetoriais | docs.mka1.com/docs/files-and-vector-stores |
| Gerenciar agentes | docs.mka1.com/docs/managing-agents |
| Ferramentas MCP | docs.mka1.com/docs/mcp-tools |
| CLI | docs.mka1.com/docs/cli/introduction |
| SDK Python | pypi.org/project/meetkai-mka1/ |
| SDK C# | nuget.org/packages/MeetKai.MKA1/ |
| SDK TypeScript | npmjs.com/package/@meetkai/mka1 |
Recapitulação rápida
- Aceite o convite do cluster → você é proprietário de uma nova organização.
- Crie uma equipe e convide colegas.
- Gere uma chave de API nessa equipe (copie o segredo uma vez).
- Instale um SDK e autentique-se com
Authorization: Bearer. - Chame
responses.create— depois componha conversas, memória, RAG, agentes, ferramentas e fala na sua aplicação.