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

Ollama

Configura Ollama come endpoint personalizzato in LibreChat.

Ollama esegue modelli aperti localmente ed espone un'API compatibile con OpenAI, così puoi puntare LibreChat alla tua macchina. Scarica i modelli con ollama run <model> e sfoglia quelli disponibili nella Ollama Library.

Configurazione

Ollama ignora la chiave API ma si aspetta comunque che il campo sia presente, quindi impostalo su un segnaposto qualsiasi. Punta baseURL al tuo server Ollama. Aggiungi l'endpoint sotto endpoints.custom nel tuo 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"

Note

  • Imposta titleModel su "current_model" in modo che la generazione del titolo riutilizzi il modello della conversazione invece di caricarne un secondo. Questo mantiene Ollama su un singolo modello caricato per conversazione.
  • L'array default qui sopra è un elenco di esempio di modelli popolari. Con fetch: true, LibreChat estrae l'elenco completo dal tuo server.

Ollama -> llama3

Una volta rimosso stop dai parametri predefiniti, il problema sottostante non dovrebbe più verificarsi.

Se llama3 continua a generare senza fermarsi, aggiungi un blocco addParams con le sequenze di stop:

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

Se esegui solo llama3 con Ollama, impostare stop a livello di configurazione tramite addParams va bene. Quando esegui diversi modelli, aggiungi invece le sequenze di stop dal frontend tramite i parametri di conversazione e i preset, e ometti 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"

Imposta le sequenze di stop nei parametri della conversazione (e salvale come preset):

image

Com’è questa guida?

In questa pagina