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

Ollama

Konfiguriere Ollama als benutzerdefinierten endpoint in LibreChat.

Ollama führt offene Modelle lokal aus und stellt eine OpenAI-kompatible API bereit, sodass Sie LibreChat auf Ihre eigene Maschine verweisen können. Laden Sie Modelle mit ollama run <model> herunter und durchsuchen Sie das verfügbare Angebot in der Ollama Library.

Konfiguration

Ollama ignoriert den API-Schlüssel, erwartet jedoch, dass das Feld vorhanden ist; setzen Sie es daher auf einen beliebigen Platzhalter. Richten Sie baseURL auf Ihren Ollama-Server. Fügen Sie den endpoint unter endpoints.custom in Ihrer librechat.yaml hinzu:

    - 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"

Hinweise

  • Setze titleModel auf "current_model", damit die Titelgenerierung das Modell der Konversation wiederverwendet, anstatt ein zweites zu laden. Dies beschränkt Ollama auf ein einziges geladenes Modell pro Konversation.
  • Das default-Array oben ist eine Beispielliste beliebter Modelle. Mit fetch: true ruft LibreChat die vollständige Liste von Ihrem Server ab.

Ollama -> llama3

Sobald stop aus den default parameters entfernt wurde, sollte das unten beschriebene Problem nicht mehr auftreten.

Wenn llama3 ohne Unterbrechung weiter generiert, fügen Sie einen addParams Block mit den Stop-Sequenzen hinzu:

    - 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"
          ]

Wenn Sie nur llama3 mit Ollama ausführen, ist es in Ordnung, stop auf Konfigurationsebene über addParams festzulegen. Wenn Sie mehrere Modelle ausführen, fügen Sie Stopp-Sequenzen stattdessen über das Frontend mittels Konversationsparametern und Presets hinzu und lassen Sie addParams weg:

    - 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"

Legen Sie die Stopp-Sequenzen in den Konversationsparametern fest (und speichern Sie diese als Preset):

image

Wie finden Sie diese Anleitung?