Todos os produtos
Search
Central de documentação

Tablestore:Compilação de conhecimento (Wiki)

Última atualização: Oct 21, 2026

O Wiki compila de forma assíncrona os arquivos de origem de um agente em páginas Markdown estruturadas e interligadas que você pode listar, ler e pesquisar por caminho. Use o Wiki para armazenar especificações de produtos, manuais operacionais, convenções de projetos e outros materiais no nível do agente que precisam ser compartilhados entre sessões.

O Wiki oferece páginas, links entre páginas, citações de origem e pesquisa semântica. Ele não armazena triplas de entidades nem expõe interfaces de consulta de grafo. Se você precisa de consultas de entidades ou relacionamentos no estilo de banco de dados de grafo, use um modelo de dados diferente.

Pré-requisitos

Criar um armazenamento de memória. Qualquer tipo de entrada é suportado para o armazenamento de memória.

Para usar os exemplos de SDK neste tópico, você precisa de:

  • Uma chave de API para autenticação.

  • Um endpoint de instância do Tablestore no formato https://<instance>.<region>.ots.aliyuncs.com.

  • O nome da instância do Tablestore.

  • O pacote SDK Python tablestore_agent_storage instalado.

O SDK atual do Agent Storage não fornece métodos de alto nível para o Wiki. Todos os exemplos de SDK neste tópico usam a chamada de baixo nível ots_client.request(Action, body).

No console, as operações do Wiki são organizadas nas seguintes páginas em Knowledge compilation Wiki:

  • Raw files — Gerencie os arquivos de origem para compilação.

  • Knowledge graph — Visualize páginas publicadas, metadados e links.

  • Knowledge retrieval — Pesquise páginas publicadas.

Limites de recursos

Cada Wiki pertence a exatamente um armazenamento de memória e a um Agent Scope de três partes:

memoryStoreName + appId / tenantId / agentId
  • O Wiki não usa runId; diferentes sessões do mesmo agente compartilham um Wiki.

  • Todos os três campos de Scope são obrigatórios e podem conter até 128 bytes. Eles não devem conter / nem o curinga *.

Arquivos de origem suportados

TipoExtensãoMétodo de gravaçãoLimite por arquivo
Markdown, texto.md, .txtcontent100 KiB
PDF.pdfcontentBase64 + mediaType2.000.000 bytes
Word.doc, .docxcontentBase64 + mediaType2.000.000 bytes
Excel.xls, .xlsxcontentBase64 + mediaType2.000.000 bytes
PowerPoint.ppt, .pptxcontentBase64 + mediaType2.000.000 bytes
Imagens.jpg, .jpeg, .pngcontentBase64 + mediaType2.000.000 bytes

Use Base64 padrão para arquivos binários. A extensão, o mediaType e a assinatura do arquivo devem corresponder.

Cotas e limites

ItemLimite
Arquivos de origem por Wiki2.000
Arquivos binários exclusivos por compilação50
Tamanho total da origem por compilação20 MiB
Páginas por compilação500
Corpo de página única100 KiB
Tamanho total das páginas por compilação20 MiB
limit padrão/máximo para ListWikiPages50 / 100
limit padrão/máximo para SearchWikiPages10 / 100

Consultar um Wiki

Recupere ou crie o Wiki para o Agent Scope atual e visualize o status da compilação mais recente. A primeira chamada cria o Wiki automaticamente. Nenhum wikiId, ID de compilação ou ID de tarefa é necessário.

Console

No console do Tablestore, abra o armazenamento de memória de destino. Acesse Knowledge compilation Wiki > Knowledge graph, defina o application, tenant e agent e visualize o status do Wiki e a contagem de páginas.

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>",
)

wiki = client.ots_client.request("GetWiki", {
    "memoryStoreName": "agent_memory",
    "scope": {"appId": "app-001", "tenantId": "user-001", "agentId": "assistant"},
})
print(f"Status: {wiki.get('status')}, Page count: {wiki.get('pageCount')}, Pending build: {wiki.get('hasPendingChanges')}")

API

Chame GetWiki para consultar o Wiki. Para todos os campos, consulte GetWiki.

Compilar um Wiki

Compile de forma assíncrona os arquivos de origem em /.wiki/raw/ em um novo conjunto de páginas e publique-as atomicamente.

Antes de compilar, grave os arquivos de origem no diretório /.wiki/raw/. No console, use Add raw material ou Batch upload. No SDK, chame add_item com um caminho em /.wiki/raw/.

Após iniciar uma compilação, chame GetWiki para verificar o campo status. Quando o status atingir ready, as novas páginas estarão publicadas e disponíveis para leitura e pesquisa. Se o status for failed, verifique errorMessage, corrija as origens e inicie uma nova compilação. Se o status for conflict, recupere o status mais recente e inicie uma nova compilação.

Após uma compilação bem-sucedida, GetWiki.latestBuild.quality retorna métricas como cobertura de origem, status de citação de páginas e qualidade dos links. Uma compilação bem-sucedida não garante que todas as origens estejam totalmente representadas ou que todos os fatos sejam precisos. Verifique as páginas críticas manualmente. Para detalhes dos campos, consulte a referência da API GetWiki.

