ストーリー設定 API

テキスト生成に関わるストーリー設定の多くは、API から参照・変更できます。メモリ、システムプロンプト、作者のメモ(A/N)、プリフィル(Prefill)、生成パラメータなどが対象です。現在の設定を読んだり、必要に応じて更新できます。これらの設定を更新するには storyEdit 権限が必要です。

メモリ(Memory)

メモリは、生成コンテキストに常に含まれる永続テキスト欄です。キャラクター、プロット、世界観など、モデルに常に覚えていてほしい重要情報を入れる用途が一般的です。

メモリを取得する

api.v1.memory.get で取得できます。

let memory = await api.v1.memory.get();
api.v1.log(`Current memory: ${memory}`);

メモリを設定する

api.v1.memory.set で更新できます。

await api.v1.memory.set('Character: Maria - A brave knight seeking redemption.');

作者のメモ(Author’s Note)

作者のメモ(A/N)は、コンテキスト末尾付近(直近のストーリー内容の直前)に system メッセージとして挿入されます。

作者のメモを取得する

api.v1.an.get で取得できます。

let an = await api.v1.an.get();
api.v1.log(`Author's Note: ${an}`);

作者のメモを設定する

api.v1.an.set で更新できます。

await api.v1.an.set('Please please please write good.');

システムプロンプト(System Prompt)

システムプロンプトは、モデルに対して「どう生成するか」を指示する文章です。生成コンテキストの先頭に system メッセージとして置かれます。

システムプロンプトを取得する

api.v1.systemPrompt.get で取得できます。

let prompt = await api.v1.systemPrompt.get();
api.v1.log(`Current system prompt: ${prompt}`);

システムプロンプトを設定する

api.v1.systemPrompt.set で更新できます。

await api.v1.systemPrompt.set('Write good please.');

空文字を設定すると、デフォルトのシステムプロンプトが使われます。

プリフィル(Prefill)

プリフィルは、コンテキスト内の直近 “assistant” メッセージ先頭へ追加されます。モデルの応答を強く誘導したいときに使えます。

プリフィルを取得する

api.v1.prefill.get で取得できます。

let prefill = await api.v1.prefill.get();
api.v1.log(`Current prefill: ${prefill}`);

プリフィルを設定する

api.v1.prefill.set で更新できます。

await api.v1.prefill.set('Here\'s a list of delicious baked goods:');

生成パラメータ(Generation Parameters)

生成パラメータは、temperature、トークン上限、サンプリング設定など、モデルの挙動を制御します。

生成パラメータを取得する

api.v1.generationParameters.get で取得できます。

let params = await api.v1.generationParameters.get();
api.v1.log(`Temperature: ${params.temperature}`);
api.v1.log(`Max tokens: ${params.max_tokens}`);

生成パラメータを更新する

api.v1.generationParameters.update で更新できます。

await api.v1.generationParameters.update({
  temperature: 0.7,
  max_tokens: 150,
  top_p: 0.9,
  top_k: 50
});

更新したい項目だけを渡せばよく、指定していない項目は維持されます。生成パラメータ一覧は API リファレンス(英語)も参照してください。

参考