Skip to content

QVAC-23953 feat[api]: add injected TurboVec RAG support - #4020

Draft
maxim-smotrov wants to merge 1 commit into
mainfrom
QVAC-23953-turbovec-sdk
Draft

QVAC-23953 feat[api]: add injected TurboVec RAG support#4020
maxim-smotrov wants to merge 1 commit into
mainfrom
QVAC-23953-turbovec-sdk

Conversation

@maxim-smotrov

Copy link
Copy Markdown
Contributor

🎯 What problem does this PR solve?

  • RAG cannot use TurboVec without taking a hard runtime dependency on the llama.cpp embedding addon.
  • Native candidate search must remain optional while HyperDB stays the durable source of truth.

📝 How does it solve it?

  • Adds a provider-based TurboVecAdapter with mutation journaling, checkpoint recovery, locking, and HyperDB-backed scoring.
  • Lets the inference embedding plugin expose IdMapIndex through a typed capability that the RAG workspace manager consumes only when QVAC_RAG_TURBOVEC=1.
  • Keeps native addon imports inside the plugin boundary.
  • This architecture-review draft intentionally excludes generated HyperDB outputs and all release metadata.

🧪 How was it tested?

  • @qvac/rag typecheck and lint pass on this feature-only commit.
  • RAG unit tests and the inference suite passed during implementation with the generated schema outputs present.
  • This draft is not merge-ready because those generated outputs are intentionally omitted.

🔌 API Changes

const adapter = new TurboVecAdapter({
  store,
  indexProvider: {
    create: (options) => new IdMapIndex(options),
    load: (snapshotPath) => IdMapIndex.load(snapshotPath)
  }
})

Keep native index ownership in the embedding plugin while RAG manages durable HyperDB state and index recovery.
@github-actions

Copy link
Copy Markdown
Contributor

License compliance — clean

No new dependency license findings in this PR.

Warn-only (shadow) mode — this check does not block merges yet.

Updated automatically by the canonical license compliance workflow.

NOTICE presence (advisory)

Missing NOTICE (advisory, does not block):

  • ./.github/actions/release-merge-guard
  • ./docs/website
  • ./packages/ggml-coload-smoke
  • ./packages/fabric/test/integration
  • ./packages/inference-addon-cpp/mobile
  • ./packages/sdk/e2e
  • ./packages/llm-llamacpp/benchmarks/performance
  • ./packages/llm-llamacpp/benchmarks/server
  • ./packages/vla-ggml/sim/server
  • ./packages/embed-llamacpp/benchmarks/performance
  • ./packages/embed-llamacpp/benchmarks/server
  • ./packages/asr-ggml/benchmarks/server

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant