๐พ Passo 7: Persistencia
Antes de retornar qualquer coisa, tudo deve ser persistido. Este e o principio de Persistencia Total do GIPM.
O que persistir
Input Completo
Request original, contexto coletado, persona usada
Output da IA
Resposta bruta, tokens usados, modelo chamado
Metadados
Timestamps, duracoes, request_id
Custos
Tokens input/output, custo calculado
async def persist_execution(ctx: PipelineContext, result: AIResult):
record = ExecutionRecord(
request_id=ctx.request_id,
user_id=ctx.user.id,
input_data=ctx.normalized_input,
output_data=result.content,
persona_used=ctx.persona.name,
tokens_in=result.usage.input_tokens,
tokens_out=result.usage.output_tokens,
cost=calculate_cost(result.usage),
duration_ms=result.duration,
timestamp=datetime.utcnow()
)
await db.executions.insert(record)
๐ฆ Passo 8: Materializacao
A materializacao transforma a estrutura JSON gerada pela IA em artefatos finais utilizaveis.
๐ Two-Phase Rule em Acao
IA gera
JSON estruturado
Sistema transforma
Templates + Dados
Artefato final
.docx, .pptx, .mp4
โฉ๏ธ Passo 9: Retorno
O ultimo passo e retornar a resposta ao usuario de forma estruturada e util.
Estrutura de Resposta Padrao
{
"success": true,
"request_id": "req_abc123",
"data": {
"content": "...",
"artifacts": [
{"type": "document", "url": "/files/report.docx"}
]
},
"meta": {
"duration_ms": 1250,
"tokens_used": 450
}
}
๐๏ธ Estrutura de armazenamento
Uma boa estrutura de banco de dados e essencial para auditoria e analise.
executions
Registro de cada execucao do pipeline
artifacts
Artefatos gerados e seus metadados
costs
Registro de custos por execucao
๐ JSON โ Artefatos finais
O processo de transformacao usa templates e bibliotecas especializadas.
๐ Documentos
python-docx, reportlab
๐ Apresentacoes
python-pptx
๐ต Audio
TTS APIs (ElevenLabs, Google)
๐ฌ Video
FFmpeg, MoviePy
๐งช Exemplos de materializacao
Exemplo: Roteiro โ Video
- 1. IA gera JSON com script, cenas, timings
- 2. Sistema gera audio via TTS
- 3. Sistema gera slides das cenas
- 4. FFmpeg combina em video final