docs(secretaria): estado das chaves de embedding (OpenAI s/ quota, Gemini 768d)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -22,8 +22,10 @@
|
||||
VPS3 nem na imagem do `pgdev`, e o role `newwhats` **não é superuser**
|
||||
(`CREATE EXTENSION` negado). Solução adotada (decisão 28/jun/2026):
|
||||
|
||||
- `embeddings.ts`: **chunking** + **embed** (OpenAI `text-embedding-3-small`
|
||||
ou Gemini `text-embedding-004`, conforme a chave) + **cosseno** — tudo em Node.
|
||||
- `embeddings.ts`: **chunking** + **embed** (OpenAI `text-embedding-3-small` @1536d
|
||||
ou Gemini `gemini-embedding-001` @768d, conforme a chave) + **cosseno** — em Node.
|
||||
Ordem de preferência: **OpenAI → Gemini** (em qualquer falha do OpenAI, cai para
|
||||
o Gemini — uma chave OpenAI sem créditos não derruba o RAG).
|
||||
- Tabela **`sec_knowledge_chunks`**: vetor serializado em **JSON/text** (sem
|
||||
extensão) + índices em `agent_id`/`node_id`.
|
||||
- `brain.ts`: no nó `knowledge`, injeta só os **top-4 trechos** relevantes à
|
||||
@@ -34,6 +36,17 @@ VPS3 nem na imagem do `pgdev`, e o role `newwhats` **não é superuser**
|
||||
> Para bases pequenas (clínica/empresa) é rápido e suficiente. Quando a VPS3
|
||||
> tiver `pgvector`, dá para migrar a busca ao banco sem mudar a interface.
|
||||
|
||||
### ⚠️ Chaves de embedding (estado dev, 28/jun/2026)
|
||||
- `openai_key` configurada (não versionada, no Dragonfly), porém a conta OpenAI
|
||||
está **sem quota** (`429 insufficient_quota`) → embeddings OpenAI não funcionam
|
||||
até acertar billing. **Rotacionar** a chave exposta.
|
||||
- `gemini_key` configurada e **funcional** → embeddings caem no Gemini
|
||||
(`gemini-embedding-001` @768d). `text-embedding-004` foi descontinuado (404).
|
||||
- **Incompatibilidade de dimensões**: OpenAI (1536d) ≠ Gemini (768d). Ao habilitar
|
||||
o OpenAI (billing) o provider preferido muda → **é obrigatório reindexar**
|
||||
(`sync-knowledge` + memória de contato), senão o cosseno mistura espaços e o
|
||||
retrieval fica sem sentido.
|
||||
|
||||
## Memória de longo prazo por contato
|
||||
|
||||
A secretária **lembra do cliente entre conversas** (tabela `sec_contact_memory`):
|
||||
|
||||
Reference in New Issue
Block a user