メインコンテンツまでスキップ

カスタムAIプロバイダーの追加

ONLYOFFICEエディターでは、カスタムAIプロバイダーを追加し、自分の好みに応じて設定することができます。

前提条件​

カスタムプロバイダーを追加する前に、次の手順を完了していることを確認してください。

  1. 選択したプロバイダーから必要な認証情報を取得します。
    • ベースURL: APIリクエストの送信先となるWebアドレスです。場合によっては、ベースURLに使用するモデルを指定するエンドポイントが含まれることがあります。例:

      https://dashscope.aliyuncs.com/compatible-mode/
    • モデルバージョン: アクセスするモデルのバージョンを示します。モデルバージョンがベースURLに含まれている場合もあります。例えば、次のURLの v1 です。

      https://api.moonshot.cn/v1
    • APIキー: サービスプロバイダーから提供される一意のキーで、認証に使用されます。

外部JavaScriptファイルの作成​

カスタムプロバイダーを追加し、AIプラグインの利用可能なプロバイダーのリストに表示するには、外部のJSファイルを作成してアップロードする必要があります。

このファイルから解析されるカスタムプロバイダーは、AI.Provider を拡張する Provider クラスのインスタンスです。このクラスは、プラグイン内で利用可能なすべてのプロバイダーを管理します。

以下は Provider クラスのパラメーターです。

class Provider {
/**
* Provider base class.
* @param {string} name Provider name.
* @param {string} url Url to service.
* @param {string} key Key for service. This is an optional field. Some providers may require a key for access.
* @param {string} addon Addon for url. For example: v1 for many providers.
*/
constructor(name, url, key, addon) {
this.name = name || "";
this.url = url || "";
this.key = key || "";
this.addon = addon || "";

this.models = [];
this.modelsUI = [];
}
}

例として、Tongyi Qianwenサービスの実装を見てみましょう。

"use strict";

class Provider extends AI.Provider {

constructor() {
super("Alibaba Cloud", "https://dashscope.aliyuncs.com/compatible-mode", "yourAPIKey", "v1");
}

}

各項目の意味は次のとおりです。

  • Alibaba Cloud は、プラグインに表示されるプロバイダーの名前です。
  • https://dashscope.aliyuncs.com/compatible-mode は、APIリクエストを送信するWebアドレスです。
  • yourAPIKey は、プロバイダーが発行したAPIキーです。
  • v1 は、APIリクエストの送信先となるモデルのバージョンです。

カスタムプロバイダーの追加​

  1. 選択した任意の単語を右クリックし、コンテキストメニューで AI → 設定 に移動します。
  2. AI設定 ウィンドウで、AIモデルを編集する を選択します。
  3. AIモデルリスト ウィンドウで、鉛筆アイコンをクリックしてモデルを編集します。
  4. AIモデルを編集 ウィンドウで、ウィンドウ左下の カスタムプロバイダー をクリックします。
  5. プラスアイコンをクリックし、カスタムプロバイダーの設定を含むJavaScriptファイルをアップロードします。
  6. 戻る をクリックして、AIモデルを追加 ウィンドウを終了します。
  7. AIモデルを追加 ウィンドウのリストからカスタムプロバイダーを選択し、OK をクリックします。
  8. 戻る をクリックして、AIモデルリスト ウィンドウを終了します。
  9. AI設定 ウィンドウで、カスタムプロバイダーのモデルを特定のタスクに設定します。