# エージェントメモリーサービス

> エージェントメモリーサービス - DataRobotの組み込みチャット履歴およびREST統合を使用する場合と、mem0互換メモリーAPIを使用する場合について説明します。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-23T18:01:59.342051+00:00` (UTC).

## Primary page

- [エージェントメモリーサービス](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [クイックスタート](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#quickstart): In-page section heading.
- [前提条件](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#prerequisites): In-page section heading.
- [接続する](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#connect): In-page section heading.
- [メモリー空間の作成](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#create-a-memory-space): In-page section heading.
- [セッションの作成](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#create-a-session): In-page section heading.
- [メッセージの投稿](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#post-messages): In-page section heading.
- [イベントの読み取りと編集](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#read-and-edit-events): In-page section heading.
- [標準のmem0クライアントを使用したメモリーの抽出](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#memory-extraction-via-stock-mem0-client): In-page section heading.

## Documentation content

> [!NOTE] プレミアム機能
> DataRobot's Agentic AI capabilities are a premium feature; contact your DataRobot representative for enablement information. DataRobotの試用版では、この機能を制限付きでお試しいただけます。

DataRobotのエージェントメモリーサービスでは、異なるユースケースに対応する2つの異なるAPIが提供されています。 お使いのビルドに合った方法を選択し、その方法に関するドキュメントに従ってください。 1つのアプリケーションで2つをマージする必要はありません。

DataRobotモデル（ `datarobot.models.memory.Session` または `datarobot.models.memory.MemorySpace` 経由でアクセス）を使用して、DataRobotのREST APIおよびPython APIクライアントを通じてチャットスタイルの履歴（セッション）を保持および取得する必要がある場合は、 [チャット履歴API](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#chat-history-api) セクションに説明があるチャット履歴APIを利用します。 詳細については、 [REST API](https://docs.datarobot.com/ja/docs/api/reference/public-api/agentic_memory.html.md) および [Python APIクライアント](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/agentic-memory.html.md) のリファレンスドキュメントを参照してください。

長期的なmem0スタイルのメモリー（オープンソースのmem0スタックからの移行を含む）を使用している場合、またはmem0製品に準拠した例やリクエスト形式が必要な場合は、 [mem0 API](https://docs.datarobot.com/ja/docs/agentic-ai/agentic-develop/agentic-memory-service.html.md#mem0-api) を利用します。 このインターフェイスの場合、標準のリソースは [mem0ドキュメント](https://docs.mem0.ai/) です。

**チャット履歴API:**
チャット履歴APIは、DataRobotに統合されたパスです。これは、他のDataRobotリソースに使用するのと同じ [REST API](https://docs.datarobot.com/ja/docs/api/reference/public-api/agentic_memory.html.md) であり、 [DataRobot Python APIクライアント](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/agentic-memory.html.md) でも同様の機能が提供されています。

Python APIクライアント：Python APIクライアントには、構築を容易にするために専用の型が追加されています。

datarobot.models.memory.MemorySpace
は、
メモリースペース
（保存された会話データのコンテナ）に基本的なCRUDを提供します。
datarobot.models.memory.Session
と
datarobot.models.memory.Event
は、チャットスタイルのエージェントアプリケーションを構築する際、
セッション
と
イベント
（セッション内のメッセージ）を使用します。

REST API：これらのリソースにはREST APIを使用します。認証およびベースURLのパターンは、DataRobot APIの他の部分と同様です。 詳細については、関連する操作とスキーマの [REST API](https://docs.datarobot.com/ja/docs/api/reference/public-api/agentic_memory.html.md) リファレンスを参照してください。

DataRobotのチャット履歴およびセッションモデルを、プラットフォームのAPIやPythonパッケージと連携させたい場合は、この方法を選択します。

**mem0 API:**
DataRobotには、 [オープンソースのmem0](https://github.com/mem0ai/mem0) 製品のインターフェイスと1対1で対応することを目的とした、mem0互換のREST APIも用意されています。

概念の概要、エンドポイントの動作、特に例（言語およびフレームワーク固有のスニペットを含む）については、その製品用に管理されている公式のmem0ドキュメントを参照してください。

[https://docs.mem0.ai](https://docs.mem0.ai/) からmem0の主要なドキュメントにアクセスし、リクエストとレスポンスの形式、メモリーの追加や検索の方法、一般的なエージェントフレームワークとの連携方法について確認してください。 DataRobotサービスは同じAPIサーフェスと互換性があるように構築されているため、これらのガイドはDataRobotのエンドポイントと認証に適用されます。 mem0のセマンティクスやエコシステムをターゲットとする場合、またはオープンソースサービスに対して作成された統合を移植する場合は、この方法を選択してください。


## クイックスタート

以下のクイックスタートワークフローを確認します。

### 前提条件

- Python 3.9以降
- DataRobotアカウント、APIキー、エンドポイントURL（例： https://app.datarobot.com/api/v2 ）
- pip install datarobot mem0ai

環境変数（ `DATAROBOT_API_TOKEN` 、 `DATAROBOT_ENDPOINT` ）または `~/.config/datarobot/drconfig.yaml` を使用して、資格情報を一度設定します。 以下のスニペットは、それらを明示的に渡します。

### 接続する

```
import datarobot as dr

