Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Ollama

Configurar Ollama como un endpoint personalizado en LibreChat.

Ollama ejecuta modelos abiertos localmente y expone una API compatible con OpenAI, por lo que puedes apuntar LibreChat a tu propia máquina. Descarga modelos con ollama run <model> y explora lo que está disponible en la Ollama Library.

Configuración

Ollama ignora la API key pero aún espera que el campo esté presente, así que establécelo como cualquier marcador de posición. Apunta baseURL a tu servidor Ollama. Agrega el endpoint bajo endpoints.custom en tu librechat.yaml:

    - name: "Ollama"
      apiKey: "ollama"
      # use 'host.docker.internal' instead of localhost if running LibreChat in a docker container
      baseURL: "http://localhost:11434/v1/" 
      models:
        default: [
          "llama2",
          "mistral",
          "codellama",
          "dolphin-mixtral",
          "mistral-openorca"
          ]
        # fetching list of models is supported but the `name` field must start
        # with `ollama` (case-insensitive), as it does in this example.
        fetch: true
      titleConvo: true
      titleModel: "current_model"
      summarize: false
      summaryModel: "current_model"
      modelDisplayLabel: "Ollama"

Notas

  • Establezca titleModel en "current_model" para que la generación de títulos reutilice el modelo de la conversación en lugar de cargar uno segundo. Esto mantiene a Ollama en un único modelo cargado por conversación.
  • La matriz default anterior es una lista de muestra de modelos populares. Con fetch: true, LibreChat extrae la lista completa desde su servidor.

Ollama -> llama3

Una vez que se eliminó stop de los parámetros predeterminados, el problema a continuación ya no debería ocurrir.

Si llama3 sigue generando sin detenerse, añade un bloque addParams con las secuencias de parada:

    - name: "Ollama"
      apiKey: "ollama"
      baseURL: "http://host.docker.internal:11434/v1/"
      models:
        default: [
          "llama3"
        ]
        fetch: false # fetching list of models is not supported
      titleConvo: true
      titleModel: "current_model"
      summarize: false
      summaryModel: "current_model"
      modelDisplayLabel: "Ollama"
      addParams:
          "stop": [
              "<|start_header_id|>",
              "<|end_header_id|>",
              "<|eot_id|>",
              "<|reserved_special_token"
          ]

Si solo ejecutas llama3 con Ollama, configurar stop a nivel de configuración mediante addParams está bien. Cuando ejecutes varios modelos, añade las secuencias de parada desde la interfaz a través de los parámetros de conversación y los ajustes preestablecidos (presets) en su lugar, y omite addParams:

    - name: "Ollama"
      apiKey: "ollama"
      baseURL: "http://host.docker.internal:11434/v1/" 
      models:
        default: [
          "llama3:latest",
          "mistral"
          ]
        fetch: false # fetching list of models is not supported
      titleConvo: true
      titleModel: "current_model"
      modelDisplayLabel: "Ollama"

Establezca las secuencias de parada en los parámetros de conversación (y guárdelas como un ajuste preestablecido):

image

¿Qué te parece esta guía?