ローカルモデルやセルフホストモデルへの接続

このガイドでは、Ollama、LM Studio、KoboldCpp、llama.cppなどのプログラムを通じて、自分のコンピューターやサーバーで動くAIモデルにMarinara Engineを接続します。別のサーバーを用意せずにMarinaraが自分で動かす小さなモデルについては、内蔵モデルのセットアップを参照してください。

Custom接続の作成

アプリでは、この種類のアカウントをOpenAI-compatible(OpenAI互換)と呼びます。サーバーが、OpenAIのチャットAPIと同じリクエスト形式を受け付けるという意味です。Ollama、LM Studio、KoboldCpp、llama.cppはいずれも対応しています。

始める前に、モデルサーバーをインストールして起動し、モデルを読み込んでおいてください。たとえば、ollama.comからOllamaをダウンロードし、その手順に従ってモデルを取得します。Marinaraはサーバーに接続するだけで、サーバーを起動することはありません。サーバーは、コンピューター上のWebアドレスでリクエストに応答します。このアドレスをエンドポイントと呼びます。

  1. 上部バーのConnections(接続)をクリックし、Add(追加)をクリックします。Add account(アカウントの追加)ウィンドウが開きます。
  2. Chat(チャット)の下で、使っているサーバー(Ollama、LM Studio、KoboldCpp、llama.cppのいずれか)をクリックします。これらのタイルにはSelf-hosted(セルフホスト)のタグが付いています。それ以外のサーバーでは、OpenAI-compatible address(OpenAI互換のアドレス)をクリックします。
  3. Server address(サーバーのアドレス)を確認します。名前の挙がった4つのサーバーでは、すでに入力されています。それ以外のサーバーでは、そのアドレスを入力します。下の表を参照してください。
  4. API key (optional)(APIキー、任意)は空のままにします。ほとんどのローカルサーバーにキーは不要です。アカウントに名前を付けるには、Name (optional)(名前、任意)に入力します。
  5. Connect(接続)をクリックします。Marinaraがアドレスをテストします。Connectedと表示されれば、サーバーに到達できています。
  6. 次に起きることは、Mainのモデルがすでにあるかどうかで変わります。ない場合、または新しいチャットからAddを開いた場合は、サーバーが報告するモデルがウィンドウに表示されます。1つ選ぶか、Search or enter model ID…(検索またはモデルIDを入力…)にモデルIDを入力して、Done(完了)をクリックします。すでにMainのモデルがある場合は、ウィンドウが閉じ、アカウントが追加されたことがメッセージで表示されます。そのあと、アカウントの⋯をクリックし、Add model(モデルを追加)を選びます。

パネルにアカウントが表示されます。使い始める前にテストしてください(接続のテストを参照)。

うまくいかなかった場合:

代表的なローカルサーバーのアドレス

ポートとは、サーバーがコンピューター上で使う番号付きの通信路のことです。localhostは同じコンピューターを意味するので、Marinaraとサーバーが1台のコンピューターで動いている場合は、これらのアドレスをそのまま使えます。

サーバーアドレス
Ollamahttp://localhost:11434/v1
LM Studiohttp://localhost:1234/v1
KoboldCpphttp://localhost:5001/v1
llama.cpphttp://localhost:8080/v1

Edit model(モデルの編集)では、アドレス欄に「Only use URLs from providers you trust. A malicious endpoint could intercept your messages and API keys.」という警告が表示されます。自分で用意したアドレス、または完全に信頼できるアドレスだけを入力してください。

Windowsでは、サーバーが動いていても遮断されることがあります。Marinaraがサーバーを検出できない場合は、Windows Defender Firewallが遮断している可能性があります。Windows Security → Firewall & network protection → Allow an app through firewall(Windowsセキュリティ → ファイアウォールとネットワーク保護 → ファイアウォールによるアプリケーションの許可)を開き、Node.jsまたは使っているサーバーのプログラムを追加してください。

接続のテスト

Connect(接続)の時点で、アドレスはすでに確認されています。モデルエディターには、もう一度確認するためのProvider tests(プロバイダーのテスト)カードがあります。

  1. Connections(接続)パネルでモデルをクリックします。モデルエディターが開きます。
  2. Test provider(プロバイダーをテスト)をクリックします。アドレスに到達できるかどうかを確認し、かかった時間を表示します。
  3. まだモデルを選んでいなければ選び、Send test message(テストメッセージを送信)をクリックします。短いメッセージを送り、その返答を表示します。

どちらも成功したら、チャットを開き、Model for this chat(このチャットのモデル)でそのアカウントを選びます。1つのチャットで使うモデルを選ぶを参照してください。

テストが失敗したときは、サーバーがモデルを読み込んだ状態で動いているか、アドレスとポートが正確に一致しているかを確認してください。別のコンピューターにあるサーバーの場合は、次の手順も確認してください。

別のコンピューターにあるサーバーへの接続

localhostや127.0.0.1のようなアドレスは常に使えます。モデルサーバーがネットワーク上の別のコンピューターにある場合、Marinaraはそのプライベートアドレスをデフォルトで遮断します。Marinaraサーバーを運用している人は、環境変数でこれを許可できます。環境変数とは、サーバーが起動時に読み込む設定のことです。

  1. サーバーの.envファイルを開きます。通常のインストールでは、Marinaraのプロジェクトフォルダーにあります。DockerとPodmanについては、サーバー設定リファレンスを参照してください。
  2. 次の行を追加します。
PROVIDER_LOCAL_URLS_ENABLED=true
  1. ファイルを保存し、Marinaraサーバーを再起動します。
  2. http://192.168.1.50:11434/v1のように、別のコンピューターのアドレスを使います。

Androidでは、この設定を指定しない場合はデフォルトでオンになります。

モデルを判定に使う

同じモデルで、エージェントの起動チェックのような判定の質問にも答えられます。2つ目のコピーを読み込む必要はありません。パネルでモデルの⋯をクリックし、Use this model for decisions(このモデルを判断に使う)を選びます。これは、モデル名が設定されたOpenAI互換のモデルに表示されます。Decisionモデルを参照してください。

Treat as local/custom endpoint

Edit model(モデルの編集)では、Local / custom endpoint(ローカル/カスタムエンドポイント)の下に、Treat as local/custom endpoint(ローカル/カスタムのエンドポイントとして扱う)というトグルがあります。デフォルトはオフです。このトグルは、アカウントに結び付いていない古いモデルでだけ表示されます。今追加するモデルには表示されません。

既知のサービスではないプロキシやセルフホストのサーバーでは、これをオンにしてください。オンにすると、Marinaraは常にツール呼び出しを試みるようになります。また、Professor Mariがネイティブのツール呼び出しだけに頼らず、代替のツール方式(JSONのツールプロトコル)を使えるようになります。Professor Mariがツールを使ったあとで止まってしまう場合や、サーバーがOpenAI互換をうたっていてもツール呼び出しをうまく扱えない場合は、オンにしてください。オフのままでモデルが動いているなら、オフのままにしておきます。

関連ガイド