高度な機能
高度な機能¶
Marionetteの高度な機能について説明します。
ユーザー・組織・プロジェクトの概要¶
Marionetteでは、 Organization(組織)と Project(プロジェクト)の2階層でリソースを管理します。
階層構造¶
ユーザー¶
- 役割: Marionetteにログインしてシステムを使用するアカウント
- 種類: 管理者と一般ユーザー
- 管理者の権限: すべてのユーザー、組織、プロジェクトを管理可能
- 一般ユーザーの権限: 所属する組織・プロジェクト内のドラマの作成・編集が可能
組織(Organization)¶
- 役割: 複数のユーザーとプロジェクトをまとめる単位
- 特徴:
- 組織に所属するユーザーは、 その組織内のすべてのプロジェクトにアクセス可能
- 異なる組織のプロジェクトは完全に独立している
プロジェクト(Project)¶
- 役割: 組織内で作成されるプロジェクトの単位
- 特徴:
- プロジェクトは必ず1つの組織に所属
- 1つのプロジェクトは、実質的に1つのアプリケーションに対応
- プロジェクト内に複数のドラマを作成可能
- プロジェクトごとに環境変数やプライバシー設定を個別に管理可能
プロジェクト設定¶
プロジェクト管理 > プロジェクト一覧 > **設定**ボタンをクリックすることで、各プロジェクトの設定モーダルが開きます。
設定モーダルには以下のタブがあります:
- 環境変数: プロジェクト固有の環境変数を管理
- プライバシー: セッション終了時のデータ保存動作を制御
環境変数管理¶
設定モーダルの「環境変数」タブで、プロジェクトごとに環境変数を設定・管理できます。
主な機能¶
- 環境変数の追加: プロジェクトごとに環境変数名と値を設定できます(例:
OPENAI_API_KEY) - 環境変数の編集・削除: 設定済みの環境変数を編集または削除できます
- 暗号化保存: 環境変数の値は暗号化されてデータベースに保存されます
使用方法¶
ドラマ内のChainからは、${VAR_NAME}形式で環境変数を参照できます。設定されていない変数は、サーバーのシステム環境変数が使用されます。
使用例:
- PublicLLMの
api_keyフィールドに${OPENAI_API_KEY}と設定すると、プロジェクトごとに設定されたOpenAI APIキーが使用されます - これにより、アプリケーションごとに異なるAPIキーを使用した利用管理が可能になります
プライバシー設定¶
設定モーダルの「プライバシー」タブで、セッション終了時のデータ保存動作を制御できます。
会話中のデータは一時的にメモリ上に保存され、会話セッション終了時にデータベースに永続化されます。プライバシー設定により、この永続化の挙動を制御できます。
States の取り扱い¶
ドラマ実行中に保存される状態(State)データの取り扱いを設定します。
| 設定 | 説明 |
|---|---|
| 保存する | セッション終了時にStateをデータベースに保存します(デフォルト) |
| セッション終了後に破棄 | Stateをデータベースに保存しません |
Dialog の取り扱い¶
会話履歴(Dialog)の取り扱いを設定します。
| 設定 | 説明 |
|---|---|
| 保存する | すべての会話履歴をそのまま保存します(デフォルト) |
| 一部のみ保存 | ホワイトリストで指定したroleの会話のみ保存します |
| 保存しない | 会話履歴を保存しません |
ホワイトリスト(role正規表現)¶
「一部のみ保存」を選択した場合、保存するroleを正規表現で指定できます。
- 指定した正規表現にマッチするroleの会話は、テキストがそのまま保存されます
- マッチしないroleの会話は、テキストが保存されません
設定例:
| ホワイトリスト | 効果 |
|---|---|
assistant | AIの発言(assistant)のみ保存 |
^user$ | ユーザーの発言(user)のみ保存 |
assistant\|user | AIとユーザーの両方の発言を保存 |
| (空) | すべての会話テキストが保存されない |