NewVectorIndex constructs the fact vector index persisted under memoryDir. A nil/Null provider yields a disabled index whose mutating calls are no-ops and whose searches return nothing — callers gate on Enabled().
(memoryDir string, provider embedding.Provider, logger *zap.Logger)
| 33 | // nil/Null provider yields a disabled index whose mutating calls are no-ops and |
| 34 | // whose searches return nothing — callers gate on Enabled(). |
| 35 | func NewVectorIndex(memoryDir string, provider embedding.Provider, logger *zap.Logger) *VectorIndex { |
| 36 | path := filepath.Join(memoryDir, "vector_index.json") |
| 37 | return &VectorIndex{ |
| 38 | idx: vindex.New(path, provider, vindex.WithLogger(logger)), |
| 39 | provider: provider, |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | // Enabled reports whether a real provider backs the index. |
| 44 | func (v *VectorIndex) Enabled() bool { |