高度な機能
高度な機能¶
Marionetteの高度な機能について説明します。
ユーザー・組織・プロジェクトの概要¶
Marionetteでは、 Organization(組織)と Project(プロジェクト)の2階層でリソースを管理します。
階層構造¶
ユーザー¶
- 役割: Marionetteにログインしてシステムを使用するアカウント
- 種類: 管理者と一般ユーザー
- 管理者の権限: すべてのユーザー、組織、プロジェクトを管理可能
- 一般ユーザーの権限: 所属する組織・プロジェクト内のドラマの作成・編集が可能
組織(Organization)¶
- 役割: 複数のユーザーとプロジェクトをまとめる単位
- 特徴:
- 組織に所属するユーザーは、 その組織内のすべてのプロジェクトにアクセス可能
- 異なる組織のプロジェクトは完全に独立している
プロジェクト(Project)¶
- 役割: 組織内で作成されるプロジェクトの単位
- 特徴:
- プロジェクトは必ず1つの組織に所属
- 1つのプロジェクトは、実質的に1つのアプリケーションに対応
- プロジェクト内に複数のドラマを作成可能
- プロジェクトごとに別の環境変数を設定可能。例えば、
OPENAI_API_KEYを個別に設定することで、アプリケーションごとの利用管理ができます。
プロジェクトごとの環境変数管理¶
プロジェクト管理 > プロジェクト一覧 > 環境変数ボタンをクリックすることで、各プロジェクトごとに環境変数を設定・管理できます。
主な機能¶
- 環境変数の追加: プロジェクトごとに環境変数名と値を設定できます(例:
OPENAI_API_KEY) - 環境変数の編集・削除: 設定済みの環境変数を編集または削除できます
- 暗号化保存: 環境変数の値は暗号化されてデータベースに保存されます
使用方法¶
ドラマ内のChainからは、${VAR_NAME}形式で環境変数を参照できます。設定されていない変数は、サーバーのシステム環境変数が使用されます。
使用例:
- PublicLLMの
api_keyフィールドに${OPENAI_API_KEY}と設定すると、プロジェクトごとに設定されたOpenAI APIキーが使用されます - これにより、アプリケーションごとに異なるAPIキーを使用した利用管理が可能になります