Pular para o conteúdo

SDK Converters

Os SDKs do PAM convertem exportações específicas de provedores para o formato portável PAM. Cada SDK é voltado para uma única linguagem e oferece tanto uma CLI quanto uma API programática.

Python

SDK oficial: CLI e biblioteca para converter, validar e construir arquivos PAM

Disponível
TypeScript

Pacote Node.js para conversão e validação PAM

Em breve
Go

Módulo Go nativo para processamento PAM

Planejado
Rust

Leitor/escritor PAM para Rust

Planejado
Java

Biblioteca JVM para integração PAM

Planejado
C#

Biblioteca .NET para suporte PAM

Planejado

O SDK oficial Python é a primeira implementação de referência. Ele suporta conversão, validação, inspeção e construção de documentos PAM.

Terminal window
pip install portable-ai-memory # SDK core (modelos, I/O, validação, conversores)
pip install 'portable-ai-memory[cli]' # + ferramenta CLI (comando pam)
Terminal window
# Converter exportação de provedor para um bundle PAM (detecta provedor automaticamente)
pam convert ~/chatgpt-export/ -o ./pam-bundle/ --owner-id user-123
# Forçar um provedor específico
pam convert export.json -o ./pam-bundle/ --provider claude
# Validar o resultado
pam validate ./pam-bundle/
# Inspecionar a saída
pam inspect ./pam-bundle/memory-store.json

O SDK detecta automaticamente o formato do provedor e converte conversas, memórias e metadados em documentos PAM.

import json
from pathlib import Path
from portable_ai_memory.converters import detect_provider
from portable_ai_memory import ProviderNotDetectedError
try:
converter = detect_provider("conversations.json")
data = json.loads(Path("conversations.json").read_text())
conversations = converter.convert_conversations(
data, owner_id="user-123",
)
except ProviderNotDetectedError as e:
print(f"Formato desconhecido: {e}")
ProvedorFormato de origem
OpenAI (ChatGPT)conversations.json
Anthropic (Claude)conversations.json + memories.json
Google (Gemini)Takeout JSON ou HTML
xAI (Grok)prod-grok-backend.json
Microsoft (Copilot)Exportações CSV

Para listar os conversores registrados:

from portable_ai_memory.converters import list_converters
print(list_converters()) # ['chatgpt', 'claude', 'gemini', 'grok', 'copilot']

Consulte as páginas de Provedores para detalhes sobre o formato de exportação e mapeamento de campos de cada provedor.

MemoryObject.create() preenche automaticamente content_hash, temporal e provenance.

from portable_ai_memory import MemoryStore, MemoryObject, Owner, save
store = MemoryStore(
schema_version="1.0",
owner=Owner(id="user-123"),
memories=[
MemoryObject.create(
id="mem-001",
type="preference",
content="User prefers dark mode.",
platform="my-app",
)
],
)
save(store, "memory-store.json")
# Consultas de conveniência
mem = store.get_memory_by_id("mem-001")
prefs = store.get_memories_by_type("preference")
  • Detecta automaticamente o formato de exportação do provedor
  • Mapeia campos para o schema PAM
  • Calcula content hashes conforme a normalização da spec §6
  • Gera documentos PAM válidos e em conformidade com o schema
  • Gera arquivos de conversas complementares com histórico completo de mensagens
  • Copia anexos quando presentes na exportação de origem