Skip to main content
mka1-repos é o serviço de repositórios da plataforma para pesos de modelos e conjuntos de dados. Todo repositório é um repositório git comum com Git LFS, pertencente a exatamente uma organização e identificado pelo par <org>/<name> — por exemplo, meetkai/functionary. Esse identificador é o ponto principal. Você envia artefatos ao repositório da sua máquina via git, e as cargas de trabalho do Compute resolvem o mesmo <org>/<name> por meio do endpoint de artefatos compatível com Hugging Face da plataforma para treiná-los ou servi-los. Este guia aborda ambas as partes: a API de gerenciamento para criar, listar, renomear e excluir repositórios, e as duas ferramentas de cliente — git e a CLI do Hugging Face — que movem dados para dentro e para fora.

Antes de começar

Você precisa de: Os repositórios sempre pertencem à organização do chamador. Você nunca escolhe a org no momento da criação — ela é derivada da sua chave de API — e você não pode acessar os repositórios de outra organização.

Criar um repositório

Escolha um nome e, opcionalmente, uma descrição. O nome deve começar com uma letra ou dígito e ter no máximo 100 caracteres entre letras, dígitos, pontos, sublinhados e hífens (^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$).
A resposta é 201 com o repositório:
id é um identificador opaco e estável — a chave canônica que sobrevive a renomeações. org e name são os rótulos voltados ao usuário que formam a referência do repositório e suas URLs. A criação provisiona o repositório git de suporte como parte da solicitação. Se esse provisionamento falhar, a criação retorna 502 provision_failed e nada é mantido, portanto é seguro tentar novamente. O corpo da solicitação rejeita campos desconhecidos, e um nome que já esteja em uso na sua organização retorna 409.

A referência do repositório e a URL git

Dois valores identificam um repositório em todos os demais locais da plataforma: O host git autentica com autenticação básica HTTP: o nome de usuário deve ser o slug da sua organização e a senha é uma chave de API MKA1. org:apikey é imposto — um nome de usuário que não corresponde à organização é rejeitado. Ambos os valores são aqueles que você fornece a uma carga de trabalho do Compute como variáveis de ambiente — consulte Executar um trabalho de ajuste fino e Implantar um servidor de modelos.

Listar repositórios

Retorna todos os repositórios da sua organização.

Obter um repositório

Leia um único repositório pela sua referência.
Um repositório que não existe na sua organização retorna 404 — incluindo qualquer repositório que pertença a uma organização diferente.

Renomear ou atualizar um repositório

As atualizações afetam apenas rótulos: você pode alterar name e description, e um campo omitido permanece inalterado.
O id do repositório é estável, portanto uma renomeação é uma atualização de metadados — o histórico git e os artefatos armazenados permanecem intactos. Renomear para um nome que já existe na sua organização retorna 409.
Uma renomeação altera a referência do repositório e a URL git.O antigo <org>/<name> deixa de ser resolvido imediatamente. Atualize cada remoto git, cada valor de ambiente REPO/REPO_URL nos corpos de criação do Compute e cada script de treinamento ou serviço que referenciava o nome antigo.

Excluir um repositório

A resposta é 204 sem corpo. O registro do repositório é removido imediatamente — essa exclusão é autoritativa — enquanto a desmontagem do armazenamento git de suporte é uma limpeza de melhor esforço. Uma exclusão repetida da mesma referência retorna 404.
Excluir um repositório remove o repositório, seu histórico git e todos os artefatos armazenados. Isso não pode ser desfeito — não há exclusão reversível nem janela de recuperação.

Enviar e obter com git

Clone o repositório ou adicione-o como remoto de um repositório local existente:
Rastreie binários grandes com Git LFS antes de confirmá-los. Os arquivos de pesos devem passar pelo LFS; arquivos de texto pequenos, como configurações, definições de tokenizador e conjuntos de dados JSONL, podem permanecer no git comum.
Em seguida, confirme e envie normalmente:
O Git autentica o envio com autenticação básica HTTP. O nome de usuário deve ser o slug da sua organização e a senha é uma chave de API MKA1 — org:apikey é imposto, portanto um nome de usuário que não corresponde à organização é rejeitado:
Para envios não interativos (CI, uma máquina de treinamento), exporte a chave de API como MK_API_KEY no ambiente (por exemplo, a partir de um segredo de CI) e forneça-a por meio de um auxiliar de credenciais git, em vez de incorporar a chave na URL remota, onde ela seria gravada em .git/config:
Organize o repositório da forma esperada pela sua pilha de treinamento ou serviço. Os exemplos deste guia usam dois repositórios: meetkai/functionary-train-data, um repositório de conjuntos de dados que contém transcrições JSONL, e meetkai/functionary, um repositório de pesos no layout usual do Hugging Face (config.json, arquivos do tokenizador, *.safetensors).

Enviar e obter com a CLI do Hugging Face

O mesmo repositório pode ser acessado pela API do Hugging Face Hub. Defina o endpoint e o token e desabilite o Xet para que os envios usem o caminho padrão Hub/LFS compatível com o mka1-repos:
Com elas definidas, os comandos comuns do Hugging Face operam nos seus repositórios em vez do hub público:
As mesmas variáveis funcionam no Python, pois huggingface_hub as lê pelo nome:
hf é a CLI atual; ambientes mais antigos fornecem os mesmos comandos como huggingface-cli. Diferentemente do git, este caminho não exige o slug da sua organização como nome de usuário — o token carrega a identidade.
Esta é a parte que é transferida para o Compute. Um contêiner de treinamento ou serviço define as mesmas duas variáveis, e ms-swift ou vLLM resolve <org>/<name> sem alterações de código — consulte Executar um trabalho de ajuste fino e Implantar um servidor de modelos.

Erros

Os endpoints de repositório retornam um envelope uniforme com um código estável legível por máquina e o ID de correlação da solicitação:

Referência da API

Para os esquemas completos de solicitação e resposta, abra os grupos Repositories na Referência da API.

Veja também