Wire the guarded conversational RAG answer layer end-to-end
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
from adapters.qdrant import _source_refs
|
||||
|
||||
|
||||
def test_descriptor_source_ref_comes_from_attachment_not_heading_page():
|
||||
refs = _source_refs({
|
||||
"chunk_kind": "block_descriptor",
|
||||
"heading_physical_page": 208,
|
||||
"source_page_range": [209, 209],
|
||||
"printed_page_range": [210, 210],
|
||||
"attachments": [{
|
||||
"block_id": "p209_t0",
|
||||
"physical_page": 209,
|
||||
"printed_page": 210,
|
||||
"bbox": [49.5, 68.1, 289.4, 789.4],
|
||||
"source_crop": "crops/p209_t0.png",
|
||||
}],
|
||||
})
|
||||
|
||||
assert len(refs) == 1
|
||||
assert refs[0].physical_page == 209
|
||||
assert refs[0].printed_page == 210
|
||||
assert refs[0].block_id == "p209_t0"
|
||||
assert refs[0].bbox == (49.5, 68.1, 289.4, 789.4)
|
||||
assert refs[0].source_crop == "crops/p209_t0.png"
|
||||
assert refs[0].precision == "region"
|
||||
|
||||
|
||||
def test_prose_ref_uses_exact_chunk_range_and_keeps_attachment_region():
|
||||
refs = _source_refs({
|
||||
"chunk_kind": "prose",
|
||||
"heading_physical_page": 100,
|
||||
"source_page_range": [104, 105],
|
||||
"printed_page_range": [105, 106],
|
||||
"attachments": [{
|
||||
"block_id": "p105_t0",
|
||||
"physical_page": 105,
|
||||
"printed_page": 106,
|
||||
"bbox": [1.0, 2.0, 3.0, 4.0],
|
||||
}],
|
||||
})
|
||||
|
||||
assert refs[0].physical_page == 104
|
||||
assert refs[0].page_range == (104, 105)
|
||||
assert refs[0].printed_page_range == (105, 106)
|
||||
assert refs[1].block_id == "p105_t0"
|
||||
assert refs[1].physical_page == 105
|
||||
assert refs[1].printed_page == 106
|
||||
Reference in New Issue
Block a user