Layanan Memory Storage menyediakan 13 API melalui protokol HTTP JSON untuk manajemen penyimpanan memori, pembacaan dan penulisan memori jangka panjang serta memori jangka pendek, dan kueri audit—memungkinkan integrasi kustom tanpa SDK.
Daftar API
API berikut dikelompokkan berdasarkan fungsinya.
Manajemen penyimpanan memori
API | Deskripsi |
| Membuat penyimpanan memori. |
| Mengambil detail penyimpanan memori. |
| Memperbarui deskripsi penyimpanan memori. |
| Menghapus penyimpanan memori. |
| Menampilkan daftar penyimpanan memori. |
Memori jangka panjang
API | Deskripsi |
| Menambahkan pesan percakapan atau teks dan menghasilkan memori jangka panjang. |
| Mencari memori jangka panjang. |
| Menampilkan daftar memori jangka panjang. |
| Mengambil memori jangka panjang. |
| Memperbarui memori jangka panjang. |
| Menghapus memori jangka panjang. |
Memori jangka pendek dan audit
API | Deskripsi |
| Menanyakan memori jangka pendek (pesan sesi mentah). |
| Menanyakan catatan audit permintaan penyimpanan memori. |
Objek umum
API penyimpanan memori menggunakan kembali struktur data berikut dalam permintaan dan respons.
Scope
Scope merepresentasikan hierarki kepemilikan data memori dan terdiri dari empat bidang.
Parameter | Tipe | Deskripsi |
| string | ID aplikasi. |
| string | ID penyewa atau pengguna. |
| string | ID Agent. |
| string | ID sesi, run, atau tugas. |
Persyaratan bidang Scope dan dukungan karakter wildcard * bervariasi tergantung pada API.
Skenario | Bidang yang wajib | Aturan wildcard |
Penulisan ( |
| Jika bidang opsional kosong, nilai default-nya adalah |
Pencarian memori jangka panjang ( |
| Karakter wildcard |
Kueri memori jangka pendek ( | Keempat bidang Scope wajib diisi. | Karakter wildcard |
Mengambil, memperbarui, atau menghapus satu memori jangka panjang ( | Keempat bidang Scope wajib diisi. | Karakter wildcard |
Kueri daftar ( |
| Karakter wildcard |
Contoh:
{
"appId": "app-001",
"tenantId": "user-001",
"agentId": "assistant",
"runId": "session-001"
}Message
Untuk API AddMemories, bidang messages menggunakan struktur berikut.
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Peran pesan, seperti |
| string | Ya | Isi pesan. |
| string | Tidak | ID pesan. Panjang maksimum: 256 karakter. |
| string | Tidak | Timestamp dalam format RFC3339. |
| object | Tidak | Metadata tingkat pesan. Baik kunci maupun nilai berupa string. |
Metadata
Metadata terdiri dari pasangan kunci-nilai string yang berfungsi sebagai tag bisnis. API pencarian menggunakan metadata ini untuk penyaringan kecocokan eksak.
Batas | Nilai |
Jumlah maksimum kunci per permintaan | 16 |
Panjang maksimum kunci | 64 karakter |
Panjang maksimum nilai | 1024 karakter |
Contoh:
{
"source": "chat",
"topic": "preference"
}CreateMemoryStore
Membuat penyimpanan memori.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. Panjangnya tidak boleh lebih dari 32 karakter dan hanya boleh berisi huruf, angka, serta garis bawah (_). |
| string | Tidak | Deskripsi opsional penyimpanan memori, dengan panjang maksimum 1024 karakter. |
Contoh permintaan
{
"memoryStoreName": "agent_memory",
"description": "Long-term memory store for the agent"
}GetMemoryStore
Mengembalikan detail penyimpanan memori.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | true | Nama penyimpanan memori. |
Contoh permintaan
{
"memoryStoreName": "agent_memory"
}UpdateMemoryStore
Memperbarui deskripsi penyimpanan memori.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. |
| string | Ya | Deskripsi baru, dengan panjang maksimum 1024 karakter. |
DeleteMemoryStore
Menghapus penyimpanan memori.
Ini adalah operasi yang tidak dapat dikembalikan dan akan menghapus permanen penyimpanan memori beserta seluruh datanya. Gunakan dengan hati-hati di lingkungan produksi.
Parameter permintaan
Parameter | Jenis | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori yang akan dihapus. |
ListMemoryStores
Menampilkan daftar penyimpanan memori.
Parameter permintaan
Parameter | Jenis | Wajib | Deskripsi |
| int | Tidak | Jumlah penyimpanan memori yang dikembalikan. |
| string | Tidak | Token untuk mengambil halaman hasil berikutnya. |
AddMemories
Menulis pesan dialog atau teks. Layanan menyimpan pesan asli sebagai memori jangka pendek dan mengekstraksi memori jangka panjang dari input tersebut.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori tujuan. |
| object | Ya | Scope. Untuk operasi tulis, |
| array | Wajib jika | Array pesan dialog. Maksimal 20 pesan, dengan total panjang konten hingga 32.000 karakter. |
| string | Wajib jika | Isi teks. Panjang maksimum: 32.000 karakter. |
| object | Tidak | Metadata untuk operasi tulis. Maksimal 16 pasangan kunci-nilai. Panjang kunci dibatasi hingga 64 karakter, dan nilai hingga 1.024 karakter. |
| boolean | Tidak | Menentukan apakah harus menunggu ekstraksi memori selesai secara sinkron. Nilai default-nya adalah |
Untuk daftar lengkap batasan, lihat Batasan dan Catatan.
Contoh permintaan: tambahkan pesan
{
"memoryStoreName": "agent_memory",
"scope": {
"appId": "app-001",
"tenantId": "user-001",
"agentId": "assistant",
"runId": "session-001"
},
"messages": [
{
"role": "user",
"content": "I like coffee"
},
{
"role": "assistant",
"content": "Okay, I'll remember that."
}
],
"metadata": {
"source": "chat"
},
"sync": true
}Contoh permintaan: tambahkan teks
{
"memoryStoreName": "agent_memory",
"scope": {
"appId": "app-001",
"tenantId": "user-001"
},
"text": "The user likes coffee and prefers concise answers."
}Parameter respons
Parameter | Deskripsi |
| ID permintaan. |
| Status permintaan. Operasi tulis asinkron biasanya mengembalikan |
| Jumlah pesan yang diterima. |
| Scope yang digunakan untuk operasi tulis. |
| Nama penyimpanan memori. |
| Hanya dikembalikan untuk operasi tulis sinkron. Jumlah memcell yang dibuat. |
| Hanya dikembalikan untuk operasi tulis sinkron. Jumlah unit memori jangka panjang yang dibuat. |
SearchMemories
Mengambil memori jangka panjang.
Parameter permintaan
Parameter | Type | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori tujuan. |
| string | Ya | Teks kueri. |
| object | Ya | Scope. Saat melakukan pengambilan, Anda harus memberikan |
| int | Tidak | Jumlah item yang dikembalikan, dengan nilai default |
| boolean | Tidak | Menentukan apakah Rerank diaktifkan. Nilai default-nya adalah |
| object | Tidak | Filter metadata untuk kueri kecocokan eksak. Baik kunci maupun nilai berupa string. |
Untuk deskripsi lengkap batas atas topK, lihat Batasan dan Catatan.
Contoh permintaan
{
"memoryStoreName": "agent_memory",
"scope": {
"appId": "app-001",
"tenantId": "user-001",
"agentId": "*",
"runId": "*"
},
"query": "What drinks does the user like?",
"topK": 5,
"enableRerank": true,
"metadata": {
"source": "chat"
}
}Bidang respons
Bidang | Deskripsi |
| Daftar hasil pencarian. |
| Unit memori jangka panjang. Lihat tabel di bawah untuk deskripsi bidang-bidangnya. |
| Skor relevansi. |
| Scope yang digunakan untuk kueri. |
| Nama penyimpanan memori. |
Bidang internal results[].unit adalah sebagai berikut.
Bidang | Deskripsi |
| ID unit memori jangka panjang. |
| Kunci percakapan terkait. |
| Scope memori adalah objek dengan empat bidang: |
| ID sel memori. |
| Tipe unit memori. |
| Teks memori. |
| Teks yang digunakan untuk pengambilan. |
| Daftar ID pesan sumber. |
| Label tipe. |
| Bucket tanggal. |
| Metadata, dalam bentuk string JSON. |
| Menunjukkan apakah unit tersebut telah dihapus. |
| Waktu pembuatan. |
| Skor salience. |
| Nomor versi. |
ListMemories
Menampilkan daftar memori jangka panjang.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. |
| object | Ya | Scope. |
| int | Tidak | Jumlah maksimum memori jangka panjang yang dikembalikan. |
| string | Tidak | Token untuk mengambil halaman hasil berikutnya. |
Contoh permintaan
{
"memoryStoreName": "agent_memory",
"scope": {
"appId": "app-001",
"tenantId": "*",
"agentId": "*",
"runId": "*"
},
"limit": 20
}GetMemory
Mengambil satu memori jangka panjang.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. |
| string | Ya | ID memori. |
| object | Ya | Untuk Scope lengkap, keempat bidang wajib diisi, dan karakter wildcard |
UpdateMemory
Memperbarui satu memori jangka panjang. Anda harus menyertakan setidaknya salah satu dari text atau metadata.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. |
| string | Ya | ID memori. |
| object | Ya | Untuk Scope lengkap, keempat bidang wajib diisi, dan karakter wildcard |
| string | Tidak | Teks memori baru. |
| object | Tidak | Metadata baru. |
DeleteMemory
Menghapus satu item memori jangka panjang.
Menghapus item memori jangka panjang adalah operasi yang tidak dapat dikembalikan. Lakukan dengan hati-hati di lingkungan produksi.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. |
| string | Ya | ID memori. |
| object | Ya | Scope lengkap memerlukan keempat bidang dan tidak mengizinkan karakter wildcard |
ListMemoryStoreMessages
Menampilkan daftar pesan sesi mentah dari memori jangka pendek.
Parameter permintaan
Parameter | Tipe | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. |
| object | Ya | Untuk Scope lengkap, keempat bidang wajib diisi, dan wildcard seperti |
| int | Tidak | Jumlah maksimum pesan yang dikembalikan. |
| string | Tidak | Token untuk halaman hasil berikutnya. |
| string | Tidak | Timestamp minimum, dalam format RFC3339. |
| string | Tidak | Timestamp maksimum, dalam format RFC3339. |
Contoh permintaan
{
"memoryStoreName": "agent_memory",
"scope": {
"appId": "app-001",
"tenantId": "user-001",
"agentId": "assistant",
"runId": "session-001"
},
"limit": 100
}ListMemoryStoreRequests
Menanyakan catatan audit permintaan untuk penyimpanan memori.
Parameter permintaan
Parameter | Type | Wajib | Deskripsi |
| string | Ya | Nama penyimpanan memori. |
| object | Ya | Scope. Anda dapat menggunakan wildcard |
| string | Tidak | Nama operasi, seperti |
| int | Tidak | Jumlah maksimum catatan yang dikembalikan. |
| string | Tidak | Token untuk halaman hasil berikutnya. |
| string | Tidak | Timestamp minimum, dalam format RFC 3339. |
| string | Tidak | Timestamp maksimum, dalam format RFC 3339. |
Contoh permintaan
{
"memoryStoreName": "agent_memory",
"scope": {
"appId": "app-001",
"tenantId": "*",
"agentId": "*",
"runId": "*"
},
"operation": "AddMemories",
"limit": 50
}Parameter respons
Parameter | Deskripsi |
| ID permintaan. |
| Nama operasi. |
| Scope permintaan. |
| Ringkasan permintaan. |
| Status respons. |
| Latensi dalam milidetik. |
| ID target operasi, seperti ID memori. |
| Waktu saat catatan dibuat. |