本文へスキップ

ドキュメントを検索

入力すると、ドキュメントのすべてのページを検索できます。

ドキュメントメニュー
解説対象読者 · 開発者 & コントリビューター

エンティティドメインモデル

すべての Agent-Lab アプリケーションを支えるエンティティと、その永続化の仕組み

このページは英語から機械翻訳されました。相違がある場合は原文が優先されます。英語の原文を読む

Agent-Lab アプリケーションは、agent_lab/domain/ で定義された 1 つのドメインモデルを共有しています。同じモデルが REST API のスキーマ、永続化レイヤー、エージェントのランタイムを支えています。一度理解すれば、すべてのエンドポイントが何を読み書きするのかがわかります。

エンティティドメインモデル

エンティティ

エンティティ モデル化する対象
Agent LLM エージェントのインスタンスです。agent_name、agent_type(レジストリに対して検証されます)、有効フラグ、タイムスタンプを持ちます。1 つの実装から、設定の異なる多数のインスタンスを作成できます。
AgentSettings エージェントインスタンスのキーバリュー形式の設定です。プロンプト(Jinja2 テンプレート)、コレクション名、temperature、カスタム値などを含みます。値 1 つあたり最大 16,000 文字で、POST /agents/update_setting を使ってエージェントの振る舞いを調整する場所です。
LanguageModel エージェントが利用できる言語モデルと、そのサプライヤーへの接続です。
LanguageModelSettings モデルごとのパラメーター(temperature、最大トークン数など)で、/llms エンドポイントで管理します。
Integration 外部インテグレーション(AI サプライヤーなど)とその設定です。シークレットはデータベースではなく、必ず Vault に保存されます。
Message 会話の 1 ターンです。ロール(human / assistant / tool)、コンテンツ、response_data、スレッドのリンク(replies_to)を持ちます。LangGraph のチェックポイントを介して、エージェントのメモリとともに永続化されます。
Attachment メッセージに添付されたファイルです。生のコンテンツ、パース済みのコンテンツ、検索に使用する埋め込みコレクションへの参照を持ちます。

永続化されたエージェント設定の例として、 notebooks/08_test_agent_type-multiagent-voice-assistant.ipynb のボイスメモエージェントのプロンプトとカスタム値を示します。

エージェント設定の例

データの保存場所

Agent-Lab は 3 つの PostgreSQL データベース(および Redis)を使用します。これらはデプロイガイドでプロビジョニングされ、db.url、db.vectors、 db.checkpoints で設定します(設定リファレンスを参照)。

ストア 内容
db.url リレーショナルデータ:エージェント、設定、モデル、インテグレーション、メッセージ、添付ファイル
db.vectors pgvector の埋め込み:ベクトル検索と取得(/attachments/embeddings)
db.checkpoints LangGraph のチェックポイントデータ:インタラクションをまたいだエージェントのメモリ
Redis (broker.url) 長時間実行される処理のステータス更新を配信する Pub/Sub ブローカー。MCP OAuth クライアントのストレージとしても使用

セキュリティとシークレット管理

シークレット(インテグレーションの認証情報、モデルの API キー、設定ペイロードそのもの)は Vault で管理されます。データベースには参照のみが保存され、機密性の高い値は起動時および必要に応じて Vault から取得されます。詳しくは Vault によるシークレット管理と設定リファレンスを参照してください。