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

Ollama

LibreChatでOllamaをカスタムendpointとして設定する。

Ollamaはオープンモデルをローカルで実行し、OpenAI互換のAPIを公開するため、LibreChatを自身のマシンに向けることができます。ollama run <model> でモデルをダウンロードし、Ollama Library で利用可能なモデルを確認してください。

設定

OllamaはAPIキーを無視しますが、フィールドが存在することは期待するため、任意のプレースホルダーを設定してください。baseURLをOllamaサーバーに向けてください。librechat.yamlendpoints.customの下にエンドポイントを追加します:

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

注記

  • titleModel"current_model" に設定すると、タイトル生成時に2つ目のモデルを読み込むのではなく、会話で使用しているモデルを再利用するようになります。これにより、Ollamaにおいて会話ごとに読み込まれるモデルを1つに抑えることができます。
  • 上記の default 配列は、一般的なモデルのサンプルリストです。fetch: true を設定すると、LibreChat はサーバーから完全なリストを取得します。

Ollama -> llama3

default parameters から stop が削除されたため、以下の問題は発生しなくなるはずです。

llama3 が停止せずに生成し続ける場合は、addParams ブロックに停止シーケンスを追加してください:

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

Ollamaで llama3 のみを実行する場合は、addParams を介して設定レベルで stop を指定しても問題ありません。複数のモデルを実行する場合は、代わりに会話パラメータやプリセットを通じてフロントエンドから停止シーケンスを追加し、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"

会話パラメータで停止シーケンスを設定し(プリセットとして保存し)ます:

image

このガイドはいかがでしたか?