dr.Client(token="<YOUR_DATAROBOT_API_TOKEN>", endpoint="https://app.datarobot.com/api/v2") 
```

### メモリー空間の作成

メモリー空間とは、1つのアプリケーションまたは1人のエンドユーザーに対する分離境界のことです。

```
from datarobot.models.memory import MemorySpace

space = MemorySpace.create(
    description="Acme support assistant",
    llm_model_name="azure/gpt-4o-mini",  # used for mem0 fact extraction
)
print(space.id) 
```

`llm_model_name` は、mem0の事実抽出に使用されるLLMを選択します。 DataRobot LLM Gatewayを通じて利用可能なモデルに対して検証が行われます。不明な名前は拒否され、許可されたモデルを一覧表示する422レスポンスが返されます。 プロバイダーごとに提供されているモデルについては、 [利用可能なLLM](https://docs.datarobot.com/ja/docs/reference/gen-ai-ref/llm-availability.html.md) を参照してください。 推論モデルは、事実抽出において処理速度が著しく遅くなるだけでなく、結果の品質も向上しないため、推論機能のないモデルの使用をお勧めします。 あるいは、 `llm_base_url` を設定することで、メモリー空間をLLM Gatewayではなく、OpenAI互換のカスタムエンドポイントに向けることができます。そのホストは、管理者が設定した許可リストと一致している必要があります。

### セッションの作成

セッションは1つの会話です。 `participants` はMongoDB-ObjectId文字列のリストで、通常はエンドユーザーです。

```
from datarobot.models.memory import Session

session = Session.create(
    memory_space_id=space.id,
    participants=["67500a000000000000000001"],
    description="Triage chat #42",
)
print(session.id) 
```

ソフト削除ライフサイクル戦略を指定しない場合、サーバーはデフォルトの戦略（180日間）を割り当てます。

### メッセージの投稿

各メッセージはイベントです。 `body` は自由形式のJSONです。 `emitter` は送信者を識別します。

```
event = session.post_event(
    body={"content": "Hello, my deployment is failing"},
    emitter={"type": "user", "id": "67500a000000000000000001"},
    event_type="message",
)
print(event.sequence_id)  # 0 
```

バッチ追加（最大200イベント、単一トランザクション）：

```
session.post_events([
    {
        "body": {"content": "Looking at it now."},
        "emitter": {"type": "agent", "id": "67500a000000000000000002"},
        "event_type": "message",
    },
    {
        "body": {"content": "Found the issue - rolling back."},
        "emitter": {"type": "agent", "id": "67500a000000000000000002"},
        "event_type": "message",
    },
]) 
```

### イベントの読み取りと編集

```
# Newest 20 events:
recent = session.events(last_n=20)
for e in recent:
    print(e.sequence_id, e.emitter_type, e.body)

# Edit message #1:
session.update_event(
    sequence_id=1,
    body={"content": "Looking at it now (ETA 5min)."},
) 
```

`update_event` は、楽観的並行性のためにオプションの `created_at` を受け付けます。そのタイムスタンプ以降にイベントが変更されている場合、サーバーは更新を拒否し、呼び出し元は再読み込みして再試行する必要があります。

### 標準のmem0クライアントを使用したメモリーの抽出

このサービスは、メモリー空間ごとにmem0互換のサブルートを公開します。 標準の `mem0ai.MemoryClient` がそのルートを参照するようにすれば、通常のmem0クライアントは変更なしで動作します（ `add()` 、 `get()` 、 `search()` 、 `get_all()` 、 `delete()` ）。

```
from mem0 import MemoryClient

endpoint = f"https://app.datarobot.com/api/v2/memory/{space.id}"
memory = MemoryClient(host=endpoint, api_key="<YOUR_DATAROBOT_API_TOKEN>")

memory.add(
    [{"role": "user", "content": "I deploy on Fridays using ArgoCD"}],
    user_id="alice",
    agent_id="support-bot",
)

hits = memory.search("when do we deploy", user_id="alice", agent_id="support-bot") 
```

`api_key` はDataRobot APIトークンです。 メモリー空間のスコープは完全にURLパス内にあり、追加のヘッダーは不要です。
