AttachEmbeddingProvider wires (or rewires) the embedding provider that powers semantic /context retrieval. A Null/absent provider still yields a live engine: Enabled() stays false (so --rag attachments degrade to whole content exactly as before), while knowledge-mode hybrid retrieval keeps its keyle
(provider embedding.Provider)
| 49 | // exactly as before), while knowledge-mode hybrid retrieval keeps its keyless |
| 50 | // BM25 floor. Safe to call once at startup; provider-agnostic across backends. |
| 51 | func (m *Manager) AttachEmbeddingProvider(provider embedding.Provider) { |
| 52 | m.mu.Lock() |
| 53 | defer m.mu.Unlock() |
| 54 | m.retrieval = NewRetrievalEngine(provider, m.Storage.basePath, m.logger) |
| 55 | } |
| 56 | |
| 57 | // RetrievalEnabled reports whether a real embedding provider backs retrieval. |
| 58 | func (m *Manager) RetrievalEnabled() bool { |