This problem can be effectively solved by using the DeepSieve framework. The solution is as follows:
- Query decomposition: Split complex queries into multiple simple sub-problems for accurate processing
- Sub-issue routing: Automatic assignment of appropriate tools or data sources based on data type (e.g., database query or text retrieval)
- Two search modes to choose from: Use Naive mode for simple queries and Graph mode for complex queries.
- Reflection mechanisms: Automatically detects failed searches and retries them (up to two times) to increase the success rate
- log analysis: Check the query_{i}_results.jsonl and overall_results.json files in the outputs/ directory to optimize the retrieval strategy
Implementation steps: install Python environment → configure API key → select suitable RAG mode → set relevant parameters (e.g. -decompose and -use_routing) → run to analyze logs.
This answer comes from the articleDeepSieve: a RAG Intelligent Information Screening Tool for Processing Complex Query SourcesThe