lllin000_PaperForge/paperforge/embedding
LLLin000 d24c78c5dc feat(#27 #28 #29 #30 #32): migrate write/read/status/build_state from ChromaDB to sqlite-vec
#27: write_encoded_payload and delete_paper_vectors use sqlite-vec
  - builder.py: writes to vec0 tables + companion meta tables
  - _chroma.py: delete_paper_vectors deletes from vec0 + meta by paper_id
  - Stores body_units_hash, object_units_hash, retrieval_policy_version in meta tables

#28: merge_retrieve and retrieve_chunks use vec0 k-NN search
  - search.py: vec0 k-NN queries with companion meta JOINs
  - Same dedup/per-paper-cap logic, same result shapes

#29: build_state migrated from JSON file to SQLite build_state table

#30: E2E embed+retrieve test with sqlite-vec + FixedProvider
  - 3 tests: body roundtrip, source correctness, per-paper cap

#32: E2E OCR pipeline test with fixture PDFs

Additional changes:
- schema.py: bump to v6, add hash/policy columns to vec companion meta tables
- embed.py: _assert_collections_healthy uses sqlite-vec; resume hash checks read from meta tables
- status.py: chunk counts from SQL COUNT on companion tables
- Removed unused get_collection/embed_paper imports from embed.py
- All tests updated: 76 pass (was 72, +4 new E2E tests, +4 for migration)
- FixedFixedProvider to generate 1536-dim vectors (matching vec0 schema)
- Fixed health check tests for sqlite-vec path
2026-07-09 17:52:45 +08:00
..
backends feat: add LanceDB evaluation backend scaffold 2026-07-05 14:19:37 +08:00
providers feat(#31): OpenAICompatibleProvider uses openai SDK with requests fallback 2026-07-09 17:15:19 +08:00
__init__.py feat: PR 8 — Object Vector Retrieval (paperforge_objects collection) 2026-07-06 19:58:46 +08:00
_chroma.py feat(#27 #28 #29 #30 #32): migrate write/read/status/build_state from ChromaDB to sqlite-vec 2026-07-09 17:52:45 +08:00
_config.py feat(#31): OpenAICompatibleProvider uses openai SDK with requests fallback 2026-07-09 17:15:19 +08:00
build_state.py feat(#27 #28 #29 #30 #32): migrate write/read/status/build_state from ChromaDB to sqlite-vec 2026-07-09 17:52:45 +08:00
builder.py feat(#27 #28 #29 #30 #32): migrate write/read/status/build_state from ChromaDB to sqlite-vec 2026-07-09 17:52:45 +08:00
preflight.py feat(embedding): add API-only preflight check 2026-05-18 17:18:04 +08:00
search.py feat(#27 #28 #29 #30 #32): migrate write/read/status/build_state from ChromaDB to sqlite-vec 2026-07-09 17:52:45 +08:00
status.py feat(#27 #28 #29 #30 #32): migrate write/read/status/build_state from ChromaDB to sqlite-vec 2026-07-09 17:52:45 +08:00