コンテンツにスキップ

高度な機能

高度な機能

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

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

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

階層構造

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

ユーザー

  • 役割: Marionetteにログインしてシステムを使用するアカウント
  • 種類: 管理者と一般ユーザー
  • 管理者の権限: すべてのユーザー、組織、プロジェクトを管理可能
  • 一般ユーザーの権限: 所属する組織・プロジェクト内のドラマの作成・編集が可能

組織(Organization)

  • 役割: 複数のユーザーとプロジェクトをまとめる単位
  • 特徴:
  • 組織に所属するユーザーは、 その組織内のすべてのプロジェクトにアクセス可能
  • 異なる組織のプロジェクトは完全に独立している

プロジェクト(Project)

  • 役割: 組織内で作成されるプロジェクトの単位
  • 特徴:
  • プロジェクトは必ず1つの組織に所属
  • 1つのプロジェクトは、実質的に1つのアプリケーションに対応
  • プロジェクト内に複数のドラマを作成可能
  • プロジェクトごとに別の環境変数を設定可能。例えば、OPENAI_API_KEYを個別に設定することで、アプリケーションごとの利用管理ができます。

プロジェクトごとの環境変数管理

プロジェクト管理 > プロジェクト一覧 > 環境変数ボタンをクリックすることで、各プロジェクトごとに環境変数を設定・管理できます。

主な機能

  • 環境変数の追加: プロジェクトごとに環境変数名と値を設定できます(例: OPENAI_API_KEY
  • 環境変数の編集・削除: 設定済みの環境変数を編集または削除できます
  • 暗号化保存: 環境変数の値は暗号化されてデータベースに保存されます

使用方法

ドラマ内のChainからは、${VAR_NAME}形式で環境変数を参照できます。設定されていない変数は、サーバーのシステム環境変数が使用されます。

使用例:

  • PublicLLMのapi_keyフィールドに${OPENAI_API_KEY}と設定すると、プロジェクトごとに設定されたOpenAI APIキーが使用されます
  • これにより、アプリケーションごとに異なるAPIキーを使用した利用管理が可能になります