Um armazenamento em memória é o contêiner de nível superior para dados em memória no Serviço de Armazenamento em Memória. Crie, consulte, liste, atualize e exclua armazenamentos em memória em uma instância do Agent Storage por meio do console, do SDK do Agent Storage ou da API.
Pré-requisitos
Você já criou uma instância do AgentStorage e obteve o endpoint e o nome da instância.
Você tem uma chave de API. Nos exemplos do SDK, substitua o marcador de posição
<your-api-key>pela sua chave de API.O SDK do Agent Storage está instalado: versão Python
1.0.10ou posterior, e versão TypeScript0.0.13ou posterior.
Criar um armazenamento em memória
Ao criar um armazenamento em memória, especifique o tipo de entrada (de onde vêm os dados) e o tipo de saída (como a memória é armazenada). A tabela a seguir descreve as configurações.
|
Configuração |
Descrição |
|
Nome |
Deve começar com uma letra e pode conter letras, dígitos e sublinhados. Tamanho máximo: 32 caracteres. Deve ser único na mesma instância. |
|
Descrição |
Descreve a finalidade do armazenamento em memória. Tamanho máximo: 1.024 caracteres. |
|
Tipo de entrada |
|
|
Tipo de saída |
|
|
Instruções de extração |
Orienta a extração de memória estruturada. Tamanho máximo: 4.096 caracteres. |
O tipo de entrada e o tipo de saída devem ser compatíveis: messages de entrada suporta ["structured"], ["file"], ou ["structured","file"]; file de entrada suporta apenas ["file"]. Se você não especificar um tipo, o padrão será messages de entrada com structured de saída.
Console
Faça login no console do Agent Storage, vá para Gerenciamento de armazenamento em memória e clique em Criar armazenamento em memória.
Insira um nome e uma descrição. O nome deve atender aos requisitos de formato descritos na tabela de configurações.
Selecione Tipo de entrada: mensagens de curto prazo (
messages) ou arquivos (file).Selecione Tipo de saída: memória estruturada (
structured), memória de arquivo (file), ou ambos.(Opcional) Insira Instruções de extração para orientar a extração de memória estruturada.
Clique em OK. O armazenamento em memória aparece na página Gerenciamento de armazenamento em memória.
SDK
Python
from tablestore_agent_storage import AgentStorageClient
client = AgentStorageClient(
api_key="<your-api-key>",
ots_endpoint="https://<instance>.<region>.ots.aliyuncs.com",
ots_instance_name="<instance-name>",
)
# Create a memory store: messages input with structured memory and file memory output
client.create_memory_store({
"memoryStoreName": "agent_memory",
"description": "Agent long-term memory store",
"inputType": "messages",
"outputTypes": ["structured", "file"],
"extractInstructions": "Focus on user dietary preferences and travel habits",
})
TypeScript
import { AgentStorageClient } from '@tablestore/agent-storage';
const client = new AgentStorageClient({
apiKey: '<your-api-key>',
endpoint: 'https://<instance>.<region>.ots.aliyuncs.com',
instanceName: '<instance-name>',
});
await client.createMemoryStore({
memoryStoreName: 'agent_memory',
description: 'Agent long-term memory store',
inputType: 'messages',
outputTypes: ['structured', 'file'],
extractInstructions: 'Focus on user dietary preferences and travel habits',
});
API
Chame CreateMemoryStore para criar um armazenamento em memória. Para os campos de solicitação completos e detalhes de resposta, veja Criar um armazenamento em memória.
Consultar detalhes do armazenamento em memória
Consulte a configuração completa de um armazenamento em memória, incluindo seu nome, descrição, tipo de entrada, tipo de saída e instruções de extração.
Console
Na página Gerenciamento de armazenamento em memória, clique no cartão do armazenamento em memória alvo para visualizar seus detalhes. Você também pode escolher ··· > Detalhes ou ··· > Configurações no canto superior direito do cartão para ver as informações básicas, incluindo o nome, tipo de entrada e tipo de saída, tempo de criação, descrição e instruções de extração.
SDK
Python
from tablestore_agent_storage import AgentStorageClient
client = AgentStorageClient(
api_key="<your-api-key>",
ots_endpoint="https://<instance>.<region>.ots.aliyuncs.com",
ots_instance_name="<instance-name>",
)
resp = client.get_memory_store({"memoryStoreName": "agent_memory"})
data = resp["data"] if "data" in resp else resp
print(f"Name: {data.get('memoryStoreName')}")
print(f"Input type: {data.get('inputType')}, output type: {data.get('outputTypes')}")
TypeScript
import { AgentStorageClient } from '@tablestore/agent-storage';
const client = new AgentStorageClient({
apiKey: '<your-api-key>',
endpoint: 'https://<instance>.<region>.ots.aliyuncs.com',
instanceName: '<instance-name>',
});
const resp = await client.getMemoryStore({ memoryStoreName: 'agent_memory' });
const data = resp.data ?? resp;
console.log(data.memoryStoreName, data.inputType, data.outputTypes);
API
Chame GetMemoryStore para consultar detalhes do armazenamento em memória. Para as informações completas dos campos, veja Consultar um armazenamento em memória.
Listar armazenamentos em memória
Liste os armazenamentos em memória na instância atual. Os resultados são retornados por página.
Console
Na página Gerenciamento de armazenamento em memória, visualize a lista de todos os armazenamentos em memória, incluindo seus nomes, tipos de entrada e saída, e tempos de criação.
SDK
Python
from tablestore_agent_storage import AgentStorageClient
client = AgentStorageClient(
api_key="<your-api-key>",
ots_endpoint="https://<instance>.<region>.ots.aliyuncs.com",
ots_instance_name="<instance-name>",
)
resp = client.list_memory_stores({})
stores = resp.get("stores", [])
for s in stores:
print(f"{s['memoryStoreName']} | Input: {s.get('inputType')} Output: {s.get('outputTypes')}")
TypeScript
import { AgentStorageClient } from '@tablestore/agent-storage';
const client = new AgentStorageClient({
apiKey: '<your-api-key>',
endpoint: 'https://<instance>.<region>.ots.aliyuncs.com',
instanceName: '<instance-name>',
});
const resp = await client.listMemoryStores({});
for (const s of resp.stores) {
console.log(s.memoryStoreName, s.inputType, s.outputTypes);
}
API
Chame ListMemoryStores para listar armazenamentos em memória. Para as informações completas dos campos, veja Listar armazenamentos em memória.
Atualizar um armazenamento em memória
Atualize a descrição, as instruções de extração ou o tipo de saída de um armazenamento em memória. As seguintes regras se aplicam:
Campos atualizáveis — Você pode atualizar a descrição, as instruções de extração e os tipos de saída.
**Semântica de substituição para
outputTypes** — O valor que você passa substitui totalmente o conjunto existente de tipos de saída. Inclua cada tipo de saída que o armazenamento em memória deve manter.Campo imutável —
inputTypenão pode ser modificado.Limpar campos — Uma string vazia pode limpar
descriptioneextractInstructions.
Console
Na página Gerenciamento de armazenamento em memória, escolha ··· > Configurações no canto superior direito do cartão do armazenamento em memória alvo, clique em Modificar e, em seguida, atualize a descrição, as instruções de extração ou o tipo de saída.
SDK
Python
from tablestore_agent_storage import AgentStorageClient
client = AgentStorageClient(
api_key="<your-api-key>",
ots_endpoint="https://<instance>.<region>.ots.aliyuncs.com",
ots_instance_name="<instance-name>",
)
client.update_memory_store({
"memoryStoreName": "agent_memory",
"description": "Updated description",
"extractInstructions": "Focus on user preferences and travel habits",
"outputTypes": ["structured", "file"],
})
TypeScript
import { AgentStorageClient } from '@tablestore/agent-storage';
const client = new AgentStorageClient({
apiKey: '<your-api-key>',
endpoint: 'https://<instance>.<region>.ots.aliyuncs.com',
instanceName: '<instance-name>',
});
await client.updateMemoryStore({
memoryStoreName: 'agent_memory',
description: 'Updated description',
extractInstructions: 'Focus on user preferences and travel habits',
outputTypes: ['structured', 'file'],
});
API
Chame UpdateMemoryStore para atualizar um armazenamento em memória. Para as informações completas dos campos, veja Atualizar um armazenamento em memória.
Excluir um armazenamento em memória
A exclusão de um armazenamento em memória é irreversível. A operação também exclui todos os dados de memória e de arquivo armazenados no armazenamento em memória.
Console
Na página Gerenciamento de armazenamento em memória, escolha ··· > Excluir no canto superior direito do cartão do armazenamento em memória alvo e, em seguida, confirme a exclusão conforme solicitado.
SDK
Python
from tablestore_agent_storage import AgentStorageClient
client = AgentStorageClient(
api_key="<your-api-key>",
ots_endpoint="https://<instance>.<region>.ots.aliyuncs.com",
ots_instance_name="<instance-name>",
)
client.delete_memory_store({"memoryStoreName": "agent_memory"})
TypeScript
import { AgentStorageClient } from '@tablestore/agent-storage';
const client = new AgentStorageClient({
apiKey: '<your-api-key>',
endpoint: 'https://<instance>.<region>.ots.aliyuncs.com',
instanceName: '<instance-name>',
});
await client.deleteMemoryStore({ memoryStoreName: 'agent_memory' });
API
Chame DeleteMemoryStore para excluir um armazenamento em memória. Para as informações completas dos campos, veja Excluir um armazenamento em memória.