Skip to content

Anthropic (Claude)

TL;DR

bash
ONGRID_ANTHROPIC_API_KEY=sk-ant-...
ONGRID_ANTHROPIC_MODEL=claude-sonnet-4-6     # default
ONGRID_ANTHROPIC_BASE_URL=                   # optional; relay / regional endpoint

Provider id: anthropic. Adapter SDK: API nativa Anthropic Messages (vía el cliente Anthropic de eino bajo internal/pkg/llm/).

Env vars

VarDefaultNotas
ONGRID_ANTHROPIC_API_KEYVacío = provider descartado del catálogo
ONGRID_ANTHROPIC_MODELclaude-sonnet-4-6El modelo usado cuando no hay override por-llamada seteado
ONGRID_ANTHROPIC_BASE_URL(Anthropic API default)Override para relays / endpoints regionales
ONGRID_ANTHROPIC_MODELSclaude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5Separado por comas; el conjunto cerrado que muestra el picker de la SPA

Las cuatro se siembran en el primer boot a system_settings.llm.anthropic_* vía SetIfAbsent — los re-boots nunca sobrescriben ediciones de operador en la UI de Settings.

Catálogo default

De fábrica, el picker de modelos muestra estos tres modelos Claude:

  • claude-opus-4-7 — el modelo frontier. Úsalo para pases difíciles de causa raíz donde la precisión marginal supera al costo.
  • claude-sonnet-4-6 — el default. Costo / calidad balanceado; lo que el picker de chat preselecciona.
  • claude-haiku-4-5 — el barato. Recomendado para el extractor estructurado RCA Pass-2 y para llamadas translate — prompts cortos, respuestas cortas, sin loop de tool.

Edita la lista en la página /settings/llm de la SPA o sobreescribiendo ONGRID_ANTHROPIC_MODELS al boot.

Override de BaseURL

bash
ONGRID_ANTHROPIC_BASE_URL=https://api.anthropic-relay.example.com/v1

Úsalo para:

  • Proxies de relay corporativos (el request sigue usando tu key de Anthropic — el relay es transparente).
  • Endpoints regionales — Anthropic no publica múltiples regiones hoy, pero la perilla está aquí para paridad con otros providers.

La base URL default está cableada en cmd/ongrid/main.go:507:

go
BaseURL: firstNonEmpty(cfg.LLM.Anthropic.BaseURL, "https://api.anthropic.com/v1"),

Haciendo a Anthropic el default

bash
ONGRID_LLM_DEFAULT_PROVIDER=anthropic

O, desde la SPA: /settings/llm → radio "Default provider".

La perilla default-provider controla qué usa Chat() cuando no hay provider pineado por-llamada (el worker RCA, translate, el chat de home cuando nada está seleccionado). Ver Routing para el mecanismo dynamic-default que deja que esto tome efecto sin reinicio.

Selección por-llamada

El picker de modelo de la UI de chat escribe tanto provider como model al envelope de chat send. El router (RoutingChatModel.pick) toma la opción eino WithProvider(id):

go
resp, err := chatModel.Generate(ctx, msgs,
    model.WithModel("claude-opus-4-7"),
    llm.WithProvider("anthropic"),
)

Quirks

  • Stop reasons — Anthropic devuelve su propio vocabulario de stop-reason (end_turn, tool_use, max_tokens). El adapter de Ongrid mapea estos al FinishReason estándar de eino para que el código downstream no tenga que branchear.
  • Tool use — la API de tool-use de Anthropic usa content blocks, no la forma plana de tool_calls de OpenAI. El adapter hace la traducción transparentemente; escribes tools de la misma forma sin importar el provider.
  • System messages — Claude toma un único parámetro system (string), no un mensaje líder role:system. El adapter mergea múltiples mensajes system con separadores \n\n antes de enviar.

Ver también

  • Overview de modelos — cómo se ensambla el catálogo.
  • RoutingWithProvider, defaults dinámicos.
  • Budget — topes de tokens por-día que aplican globalmente a través de providers.