Pular para o conteúdo principal

Projetos

Um projeto é o limite de propriedade e URL para datasets, jobs, aliases hospedados e inferência. As rotas de projeto exigem autenticação e propriedade; o acesso público ou compartilhado é concedido no alias, não tornando o projeto público.

Endpoints​

GET /api/v1/projects
POST /api/v1/projects
GET /api/v1/projects/{owner_slug}/{project_slug}
PUT /api/v1/projects/{owner_slug}/{project_slug}
GET /api/v1/projects/{owner_slug}/{project_slug}/tags
POST /api/v1/projects/{owner_slug}/{project_slug}/archive
POST /api/v1/projects/{owner_slug}/{project_slug}/unarchive

Crie um projeto de texto com:

{
"name": "Suporte",
"description": "Conversas e modelos de suporte",
"type": "text",
"inference_save_percent": 0.0
}

Apesar do nome histórico, inference_save_percent é uma fração de probabilidade entre 0 e 1: 0.25 amostra aproximadamente um quarto das requisições elegíveis feitas pelo proprietário. Prompts de chamadores públicos ou com compartilhamento nunca são salvos automaticamente no dataset do dono.

Tipos de projeto​

O type de um projeto é escolhido na criação e nunca muda:

  • text: datasets de chats, modelos de geração de texto ajustados, chat e completions de texto.
  • embedding: datasets de pares de treinamento, modelos de embeddings ajustados, /embeddings, o Playground de embeddings, a Busca e o Feedback de busca. Comece pelo Início rápido de embeddings.

Os dois tipos compartilham as mesmas rotas de projetos, datasets, jobs de treinamento, modelos hospedados e cobrança; uma rota que só um tipo oferece responde ao outro com 409 project_capability_mismatch. GET /api/v1/projects/capabilities lista os tipos que você pode criar e o que cada um oferece. inference_save_percent vale só para projetos de texto: chamadas de embeddings nunca são salvas.

Listagem e resumos​

GET /api/v1/projects sempre retorna {projects,next_cursor,total_count}. Use limit (25 por padrão, máximo 100) e cursor diretamente. Os cursores pertencem à conta e ao filtro de arquivados. Projetos arquivados são omitidos, exceto com include_archived=true. Os cards incluem contagens de chats, jobs e modelos.

Leituras da conta inteira são separadas:

  • GET /api/v1/dashboard traz um resumo global de tamanho fixo.
  • GET /api/v1/models lista aliases acessíveis entre projetos, com cursor.
  • GET /api/v1/activity lista o histórico paginado de criação de jobs e aliases do proprietário.

Arquive em vez de excluir​

Arquivar é idempotente e reversível. Preserva chats, registros imutáveis de treino, aliases, artefatos e cobrança, enquanto torna o projeto somente leitura. O arquivo retorna 409 com detail.code = "project_has_nonterminal_work" se houver treino pendente, em execução ou aguardando cancelamento. Cancele e encerre esse trabalho primeiro.

Projetos arquivados não ocupam vaga ativa. Restaurar ainda pode retornar 409 se exceder a cota da conta. Inferência no projeto arquivado retorna 404 com error.code = "project_archived" e sem Retry-After.

A criação de projetos aceita somente text (padrão) ou embedding. Projetos multimodais históricos podem ser lidos, mas esse tipo não é oferecido na criação.