コンテンツにスキップ

高度な機能

高度な機能

Marionetteの高度な機能について説明します。

ユーザー・組織・プロジェクトの概要

Marionetteでは、 Organization(組織)と Project(プロジェクト)の2階層でリソースを管理します。

階層構造

Organization(組織)
  └── Project(プロジェクト)
        └── Drama(ドラマ)

ユーザー

  • 役割: 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とユーザーの両方の発言を保存
(空) すべての会話テキストが保存されない