移行ガイド
このチュートリアルでは特定の考慮事項を強調しています。まず現在のバージョンのプラグインチュートリアルをお読みいただき、その後このドキュメントをプラグイン移行のリファレンスとしてご使用ください。
3.xサポートの非同期プラグインからの移行
INFO
プラグインの特徴:
- 主な期間: 2024.2 ~ 2025.8
- 登録方法:
main.pyのプラグインクラスで@handlerデコレータを使用してイベントリスナーを登録し、@llm_funcデコレータを使用してコンテンツ関数(ツール)を登録; すべてのハンドラ関数は非同期関数(async def)
- プラグインとコンポーネント登録方法: 以前の単一プラグインクラスデコレータ登録方法から、マニフェストファイル登録方法に変更されました。マニフェストファイルを参照してください; そして、異なるタイプのコンポーネントを独立して分離しました。詳細については、コンポーネントの追加を参照してください。
- メッセージチェーンエンティティ: リファクタリングされました。各メッセージチェーン要素の構築方法では、名前付きパラメータの明示的な渡しが必要になりました。メッセージプラットフォームエンティティを参照してください。
- イベントリスナー: 後方互換性を提供しますが、コンテキストで
query: Queryオブジェクトは提供されなくなりました。詳細については、パイプラインイベントを参照してください。 - コマンドコンポーネント: リファクタリングされました。Commandコンポーネントを参照してください。
2.xおよび3.xサポートの同期プラグインからの移行
INFO
プラグインの特徴:
- 主な期間: 2023.1 ~ 2024.2
- 登録方法:
main.pyのプラグインクラスで@onデコレータを使用してイベントリスナーを登録し、@funcデコレータを使用してコンテンツ関数(ツール)を登録; すべてのハンドラ関数は同期関数(def)
- 同期から非同期へ: プラグインランタイムは完全に非同期(asyncioベース)に変更されました。IO操作を含むすべてのプラグインコードを非同期記述に変更してください。
- 詳細な内容については、上記の3.x非同期プラグイン移行ガイドを参照してください。
