Skip to content

Latest commit

 

History

History
27 lines (16 loc) · 2.08 KB

File metadata and controls

27 lines (16 loc) · 2.08 KB

Milvus / AiSAQ scale path

LC-0 VIC’s default L1 store is LanceDB (vic_chunks under VIC_DB_PATH). For a second backend, VIC_VECTOR_BACKEND=milvus with pip install -e ".[milvus]" writes Milvus Lite (embedded local file, same MilvusClient API as standalone Milvus). index_meta.json records vector_backend, milvus_uri, and milvus_collection; the tiered pipeline calls milvus_store.search_milvus_rows instead of Lance.

Milvus Lite (implemented)

  1. Set VIC_VECTOR_BACKEND=milvus and install pymilvus via the [milvus] extra.
  2. Run vic index --full (or bridge POST /v1/index/start with full: true). Default DB file: <VIC_DB_PATH>/milvus_lite.db (override with VIC_MILVUS_URI / VIC_MILVUS_COLLECTION).
  3. vic ask / POST /v1/ask use the same Ollama embedding model as stored in metadata.

Operational notes: Milvus Lite is suitable for host-side demos and moderate corpora; see upstream limits (e.g. FLAT-style indexing). For distributed Milvus or AiSAQ-on-flash, point VIC_MILVUS_URI at your server URI and keep the same collection schema expectations (path, text, vector, scalar fields used in ingest).

Why AiSAQ still matters

For very large corpora or flash-resident ANN deployments, Milvus with an AiSAQ-style index remains a documented industry pattern (see docs/KIOXIA_ECOSYSTEM.md). Host-side Lite does not replace that story; it proves the adapter path in code.

Contract

The abstract VectorIndexBackend in src/lc0_vic/index/protocol.py describes the operational shape (search-by-embedding, chunk counts). Lance is the reference implementation today; Milvus Lite follows the same row semantics consumed by controller/pipeline.py.

References

When changing connection or schema defaults, update docs/API.md and docs/ARCHITECTURE.md.