Skip to content

Ollama ofrece compatibilidad con la API de mensajes de Anthropic para ayudar a conectar aplicaciones existentes a Ollama, incluidas herramientas como Claude Code.

Uso

Variables de entorno

Para usar Ollama con herramientas que esperan la API de Anthropic (como Claude Code), configura estas variables de entorno:

shell
export ANTHROPIC_AUTH_TOKEN=ollama  # requerido pero ignorado
export ANTHROPIC_BASE_URL=http://localhost:11434

Ejemplo simple de /v1/messages

Ejemplo de transmisión

Ejemplo de llamada a herramientas

Usar con Claude Code

Claude Code se puede configurar para usar Ollama como backend.

Modelos recomendados

Para casos de uso de programación, se recomiendan modelos como glm-4.7, minimax-m2.1 y qwen3-coder.

Descarga un modelo antes de usarlo:

shell
ollama pull qwen3-coder

Nota: Qwen 3 coder es un modelo de 30B parámetros que requiere al menos 24 GB de VRAM para funcionar sin problemas. Se requiere más VRAM para longitudes de contexto mayores.

shell
ollama pull glm-4.7:cloud

Configuración rápida

shell
ollama launch claude

Esto te pedirá que selecciones un modelo, configurará Claude Code automáticamente y lo iniciará. Para configurar sin iniciar:

shell
ollama launch claude --config

Configuración manual

Configura las variables de entorno y ejecuta Claude Code:

shell
ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_BASE_URL=http://localhost:11434 claude --model qwen3-coder

O bien configura las variables de entorno en el perfil de tu shell:

shell
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434

Luego ejecuta Claude Code con cualquier modelo de Ollama:

shell
claude --model qwen3-coder

Endpoints

/v1/messages

Funcionalidades compatibles

  • [x] Mensajes
  • [x] Transmisión
  • [x] Instrucciones de sistema
  • [x] Conversaciones de múltiples turnos
  • [x] Visión (imágenes)
  • [x] Herramientas (llamada a funciones)
  • [x] Resultados de herramientas
  • [x] Pensamiento/pensamiento extendido

Campos de solicitud compatibles

  • [x] model
  • [x] max_tokens
  • [x] messages
    • [x] Contenido de texto content
    • [x] Contenido de imagen content (base64)
    • [x] Array de bloques de contenido
    • [x] Bloques tool_use
    • [x] Bloques tool_result
    • [x] Bloques thinking
  • [x] system (cadena o array)
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] top_k
  • [x] stop_sequences
  • [x] tools
  • [x] thinking
  • [ ] tool_choice
  • [ ] metadata

Campos de respuesta compatibles

  • [x] id
  • [x] type
  • [x] role
  • [x] model
  • [x] content (bloques de texto, tool_use, thinking)
  • [x] stop_reason (end_turn, max_tokens, tool_use)
  • [x] usage (input_tokens, output_tokens)

Eventos de transmisión

  • [x] message_start
  • [x] content_block_start
  • [x] content_block_delta (text_delta, input_json_delta, thinking_delta)
  • [x] content_block_stop
  • [x] message_delta
  • [x] message_stop
  • [x] ping
  • [x] error

Modelos

Ollama es compatible con modelos locales y en la nube.

Modelos locales

Descarga un modelo local antes de usarlo:

shell
ollama pull qwen3-coder

Modelos locales recomendados:

  • qwen3-coder - Excelente para tareas de programación
  • gpt-oss:20b - Modelo multipropósito potente

Modelos en la nube

Los modelos en la nube están disponibles inmediatamente sin necesidad de descargarlos:

  • glm-4.7:cloud - Modelo en la nube de alto rendimiento
  • minimax-m2.1:cloud - Modelo en la nube rápido

Nombres de modelo predeterminados

Para herramientas que dependen de nombres de modelo predeterminados de Anthropic como claude-3-5-sonnet, usa ollama cp para copiar un nombre de modelo existente:

shell
ollama cp qwen3-coder claude-3-5-sonnet

Después, este nuevo nombre de modelo se puede especificar en el campo model:

shell
curl http://localhost:11434/v1/messages \
    -H "Content-Type: application/json" \
    -d '{
        "model": "claude-3-5-sonnet",
        "max_tokens": 1024,
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

Diferencias con la API de Anthropic

Diferencias de comportamiento

  • La clave de API se acepta pero no se valida
  • La cabecera anthropic-version se acepta pero no se utiliza
  • Los recuentos de tokens son aproximaciones basadas en el tokenizador del modelo subyacente

No compatible

Las siguientes funcionalidades de la API de Anthropic no son compatibles actualmente:

CaracterísticaDescripción
/v1/messages/count_tokensEndpoint de recuento de tokens
tool_choiceForzar el uso de una herramienta específica o deshabilitar herramientas
metadataMetadatos de la solicitud (user_id)
Caché de indicadoresBloques cache_control para almacenar prefijos en caché
API de lotes/v1/messages/batches para procesamiento de lotes asíncrono
CitasBloques de contenido citations
Compatibilidad con PDFBloques de contenido document con archivos PDF
Errores enviados por el servidorEventos error durante la transmisión (los errores devuelven un estado HTTP)

Compatibilidad parcial

CaracterísticaEstado
Contenido de imagenSe admiten imágenes en base64; no se admiten imágenes por URL
Pensamiento extendidoCompatibilidad básica; budget_tokens se acepta pero no se aplica