Manifest(マニフェスト)
マニフェストファイル マニフェストファイルとは、プラグインに関する最も基本的な情報を定義するYAML形式のファイルです。プラグイン名、作成者、含まれるツールやモデルなどの情報が含まれます。
このファイルの形式が正しくないと、プラグインの解析とパッケージング処理は失敗します。
コード例
以下は、マニフェストファイルの簡単な例です。各データ要素の意味と機能については、以下で説明します。他のプラグインコードについては、Githubリポジトリ を参照してください。
version: 0.0.1
type: "plugin"
author: "Yeuoly"
name: "neko"
label:
en_US: "Neko"
created_at: "2024-07-12T08:03:44.658609186Z"
icon: "icon.svg"
resource:
memory: 1048576
permission:
tool:
enabled: true
model:
enabled: true
llm: true
endpoint:
enabled: true
app:
enabled: true
storage:
enabled: true
size: 1048576
plugins:
endpoints:
- "provider/neko.yaml"
meta:
version: 0.0.1
arch:
- "amd64"
- "arm64"
runner:
language: "python"
version: "3.11"
entrypoint: "main"バージョン管理
プラグインのバージョンは、マニフェストファイルのversionフィールドで管理されます。バージョン番号はmajor.minor.patchの形式である必要があります。そうでない場合、自動更新が期待どおりに動作しない可能性があります。
構造
version(version、required): プラグインのバージョンtype(type、required): プラグインの種類。現在はpluginのみをサポートしており、将来的にはbundleをサポート予定author(string、required): 作成者。マーケットプレイスでは組織名として扱われますlabel(label、required): 多言語対応の名前created_at(RFC3339、required): 作成時間。マーケットプレイスでは現在時刻より後の日時であってはなりませんicon(アセット、required): アイコンのパスresource(object): 必要なリソース設定memory(int64): 最大メモリ使用量。主にSaaS上のAWS Lambdaリソースリクエストに関連し、単位はバイトpermission(object): 権限設定tool(object): ツール呼び出しの権限enabled(bool)
model(object): モデル呼び出しの権限enabled(bool)llm(bool)text_embedding(bool)rerank(bool)tts(bool)speech2text(bool)moderation(bool)
node(object): ノード呼び出しの権限enabled(bool)
endpoint(object): エンドポイント登録の権限enabled(bool)
app(object): アプリ呼び出しの権限enabled(bool)
storage(object): 永続ストレージの権限enabled(bool)size(int64): 最大許容永続メモリサイズ(バイト単位)
plugins(object、required): プラグインの機能を定義するYAMLファイルのリスト。プラグインパッケージ内の絶対パスで指定制限:
ツールとモデルの両方を同時に拡張することはできません。
少なくとも1つの拡張が必要です。
モデルとエンドポイントの両方を同時に拡張することはできません。
現在、拡張タイプごとに1つのプロバイダのみをサポートしています。
meta(object): メタ情報version(version、required): マニフェスト形式のバージョン。初期バージョンは0.0.1arch(list[string]、required): サポートされるアーキテクチャ。現在はamd64とarm64のみrunner(object、required): ランタイム設定language(string): 現在はPythonのみをサポートversion(string): 言語バージョン。現在は3.12のみをサポートentrypoint(string): プログラムのエントリポイント。Pythonの場合はmainである必要があります。
Last updated