コンテンツにスキップ

ステートセーブとロード

現在の設定と会話履歴を保持した「ステート」のセーブとロードができます。

アセットへの読み書き

  • SaveStateToAsset関数を呼び出すことで、指定したパスへステートのアセットをセーブします。
  • LoadState関数を呼び出すことで、指定したアセットからステートをロードします。このとき、現在の会話履歴等は全て破棄され、ロードした設定でモデルが再度初期化され会話履歴等が設定されます。

スロットへの読み書き

通常のSave Gameと同様に、Slot NameUser Indexで指定したスロットにステートをセーブできます。

  • SaveStateToSlot関数を呼び出すことで、指定したスロットへステートをセーブします。
  • LoadStateFromSlot関数を呼び出すことで、指定したスロットからステートをロードします。このとき、現在の会話履歴等は全て破棄され、ロードした設定でモデルが再度初期化され会話履歴等が設定されます。
Save Gameオブジェクトを直接触る場合

Create Save Game ObjectLoad Game from SlotなどでSave Gameオブジェクトを直接操作する場合は、上記のように処理を行います。ポイントとなるのは下記の二つの関数です。

  • Save State関数:指定したLocalLLMSaveStateオブジェクトにステートを書き込みます。
  • Load State関数:指定したLocalLLMSaveStateオブジェクトからステートを読み込みます。

ステートから初期化

保存済みのステートを使ってLLMを初期化する場合は、Local LLMコンポーネントを選択して詳細タブのLocal LLM > Initialization Methodで下記の設定をしておくと便利です。

  • Initialization Method = Saved State:アセットから設定をロードして初期化する場合に使用します。Saved Stateでロードするアセットを指定します。
  • Initialization Method = Saved State from Slot:スロットから設定をロードして初期化する場合に使用します。Slot NameUser Indexでロードするスロットを指定します。

特にInitial PromptTalk Historyが長い場合、通常の方法でLLMを初期化するよりも、保存済みのステートをロードした方が早くLLMを初期化できます。