Referência da Memory API (legada)
Esta página é a referência da API REST para a memória gerenciada legada do agente, que será desativada em breve. Não crie novos agentes nela. Para novos agentes, use memória do agente.
Esta página aborda os Endpoint, os campos de solicitação e os campos de resposta para a memória gerenciada legada:
- Um **armazenamento de memória** é um segurável do Unity Catalog que atua como um contêiner para entradas de memória. Use as APIs de armazenamento de memória para criar e gerenciar armazenamentos.
- Uma entrada de memória é um item de conteúdo individual armazenado em um armazenamento de memória. Use as APIs de entrada de memória para ler e gravar entradas.
- Uma **conversação** é um estado de conversação compatível com OpenAI — mensagens e chamadas de ferramenta — apoiado por um armazenamento de memória e pin a um escopo. Use as APIs de Conversação para criar e gerenciar conversações e seus itens.
Pré-requisitos
Gerar um token OAuth usando a CLI do Databricks para chamar as APIs:
databricks auth login --host ${DATABRICKS_HOST}
databricks auth token
APIs do armazenamento de memória
Um armazenamento de memória é um recurso securable do Unity Catalog que atua como um contêiner para entradas de memória. Armazenamentos de memória usam nomenclatura de três níveis: catalog.schema.memory_store_name.
Operação | Endpoint | Privilégio necessário |
|---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
Criar um armazenamento de memória
Cria um novo armazenamento de memória sob um esquema pai.
- endpoint :
POST /api/2.1/unity-catalog/memory-stores - Privilégio necessário :
CREATE MEMORY STOREno esquema pai
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"
}'
Campos de solicitação:
campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
|
| Sim | Nome abreviado para o armazenamento de memória. Deve corresponder a |
|
| Sim | Nome do catálogo pai. |
|
| Sim | Nome do esquema pai, relativo ao catálogo. |
|
| Não | Descrição legível por humanos do armazenamento de memória. |
Obter um armazenamento de memória
Recupera um armazenamento de memória pelo seu nome totalmente qualificado de três partes.
- endpoint :
GET /api/2.1/unity-catalog/memory-stores/{full_name} - Privilégio necessário :
READ MEMORY STOREno armazenamento
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Listar armazenamentos de memória
Lista os armazenamentos de memória em um esquema. Os resultados são filtrados para os armazenamentos que o chamador pode ler.
- endpoint :
GET /api/2.1/unity-catalog/memory-stores - Privilégio necessário :
USE SCHEMAno esquema pai
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores?catalog_name=main&schema_name=default" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Parâmetros de consulta:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
|
| Sim | Nome do catálogo pai. |
|
| Sim | Nome do esquema pai. |
|
| Não | Tokens de paginação de uma resposta anterior. |
|
| Não | Máximo de armazenamentos por página. default é 100, máximo 1000. |
Atualizar um armazenamento de memória
Atualiza campos mutáveis em um armazenamento de memória. Atualmente, apenas description é mutável.
- endpoint :
PATCH /api/2.1/unity-catalog/memory-stores/{full_name} - Privilégio necessário :
MANAGEno armazenamento
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"
}'
Excluir um armazenamento de memória
Exclui um repositório de memória e todas as suas entradas de memória.
- endpoint :
DELETE /api/2.1/unity-catalog/memory-stores/{full_name} - Privilégio necessário :
MANAGEno armazenamento
curl -X DELETE \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Campos de resposta do armazenamento de memória
campo | Tipo | Descrição |
|---|---|---|
|
| Nome curto do armazenamento de memória. |
|
| Nome do catálogo pai. |
|
| Nome do esquema pai. |
|
| Descrição legível por humanos. |
|
| Principal do UC que possui o armazenamento. Definido na criação. |
|
| Nome totalmente qualificado de três partes: |
|
| UUID atribuído pelo servidor. |
|
| Sempre |
|
| Hora de criação em milissegundos da época Unix. |
|
| Hora da última atualização em milissegundos de época Unix. |
|
| Principal que criou o armazenamento. |
APIs de entrada de memória
Entradas de memória são os itens de conteúdo individuais armazenados em um armazenamento de memória. Cada entrada é identificada por um escopo e um caminho : scope é uma key de partição que o chamador atribui (por exemplo, um ID de usuário final), e path é um caminho flexível dentro desse escopo que deve começar com /memories/ (por exemplo, /memories/preferences.md). scope é necessário em toda solicitação de entrada de memória.
Operação | Endpoint | Privilégio necessário |
|---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
Criar uma entrada de memória
Cria uma nova entrada de memória em um armazenamento de memória.
- endpoint :
POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries?scope=<scope> - Privilégio necessário :
WRITE MEMORY STOREno armazenamento
scope é um parâmetro de query; o corpo da solicitação é a própria entrada.
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"
}'
Campos de solicitação:
campo | Dentro de | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| query |
| Sim | Partição à qual a entrada pertence, atribuída pelo chamador (por exemplo, um ID de usuário final). |
| Corpo |
| Sim | Caminho flexível que identifica a entrada dentro do escopo. Deve começar com |
| Corpo |
| Não | Conteúdo de texto de memória de formato livre. |
| Corpo |
| Não | Resumo de uma linha da entrada de memória. Serve como um gancho de índice em respostas de lista. |
Obter uma entrada de memória
Recupera uma única entrada de memória por scope e path.
- endpoint :
GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get - Privilégio necessário :
READ MEMORY STOREno armazenamento
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}"
Listar entradas de memória
Lista as entradas de memória em um escopo.
- endpoint :
GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries - Privilégio necessário :
READ MEMORY STOREno armazenamento
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}"
Parâmetros de consulta:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
|
| Sim | Escopo (partição) para listar entradas. |
|
| Não | Retorne apenas as entradas cujo caminho começa com este prefixo. |
|
| Não | Máximo de entradas por página. O servidor limita o tamanho da página. |
|
| Não | Tokens de paginação de uma resposta anterior. |
As respostas da lista omitem contents (somente metadados) e incluem um next_page_token quando mais páginas permanecem.
Atualizar uma entrada de memória
Aplica uma única operação de edição ao contents de uma entrada existente, identificado por scope e path. Forneça exatamente um de str_replace, insert ou replace_all. description é editável: defina-o para substituir a descrição da entrada ou omita-o para deixar a descrição inalterada.
- endpoint :
PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries - Privilégio necessário :
WRITE MEMORY STOREno armazenamento
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." }
}'
Editar operações (defina exatamente uma):
Operação | Campos | Comportamento |
|---|---|---|
|
| Sobrescrever o conteúdo completo da entrada. |
|
| Substitua a única ocorrência de |
|
| Insira |
Excluir uma entrada de memória
Exclui uma entrada de memória, identificada por scope e path.
- endpoint :
DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries - Privilégio necessário :
WRITE MEMORY STOREno armazenamento
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}"
Pesquisar entradas de memória
Pesquisa entradas de memória por palavra-chave nos campos caminho, conteúdo e descrição.
- endpoint :
POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search - Privilégio necessário :
READ MEMORY STOREno armazenamento
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"
}'
Campos da solicitação: scope (obrigatório), query (obrigatório), path_prefix (opcional), top_k (opcional; o default é 10, máximo 50).
Campos de resposta de entrada de memória
campo | Tipo | Descrição |
|---|---|---|
|
| Caminho flexível da entrada dentro de seu escopo. |
|
| Texto da memória. Omitido nas respostas da lista. |
|
| Resumo de uma linha. |
|
| Escopo (partição) ao qual a entrada pertence. |
|
| Nome de três partes do armazenamento de memória pai. |
|
| Se a entrada tem |
|
| Carimbo de data/hora de criação (RFC 3339). |
|
| Carimbo de data/hora da última atualização (RFC 3339). |
APIs de Conversa
Uma conversa armazena o estado de conversação compatível com OpenAI — mensagens, chamadas de ferramentas e outros itens — em um armazenamento de memória sob um único escopo. Com uma conversa, um agente persiste e recarrega o estado da sessão no lado do servidor. Você cria cada conversa em relação a um armazenamento de memória (nome de três partes) e um scope, e as operações de conversação exigem os mesmos privilégios que o armazenamento de memória subjacente.
Operação | Endpoint | Privilégio necessário |
|---|---|---|
|
| |
|
| |
|
| |
|
|
Criar uma conversação
Cria uma conversa vinculada a um armazenamento de memória e escopo.
- endpoint :
POST /api/2.1/unity-catalog/conversations - Privilégio necessário :
WRITE MEMORY STOREno armazenamento
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" }
}'
Campos de solicitação:
campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
|
| Sim | Armazenamento de memória que suporta a conversa. |
|
| Sim | Nome totalmente qualificado de três partes do armazenamento de memória: |
|
| Sim | Escopo ao qual a conversa está pin. |
|
| Sim | Tipo de escopo, por exemplo |
|
| Sim | Valor de escopo específico do tipo, por exemplo, um ID de usuário final. |
|
| Não | Metadados key-valor controlados pelo chamador. Até 16 key; key com até 64 caracteres, valores com até 512 caracteres. |
|
| Não | Itens iniciais de conversação OpenAI para iniciar a conversa (até 20). Itens sem um |
Obter uma conversa
Recupera uma conversa pelo seu ID.
- endpoint :
GET /api/2.1/unity-catalog/conversations/{conversation_id} - Privilégio necessário :
READ MEMORY STOREno armazenamento
curl -X GET \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Atualizar uma conversação
Atualiza metadata de uma conversa.
- endpoint :
POST /api/2.1/unity-catalog/conversations/{conversation_id} - Privilégio necessário :
WRITE MEMORY STOREno armazenamento
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" } }'
Excluir uma conversa
Exclui uma conversa e seus itens.
- endpoint :
DELETE /api/2.1/unity-catalog/conversations/{conversation_id} - Privilégio necessário :
WRITE MEMORY STOREno armazenamento
curl -X DELETE \
"https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Campos de resposta da conversa
campo | Tipo | Descrição |
|---|---|---|
|
| ID de conversação atribuído pelo servidor. |
|
| Sempre |
|
| Tempo de criação em segundos de época Unix. |
|
| Metadados de key-valor fornecidos pelo chamador. |
APIs de item de conversa
Os itens são as mensagens individuais e as chamadas de ferramenta em uma conversação. Elas seguem o formato de itens de conversação do OpenAI e usam paginação compatível com OpenAI (after, limit, has_more).
Operação | Endpoint | Privilégio necessário |
|---|---|---|
Criar itens |
|
|
Obter item |
|
|
Listar itens |
|
|
Excluir item |
|
|