fix(chunks): set position on remaining chunk insert paths

document_converters, the github size-fallback chunker, revert_service
restores, and the kb-persistence middleware now write explicit positions
(the middleware read path also orders by position).
This commit is contained in:
CREDO23 2026-06-12 18:53:08 +02:00
parent 7d55aaf2c1
commit 5a71769dba
4 changed files with 43 additions and 12 deletions

View file

@ -238,9 +238,14 @@ async def _restore_in_place_document(
chunk_embeddings = await asyncio.to_thread(embed_texts, chunk_texts)
session.add_all(
[
Chunk(document_id=doc.id, content=text, embedding=embedding)
for text, embedding in zip(
chunk_texts, chunk_embeddings, strict=True
Chunk(
document_id=doc.id,
content=text,
embedding=embedding,
position=i,
)
for i, (text, embedding) in enumerate(
zip(chunk_texts, chunk_embeddings, strict=True)
)
]
)
@ -336,8 +341,15 @@ async def _reinsert_document_from_revision(
chunk_embeddings = await asyncio.to_thread(embed_texts, chunk_texts)
session.add_all(
[
Chunk(document_id=new_doc.id, content=text, embedding=embedding)
for text, embedding in zip(chunk_texts, chunk_embeddings, strict=True)
Chunk(
document_id=new_doc.id,
content=text,
embedding=embedding,
position=i,
)
for i, (text, embedding) in enumerate(
zip(chunk_texts, chunk_embeddings, strict=True)
)
]
)