ローカルモデルやセルフホストモデルへの接続
このガイドでは、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アドレスでリクエストに応答します。このアドレスをエンドポイントと呼びます。
- 上部バーのConnections(接続)をクリックし、Add(追加)をクリックします。Add account(アカウントの追加)ウィンドウが開きます。
- Chat(チャット)の下で、使っているサーバー(Ollama、LM Studio、KoboldCpp、llama.cppのいずれか)をクリックします。これらのタイルにはSelf-hosted(セルフホスト)のタグが付いています。それ以外のサーバーでは、OpenAI-compatible address(OpenAI互換のアドレス)をクリックします。
- Server address(サーバーのアドレス)を確認します。名前の挙がった4つのサーバーでは、すでに入力されています。それ以外のサーバーでは、そのアドレスを入力します。下の表を参照してください。
- API key (optional)(APIキー、任意)は空のままにします。ほとんどのローカルサーバーにキーは不要です。アカウントに名前を付けるには、Name (optional)(名前、任意)に入力します。
- Connect(接続)をクリックします。Marinaraがアドレスをテストします。Connectedと表示されれば、サーバーに到達できています。
- 次に起きることは、Mainのモデルがすでにあるかどうかで変わります。ない場合、または新しいチャットからAddを開いた場合は、サーバーが報告するモデルがウィンドウに表示されます。1つ選ぶか、Search or enter model ID…(検索またはモデルIDを入力…)にモデルIDを入力して、Done(完了)をクリックします。すでにMainのモデルがある場合は、ウィンドウが閉じ、アカウントが追加されたことがメッセージで表示されます。そのあと、アカウントの⋯をクリックし、Add model(モデルを追加)を選びます。
パネルにアカウントが表示されます。使い始める前にテストしてください(接続のテストを参照)。
うまくいかなかった場合:
- アドレスについてMarinara could not reachと表示された場合は、サーバーが動いていること、アドレスとポートが一致していることを確認してください。Continue anyway(それでも続ける)を使うと、テストに合格しないままアカウントを保存します。
- アドレスが別のコンピューターにある場合は、別のコンピューターにあるサーバーへの接続を参照してください。
代表的なローカルサーバーのアドレス
ポートとは、サーバーがコンピューター上で使う番号付きの通信路のことです。localhostは同じコンピューターを意味するので、Marinaraとサーバーが1台のコンピューターで動いている場合は、これらのアドレスをそのまま使えます。
| サーバー | アドレス |
| Ollama | http://localhost:11434/v1 |
| LM Studio | http://localhost:1234/v1 |
| KoboldCpp | http://localhost:5001/v1 |
| llama.cpp | http://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(プロバイダーのテスト)カードがあります。
- Connections(接続)パネルでモデルをクリックします。モデルエディターが開きます。
- Test provider(プロバイダーをテスト)をクリックします。アドレスに到達できるかどうかを確認し、かかった時間を表示します。
- まだモデルを選んでいなければ選び、Send test message(テストメッセージを送信)をクリックします。短いメッセージを送り、その返答を表示します。
どちらも成功したら、チャットを開き、Model for this chat(このチャットのモデル)でそのアカウントを選びます。1つのチャットで使うモデルを選ぶを参照してください。
テストが失敗したときは、サーバーがモデルを読み込んだ状態で動いているか、アドレスとポートが正確に一致しているかを確認してください。別のコンピューターにあるサーバーの場合は、次の手順も確認してください。
別のコンピューターにあるサーバーへの接続
localhostや127.0.0.1のようなアドレスは常に使えます。モデルサーバーがネットワーク上の別のコンピューターにある場合、Marinaraはそのプライベートアドレスをデフォルトで遮断します。Marinaraサーバーを運用している人は、環境変数でこれを許可できます。環境変数とは、サーバーが起動時に読み込む設定のことです。
- サーバーの
.envファイルを開きます。通常のインストールでは、Marinaraのプロジェクトフォルダーにあります。DockerとPodmanについては、サーバー設定リファレンスを参照してください。 - 次の行を追加します。
PROVIDER_LOCAL_URLS_ENABLED=true- ファイルを保存し、Marinaraサーバーを再起動します。
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互換をうたっていてもツール呼び出しをうまく扱えない場合は、オンにしてください。オフのままでモデルが動いているなら、オフのままにしておきます。
関連ガイド
- AIプロバイダーへの接続
- 内蔵モデルのセットアップ
- Decisionモデル
- サーバー設定リファレンス