| @@ -109,7 +109,11 @@ class DatasetRetrieverTool(BaseTool): | |||
| ).all() | |||
| if segments: | |||
| for segment in segments: | |||
| index_node_id_to_position = {id: position for position, id in enumerate(index_node_ids)} | |||
| sorted_segments = sorted(segments, | |||
| key=lambda segment: index_node_id_to_position.get(segment.index_node_id, | |||
| float('inf'))) | |||
| for segment in sorted_segments: | |||
| if segment.answer: | |||
| document_context_list.append(f'question:{segment.content} \nanswer:{segment.answer}') | |||
| else: | |||