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

Ollama

Skonfiguruj Ollama jako niestandardowy endpoint w LibreChat.

Ollama uruchamia otwarte modele lokalnie i udostępnia API zgodne z OpenAI, dzięki czemu możesz skierować LibreChat na własną maszynę. Pobieraj modele za pomocą ollama run <model> i przeglądaj dostępne opcje w Ollama Library.

Konfiguracja

Ollama ignoruje klucz API, ale nadal oczekuje, że to pole będzie obecne, więc ustaw je na dowolny symbol zastępczy. Skieruj baseURL na swój serwer Ollama. Dodaj endpoint w sekcji endpoints.custom w pliku 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"

Uwagi

  • Ustaw titleModel na "current_model", aby generowanie tytułu wykorzystywało model używany w konwersacji zamiast ładowania drugiego. Dzięki temu Ollama utrzymuje tylko jeden załadowany model na konwersację.
  • Powyższa tablica default to przykładowa lista popularnych modeli. Dzięki fetch: true, LibreChat pobiera pełną listę z Twojego serwera.

Ollama -> llama3

Gdy stop zostało usunięte z parametrów domyślnych, poniższy problem nie powinien już występować.

Jeśli llama3 generuje tekst bez zatrzymywania się, dodaj blok addParams z sekwencjami zatrzymania:

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

Jeśli używasz tylko llama3 z Ollama, ustawienie stop na poziomie konfiguracji poprzez addParams jest w porządku. Gdy uruchamiasz kilka modeli, dodawaj sekwencje stop z poziomu interfejsu użytkownika poprzez parametry konwersacji i presety, a addParams pomiń:

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

Ustaw sekwencje zatrzymania (stop sequences) w parametrach konwersacji (i zapisz je jako preset):

image

Jaka jest ta instrukcja?

Na tej stronie