Status comuns de compilação:

StatusDescrição
pending, processingA compilação foi aceita ou está em processamento.
accepting_output, sealing, validating, indexing, publishingAs páginas estão sendo geradas, validadas, indexadas ou publicadas.
readyAs novas páginas foram publicadas atomicamente e podem ser lidas e pesquisadas.
failedA compilação falhou. Verifique errorMessage, corrija as origens e inicie uma nova compilação.
conflictAs origens ou a versão atual foram alteradas durante a compilação. Recupere o status e inicie uma nova compilação.

Console

  1. Na página Knowledge compilation Wiki > Raw files, clique em Add raw material ou Batch upload para gravar arquivos de origem em /.wiki/raw/.

  2. Clique em Build Wiki. O serviço compila as páginas de forma assíncrona.

  3. Visualize as páginas publicadas na página Knowledge graph. As páginas existentes permanecem legíveis durante a compilaçã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>",
)

# 1. Write the source file (for AddItem, see the File memory document)
client.add_item({
    "memoryStoreName": "agent_memory",
    "scope": {"appId": "app-001", "tenantId": "user-001", "agentId": "assistant"},
    "path": "/.wiki/raw/product/payment.md",
    "content": "# Payment notes\n\nPayment callbacks must validate the idempotency key.",
})

# 2. Start the build
resp = client.ots_client.request("IngestWiki", {
    "memoryStoreName": "agent_memory",
    "scope": {"appId": "app-001", "tenantId": "user-001", "agentId": "assistant"},
    "clientToken": "wiki-build-001",
})
print(resp)

API

Chame IngestWiki para compilar o Wiki. Para todos os campos, consulte IngestWiki.

IngestWiki é uma operação assíncrona. Use o mesmo clientToken para retentativas seguras. Na resposta, reused indica que a mesma compilação foi reutilizada, e skipped indica que as origens não foram alteradas e nenhuma recompilação é necessária.

Listar páginas

Liste os metadados das páginas publicadas, incluindo caminhos, títulos e resumos, com suporte a paginação.

  • As páginas ficam disponíveis somente após a compilação e publicação. Se nenhuma compilação tiver sido realizada, o serviço retorna um erro de recurso não encontrado.

  • limit tem o valor padrão de 50 e o máximo de 100. Não analise nem modifique o nextToken; os resultados de paginação permanecem vinculados à mesma versão publicada.

Console

Visualize a lista de páginas publicadas, incluindo caminhos, títulos e resumos, na página Knowledge graph.

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.ots_client.request("ListWikiPages", {
    "memoryStoreName": "agent_memory",
    "scope": {"appId": "app-001", "tenantId": "user-001", "agentId": "assistant"},
    "limit": 50,
})
for p in resp.get("pages", []):
    print(p.get("path"), p.get("title"))

API

Chame ListWikiPages para listar páginas. Para todos os campos, consulte ListWikiPages.

Ler uma página

Leia o corpo completo de uma página publicada por caminho. Use ListWikiPages para obter os caminhos das páginas disponíveis.

Console

Na página Knowledge graph, clique na página de destino para visualizar o corpo completo, as citações de origem e os links de entrada e 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>",
)

resp = client.ots_client.request("GetWikiPage", {
    "memoryStoreName": "agent_memory",
    "scope": {"appId": "app-001", "tenantId": "user-001", "agentId": "assistant"},
    "path": "/wiki/payment-callback.md",
})
print(resp.get("content"))

API

Chame GetWikiPage para ler uma página. Para todos os campos, consulte GetWikiPage.

Pesquisar páginas

Use linguagem natural para pesquisar páginas publicadas de forma semântica. A pesquisa retorna o caminho, o título, o resumo e a pontuação das páginas correspondentes.

Console

Na página Knowledge retrieval, insira palavras-chave para pesquisar páginas compiladas por título, resumo e corpo.

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.ots_client.request("SearchWikiPages", {
    "memoryStoreName": "agent_memory",
    "scope": {"appId": "app-001", "tenantId": "user-001", "agentId": "assistant"},
    "query": "How do payment callbacks ensure idempotency",
    "limit": 5,
})
for p in resp.get("pages", []):
    print(f"[{p.get('score')}] {p.get('path')} - {p.get('title')}")

API

Chame SearchWikiPages para pesquisar páginas. Para todos os campos, consulte SearchWikiPages.

Atualizar um Wiki

Atualize o nome ou o resumo de um Wiki.

Console

Na página Knowledge compilation Wiki, clique em Settings para alterar o nome ou o resumo.

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.ots_client.request("UpdateWiki", {
    "memoryStoreName": "agent_memory",
    "scope": {"appId": "app-001", "tenantId": "user-001", "agentId": "assistant"},
    "name": "Payment and reconciliation Wiki",
    "summary": "Includes payment callbacks, reconciliation, and idempotency conventions",
})

API

Chame UpdateWiki para atualizar o Wiki. Para todos os campos, consulte UpdateWiki.

Referências