Skip to content

🐛 Qdrant dual-collection memory system - Correções críticas #66

@RLuf

Description

@RLuf

name: Qdrant dual-collection memory system
status: open
created: 2025-10-07T23:51:57Z
updated: 2025-10-11T00:42:15Z
github: #66
depends_on: [62]
parallel: true
conflicts_with: []

Problemas Identificados

1. Tamanho Incorreto do Vetor de Embedding

Problema: A implementação atual usa vetores de dimensão 384, mas deve usar 1024 dimensões (padrão do Gemini).

Impacto:

  • Incompatibilidade com embeddings do Gemini
  • Queries de similaridade retornam resultados incorretos
  • Perda de qualidade semântica

Ação Necessária:

  • Atualizar configuração do Qdrant para vector_size: 1024
  • Recriar coleções fazai_personality e fazai_knowledge
  • Migrar dados existentes (se houver) com re-embedding

2. Bug na Inferência - Endpoint Retorna Zeros

Problema: Ao testar o endpoint /v1/execute, a resposta contém apenas uma sequência de zeros: 0000000000000...

Sintomas:

  • Requisições bem-sucedidas (HTTP 200)
  • Response body contém somente caracteres 0
  • Nenhuma inferência real sendo executada

Possíveis Causas:

  • Modelo não carregado corretamente
  • Buffer de resposta não inicializado
  • Erro silencioso no pipeline de inferência
  • Problema no encoder/decoder de output

Ação Necessária:

  • Debug do pipeline de inferência completo
  • Validar carregamento do modelo Gemma3-cpp
  • Testar com input simples e verificar logs
  • Adicionar logging detalhado em cada etapa

Tarefas de Correção

  • Corrigir dimensão do vetor para 1024 em memory.py
  • Recriar coleções Qdrant com configuração correta
  • Debugar endpoint /v1/execute com logs detalhados
  • Identificar causa raiz do output zerado
  • Corrigir pipeline de inferência
  • Adicionar testes de integração para embeddings
  • Adicionar testes de integração para endpoint /v1/execute
  • Validar resposta com inputs variados

Critérios de Aceitação

✅ Coleções Qdrant configuradas com vector_size: 1024
✅ Embeddings gerados com 1024 dimensões
✅ Endpoint /v1/execute retorna texto válido (não zeros)
✅ Inferência funcionando end-to-end
✅ Testes automatizados validando ambas correções

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions