Skip to content

Ollama ofrece compatibilidad con partes de la API de OpenAI para ayudar a conectar aplicaciones existentes con Ollama.

Uso ​

Ejemplo simple de /v1/chat/completions ​

Ejemplo simple de /v1/responses ​

Ejemplo de /v1/chat/completions con visión ​

Puntos de conexión ​

/v1/chat/completions ​

Características compatibles ​

  • [x] Finalizaciones de chat
  • [x] Streaming
  • [x] Modo JSON
  • [x] Resultados reproducibles
  • [x] Visión
  • [x] Herramientas
  • [x] Control de razonamiento/pensamiento (para modelos de pensamiento)
  • [ ] Logprobs

Campos de solicitud compatibles ​

  • [x] model
  • [x] messages
    • [x] content de texto
    • [x] content de imagen
      • [x] Imagen codificada en Base64
      • [ ] URL de imagen
    • [x] Array de partes de content
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] response_format
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] tools
  • [x] reasoning_effort ("high", "medium", "low", "max", "none")
  • [x] reasoning
    • [x] effort ("high", "medium", "low", "max", "none")
  • [ ] tool_choice
  • [ ] logit_bias
  • [ ] user
  • [ ] n

/v1/completions ​

Características compatibles ​

  • [x] Finalizaciones
  • [x] Streaming
  • [x] Modo JSON
  • [x] Resultados reproducibles
  • [ ] Logprobs

Campos de solicitud compatibles ​

  • [x] model
  • [x] prompt
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] suffix
  • [ ] best_of
  • [ ] echo
  • [ ] logit_bias
  • [ ] user
  • [ ] n

Notas ​

  • prompt actualmente solo acepta una cadena de texto

/v1/models ​

Notas ​

  • created corresponde a la última modificación del modelo
  • owned_by corresponde al nombre de usuario de ollama, con el valor predeterminado "library"

/v1/models/{model} ​

Notas ​

  • created corresponde a la última modificación del modelo
  • owned_by corresponde al nombre de usuario de ollama, con el valor predeterminado "library"

/v1/embeddings ​

Campos de solicitud compatibles ​

  • [x] model
  • [x] input
    • [x] cadena de texto
    • [x] array de cadenas de texto
    • [ ] array de tokens
    • [ ] array de arrays de tokens
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (experimental) ​

Nota: Este punto de conexión es experimental y puede cambiar o eliminarse en versiones futuras.

Genera imágenes utilizando modelos de generación de imágenes.

Campos de solicitud compatibles ​

  • [x] model
  • [x] prompt
  • [x] size (ej.: "1024x1024")
  • [x] response_format (solo se admite b64_json)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses ​

Nota: Añadido en Ollama v0.13.3

Ollama es compatible con la API de Responses de OpenAI. Solo se admite la variante sin estado (es decir, no hay compatibilidad con previous_response_id ni conversation).

Características compatibles ​

  • [x] Streaming
  • [x] Herramientas (llamada a funciones)
  • [x] Resúmenes de razonamiento (para modelos de pensamiento)
  • [ ] Solicitudes con estado

Campos de solicitud compatibles ​

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id (no se admiten las respuestas con estado en v1/responses)
  • [ ] conversation (no se admiten las respuestas con estado en v1/responses)
  • [ ] truncation

Modelos ​

Antes de usar un modelo, descárgalo localmente (ollama pull):

shell
ollama pull llama3.2

Nombres de modelo predeterminados ​

Para herramientas que dependen de nombres de modelo predeterminados de OpenAI como gpt-3.5-turbo, usa ollama cp para copiar un nombre de modelo existente a un nombre temporal:

shell
ollama cp llama3.2 gpt-3.5-turbo

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

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "gpt-3.5-turbo",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

Configuración del tamaño de contexto ​

La API de OpenAI no tiene forma de establecer el tamaño de contexto de un modelo. Si necesitas cambiar el tamaño de contexto, crea un archivo Modelfile con el siguiente aspecto:

FROM <some model>
PARAMETER num_ctx <context size>

Usa el comando ollama create mymodel para crear un nuevo modelo con el tamaño de contexto actualizado. Llama a la API con el nombre del modelo actualizado:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "mymodel",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'