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.
SDK oficial: CLI e biblioteca para converter, validar e construir arquivos PAM
DisponívelPacote Node.js para conversão e validação PAM
Em breveMódulo Go nativo para processamento PAM
PlanejadoLeitor/escritor PAM para Rust
PlanejadoBiblioteca JVM para integração PAM
PlanejadoBiblioteca .NET para suporte PAM
PlanejadoSDK Python
Seção intitulada “SDK Python”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.
Instalação
Seção intitulada “Instalação”pip install portable-ai-memory # SDK core (modelos, I/O, validação, conversores)pip install 'portable-ai-memory[cli]' # + ferramenta CLI (comando pam)Converter via CLI
Seção intitulada “Converter via CLI”# 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íficopam convert export.json -o ./pam-bundle/ --provider claude
# Validar o resultadopam validate ./pam-bundle/
# Inspecionar a saídapam inspect ./pam-bundle/memory-store.jsonConverter programaticamente
Seção intitulada “Converter programaticamente”O SDK detecta automaticamente o formato do provedor e converte conversas, memórias e metadados em documentos PAM.
import jsonfrom pathlib import Path
from portable_ai_memory.converters import detect_providerfrom 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}")Provedores suportados
Seção intitulada “Provedores suportados”| Provedor | Formato 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.
Construir do zero
Seção intitulada “Construir do zero”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ênciamem = store.get_memory_by_id("mem-001")prefs = store.get_memories_by_type("preference")O que cada conversor faz
Seção intitulada “O que cada conversor faz”- 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