このページは、 マネージド エージェント メモリの REST API リファレンスです。 マネージド メモリのエンドポイント、要求フィールド、応答フィールドについて説明します。
- メモリ ストアは、メモリ エントリのコンテナーとして機能するセキュリティ保護可能な Unity カタログです。 メモリ ストア API を使用して、ストアを作成および管理します。
- メモリ エントリは、メモリ ストア内に格納されている個々のコンテンツです。 メモリ エントリ API を使用して、エントリの読み取りと書き込みを行います。
- 会話は、メモリ ストアによってサポートされ、スコープにピン留めされた OpenAI 互換の会話状態 (メッセージとツール呼び出し) です。 Conversation API を使用して、会話とそのアイテムを作成および管理します。
前提条件
Databricks CLI を使用して OAuth トークンを生成し、API を呼び出します。
databricks auth login --host ${DATABRICKS_HOST}
databricks auth token
メモリ ストア API
メモリ ストアは、メモリ エントリのコンテナーとして機能するセキュリティ保護可能な Unity カタログです。 メモリ ストアでは、 catalog.schema.memory_store_nameという 3 レベルの名前付けが使用されます。
| Operation | エンドポイント | 必要な特権 |
|---|---|---|
| Create | POST /api/2.1/unity-catalog/memory-stores |
CREATE MEMORY STORE 親スキーマの場合 |
| Get | GET /api/2.1/unity-catalog/memory-stores/{full_name} |
READ MEMORY STORE ストア上 |
| リスト | GET /api/2.1/unity-catalog/memory-stores |
USE SCHEMA 親スキーマの場合 |
| Update | PATCH /api/2.1/unity-catalog/memory-stores/{full_name} |
MANAGE ストア上 |
| 削除 | DELETE /api/2.1/unity-catalog/memory-stores/{full_name} |
MANAGE ストア上 |
メモリ ストアを作成する
親スキーマの下に新しいメモリ ストアを作成します。
-
エンドポイント:
POST /api/2.1/unity-catalog/memory-stores -
必要な特権: 親スキーマに対する
CREATE MEMORY STORE
curl -X POST "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "agent_memory",
"catalog_name": "main",
"schema_name": "default",
"description": "Memory store for customer support agents"
}'
要求フィールド:
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
name |
string |
はい | メモリ ストアの短い名前。
[A-Za-z0-9_-]+ 1 ~ 255 文字と一致する必要があります。 親スキーマ内で一意です。 |
catalog_name |
string |
はい | 親カタログの名前。 |
schema_name |
string |
はい | カタログを基準とした親スキーマの名前。 |
description |
string |
いいえ | メモリ ストアの人間が判読できる説明。 |
メモリ ストアを取得する
3 部構成の完全修飾名でメモリ ストアを取得します。
-
エンドポイント:
GET /api/2.1/unity-catalog/memory-stores/{full_name} -
必要な特権: ストアでの
READ MEMORY STORE
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
メモリ ストアを一覧表示する
スキーマ内のメモリ ストアを一覧表示します。 結果は、呼び出し元が読み取ることができる格納にフィルター処理されます。
-
エンドポイント:
GET /api/2.1/unity-catalog/memory-stores -
必要な特権: 親スキーマに対する
USE SCHEMA
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores?catalog_name=main&schema_name=default" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
クエリ パラメーター:
| Parameter | タイプ | 必須 | 説明 |
|---|---|---|---|
catalog_name |
string |
はい | 親カタログ名。 |
schema_name |
string |
はい | 親スキーマ名。 |
page_token |
string |
いいえ | 前の応答からの改ページ位置トークン。 |
max_results |
integer |
いいえ | ページあたりの最大ストア数。 既定値は 100、最大 1000 です。 |
メモリ ストアを更新する
メモリ ストアの変更可能なフィールドを更新します。 現在、変更可能なのは description だけです。
-
エンドポイント:
PATCH /api/2.1/unity-catalog/memory-stores/{full_name} -
必要な特権: ストアでの
MANAGE
curl -X PATCH \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"memory_store": {
"description": "Updated description for the memory store"
},
"update_mask": "description"
}'
メモリ ストアを削除する
メモリ ストアとそのすべてのメモリ エントリを削除します。
-
エンドポイント:
DELETE /api/2.1/unity-catalog/memory-stores/{full_name} -
必要な特権: ストアでの
MANAGE
curl -X DELETE \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
メモリ ストアの応答フィールド
| フィールド | タイプ | 説明 |
|---|---|---|
name |
string |
メモリ ストアの短い名前。 |
catalog_name |
string |
親カタログ名。 |
schema_name |
string |
親スキーマ名。 |
description |
string |
人間が判読できる説明。 |
owner |
string |
ストアを所有する UC プリンシパル。 作成時に設定します。 |
full_name |
string |
3 部構成の完全修飾名: catalog.schema.name。 |
memory_store_id |
string |
サーバー割り当て UUID。 |
securable_type |
string |
常に MEMORY_STORE です。 |
created_at |
integer |
Unix エポックの作成時間 (ミリ秒)。 |
updated_at |
integer |
Unix エポックの最終更新時刻 (ミリ秒)。 |
created_by |
string |
ストアを作成したプリンシパル。 |
メモリ エントリ API
メモリ エントリは、メモリ ストア内に格納されている個々のコンテンツです。 各エントリは 、スコープ と パスによって識別されます。 scope は呼び出し元が割り当てるパーティション キー (エンド ユーザー ID など) であり、 path はそのスコープ内のソフト パスであり、 /memories/ で始まる必要があります (たとえば、 /memories/preferences.md)。
scope は、すべてのメモリ エントリ要求で必要です。
| Operation | エンドポイント | 必要な特権 |
|---|---|---|
| Create | POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
WRITE MEMORY STORE ストア上 |
| Get | GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get |
READ MEMORY STORE ストア上 |
| リスト | GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
READ MEMORY STORE ストア上 |
| Update | PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
WRITE MEMORY STORE ストア上 |
| 削除 | DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries |
WRITE MEMORY STORE ストア上 |
| 検索 | POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search |
READ MEMORY STORE ストア上 |
メモリ エントリを作成する
メモリ ストアに新しいメモリ エントリを作成します。
-
エンドポイント:
POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries?scope=<scope> -
必要な特権: ストアでの
WRITE MEMORY STORE
scope はクエリ パラメーターです。要求本文はエントリ自体です。
curl -X POST \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"path": "/memories/preferences.md",
"contents": "The user prefers responses in English and uses formal tone.",
"description": "User language and tone preferences"
}'
要求フィールド:
| フィールド | インチ | タイプ | 必須 | 説明 |
|---|---|---|---|---|
scope |
クエリ | string |
はい | 呼び出し元 (エンドユーザー ID など) によって割り当てられた、エントリが属するパーティション。 |
path |
body | string |
はい | スコープ内のエントリを識別するソフト パス。
/memories/で始まる必要があります。 不変です。 |
contents |
body | string |
いいえ | 自由形式のメモリ テキスト コンテンツ。 |
description |
body | string |
いいえ | メモリ エントリの 1 行の概要。 リスト応答のインデックス フックとして機能します。 |
メモリ エントリを取得する
scopeとpathで 1 つのメモリ エントリを取得します。
-
エンドポイント:
GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get -
必要な特権: ストアでの
READ MEMORY STORE
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries:get?scope=user-42&path=/memories/preferences.md" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
メモリ エントリを一覧表示する
スコープ内のメモリ エントリを一覧表示します。
-
エンドポイント:
GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries -
必要な特権: ストアでの
READ MEMORY STORE
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
クエリ パラメーター:
| Parameter | タイプ | 必須 | 説明 |
|---|---|---|---|
scope |
string |
はい | エントリを一覧表示するスコープ (パーティション)。 |
path_prefix |
string |
いいえ | パスがこのプレフィックスで始まるエントリのみを返します。 |
page_size |
integer |
いいえ | ページあたりの最大エントリ数。 サーバーはページ サイズを制限します。 |
page_token |
string |
いいえ | 前の応答からの改ページ位置トークン。 |
一覧の応答では、 contents が省略され (メタデータのみ)、さらにページが残っている場合は next_page_token が含まれます。
メモリ エントリを更新する
既存のエントリの contentsに 1 つの編集操作を適用します。これは、 scope と pathによって識別されます。
str_replace、insert、またはreplace_allのいずれかを指定します。
description は編集可能です。エントリの説明を置き換えるか、説明を変更せずに省略するように設定します。
-
エンドポイント:
PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries -
必要な特権: ストアでの
WRITE MEMORY STORE
curl -X PATCH \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"scope": "user-42",
"path": "/memories/preferences.md",
"replace_all": { "contents": "The user prefers responses in Spanish and uses casual tone." }
}'
編集操作 (厳密に 1 つ設定):
| Operation | Fields | Behavior |
|---|---|---|
replace_all |
contents |
エントリの完全な内容を上書きします。 |
str_replace |
old_str、new_str |
old_strの単一の出現箇所をnew_strに置き換えます (1 回だけ一致する必要があります)。 |
insert |
insert_line、insert_text |
insert insert_text; insert_line 0 = top, omitted = append to the end. |
メモリ エントリを削除する
scopeとpathで識別されるメモリ エントリを削除します。
-
エンドポイント:
DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries -
必要な特権: ストアでの
WRITE MEMORY STORE
curl -X DELETE \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42&path=/memories/preferences.md" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
メモリ エントリを検索する
パス、コンテンツ、および説明フィールド間でキーワードでメモリ エントリを検索します。
-
エンドポイント:
POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search -
必要な特権: ストアでの
READ MEMORY STORE
curl -X POST \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries:search" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"scope": "user-42",
"query": "language preferences"
}'
要求フィールド: scope (必須)、 query (必須)、 path_prefix (省略可能)、 top_k (省略可能、既定値は 10、最大 50)。
メモリ エントリの応答フィールド
| フィールド | タイプ | 説明 |
|---|---|---|
path |
string |
スコープ内のエントリのソフト パス。 |
contents |
string |
メモリ テキスト。 List 応答では省略されます。 |
description |
string |
1 行の概要。 |
scope |
string |
エントリが属するスコープ (パーティション)。 |
memory_store_name |
string |
親メモリ ストアの 3 部構成の名前。 |
has_contents |
boolean |
エントリに空でない contents があるかどうか (List で役立ちます)。 |
create_time |
string |
作成タイムスタンプ (RFC 3339)。 |
update_time |
string |
最終更新日時のタイムスタンプ (RFC 3339)。 |
Conversation API
会話では、OpenAI と互換性のある会話状態 (メッセージ、ツール呼び出し、その他の項目) が 1 つのスコープのメモリ ストアに格納されます。 会話を使用すると、エージェントはセッション状態サーバー側を保持して再読み込みします。 メモリ ストア (3 部構成の名前) と scopeに対して各会話を作成します。会話操作には、基になるメモリ ストアと同じ特権が必要です。
| Operation | エンドポイント | 必要な特権 |
|---|---|---|
| Create | POST /api/2.1/unity-catalog/conversations |
WRITE MEMORY STORE ストア上 |
| Get | GET /api/2.1/unity-catalog/conversations/{conversation_id} |
READ MEMORY STORE ストア上 |
| Update | POST /api/2.1/unity-catalog/conversations/{conversation_id} |
WRITE MEMORY STORE ストア上 |
| 削除 | DELETE /api/2.1/unity-catalog/conversations/{conversation_id} |
WRITE MEMORY STORE ストア上 |
会話を作成する
メモリ ストアとスコープにバインドされた会話を作成します。
-
エンドポイント:
POST /api/2.1/unity-catalog/conversations -
必要な特権: ストアでの
WRITE MEMORY STORE
curl -X POST "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"memory_store": { "name": "main.default.support_agent_memory" },
"scope": { "kind": "user", "value": "user-123" },
"metadata": { "source": "support-chat" }
}'
要求フィールド:
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
memory_store |
object |
はい | 会話をサポートするメモリ ストア。 |
memory_store.name |
string |
はい | メモリ ストアの 3 部構成の完全修飾名: catalog.schema.memory_store。 |
scope |
object |
はい | 会話のピン留め対象のスコープ。 |
scope.kind |
string |
はい | スコープの種類 ( user や user_definedなど)。 |
scope.value |
string |
はい | 種類固有のスコープ値 (エンド ユーザー ID など)。 |
metadata |
object |
いいえ | 呼び出し元が制御するキーと値のメタデータ。 最大 16 個のキー。キーは最大 64 文字、値は最大 512 文字です。 |
items |
array |
いいえ | 会話をシードするための最初の OpenAI 会話アイテム (最大 20)。
typeのないアイテムは、メッセージ アイテムとして格納されます。 |
会話を取得する
ID で会話を取得します。
-
エンドポイント:
GET /api/2.1/unity-catalog/conversations/{conversation_id} -
必要な特権: ストアでの
READ MEMORY STORE
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
会話を更新する
会話の metadataを更新します。
-
エンドポイント:
POST /api/2.1/unity-catalog/conversations/{conversation_id} -
必要な特権: ストアでの
WRITE MEMORY STORE
curl -X POST \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{ "metadata": { "source": "support-chat", "resolved": "true" } }'
会話を削除する
会話とそのアイテムを削除します。
-
エンドポイント:
DELETE /api/2.1/unity-catalog/conversations/{conversation_id} -
必要な特権: ストアでの
WRITE MEMORY STORE
curl -X DELETE \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
会話の応答フィールド
| フィールド | タイプ | 説明 |
|---|---|---|
id |
string |
サーバー割り当て会話 ID。 |
object |
string |
常に conversation です。 |
created_at |
integer |
Unix エポック秒での作成時間。 |
metadata |
object |
呼び出し元が指定したキー値メタデータ。 |
会話アイテム API
アイテムは、会話内の個々のメッセージとツール呼び出しです。 OpenAI 会話項目の図形に従い、OpenAI 互換の改ページ位置 (after、 limit、 has_more) を使用します。
| Operation | エンドポイント | 必要な特権 |
|---|---|---|
| アイテムの作成 | POST /api/2.1/unity-catalog/conversations/{conversation_id}/items |
WRITE MEMORY STORE ストア上 |
| 項目を取得する | GET /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} |
READ MEMORY STORE ストア上 |
| リスト アイテム | GET /api/2.1/unity-catalog/conversations/{conversation_id}/items |
READ MEMORY STORE ストア上 |
| アイテムの削除 | DELETE /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} |
WRITE MEMORY STORE ストア上 |