mirror of
https://github.com/langgenius/dify.git
synced 2026-09-28 14:23:33 +08:00
fix(rag): cap QA indexing preview results (#42205)
This commit is contained in:
@@ -400,7 +400,8 @@ class IndexingRunner:
|
||||
)
|
||||
total_segments += len(documents)
|
||||
for document in documents:
|
||||
if len(preview_texts) < 10:
|
||||
preview_count = len(qa_preview_texts) if doc_form == "qa_model" else len(preview_texts)
|
||||
if preview_count < 10:
|
||||
if doc_form and doc_form == "qa_model":
|
||||
qa_detail = QAPreviewDetail(
|
||||
question=document.page_content, answer=document.metadata.get("answer") or ""
|
||||
|
||||
@@ -1796,6 +1796,36 @@ class TestIndexingRunnerEstimate:
|
||||
session=mock_dependencies["session"],
|
||||
)
|
||||
|
||||
def test_indexing_estimate_limits_qa_preview(self, mock_dependencies, config_overrides):
|
||||
"""Test indexing estimate returns no more than ten QA preview items."""
|
||||
config_overrides(DEPLOYMENT_EDITION=DeploymentEdition.COMMUNITY)
|
||||
runner = IndexingRunner()
|
||||
mock_processor = MagicMock()
|
||||
mock_dependencies["factory"].return_value.init_index_processor.return_value = mock_processor
|
||||
|
||||
qa_documents = [
|
||||
Document(
|
||||
page_content=f"Question {index}",
|
||||
metadata={"answer": f"Answer {index}"},
|
||||
)
|
||||
for index in range(11)
|
||||
]
|
||||
mock_processor.extract.return_value = [Document(page_content="Source content")]
|
||||
mock_processor.transform.return_value = qa_documents
|
||||
|
||||
result = runner.indexing_estimate(
|
||||
tenant_id=str(uuid.uuid4()),
|
||||
extract_settings=[MagicMock()],
|
||||
tmp_processing_rule=create_mock_process_rule(),
|
||||
doc_form=IndexStructureType.QA_INDEX,
|
||||
session=mock_dependencies["session"],
|
||||
)
|
||||
|
||||
assert result.total_segments == 220
|
||||
assert result.qa_preview is not None
|
||||
assert len(result.qa_preview) == 10
|
||||
assert result.qa_preview[-1].question == "Question 9"
|
||||
|
||||
def test_indexing_estimate_commits_preview_cleanup_before_summary_workers(
|
||||
self, mock_dependencies, config_overrides
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user