Features
An LLM-based iterative deep search service capable of:
- Decomposing complex questions into multiple sub-queries
- Iteratively searching to collect information from multiple sources
- Evaluating information sufficiency and dynamically adjusting the search strategy
- Comprehensively generating a structured analysis report
Use Cases
- Complex questions requiring multi-perspective analysis
- Needing to synthesize information from multiple sources
- Requiring the generation of a complete research report
How to Call
from services.deepsearch_service.client import DeepSearchClient
client = DeepSearchClient()
Health Check
status = client.health_check()
Deep Search (default parameters)result = client.search("What are the best practices for Python asynchronous programming?")
Custom Parametersresult = client.search( query="How do you design a highly available microservice architecture?", max_iterations=3, # Maximum number of iterations (1-5) queries_per_iteration=3, # Number of queries per round (1-5) depth_level="deep" # Search depth: quick/normal/deep )
Get the Report and Sourcesprint(result["report"]) for source in result["sources"]: print(f"- {source['title']}: {source['url']}")
## 返回格式
```json
{
"query": "Python异步编程的最佳实践有哪些?",
"report": "# Python异步编程最佳实践\n\n## 1. 核心概念...",
"sources": [
{
"title": "Python官方asyncio文档",
"url": "https://docs.python.org/...",
"relevance": 0.95,
"snippet": "asyncio是Python标准库中的异步I/O框架..."
}
],
"iterations": [
{
"iteration": 1,
"queries": ["Python asyncio 教程", "async await 用法"],
"results_count": 6,
"key_findings": ["asyncio是标准库组件"]
}
],
"total_iterations": 2,
"total_sources": 8,
"elapsed_seconds": 45.32,
"search_timestamp": "2025-12-28T18:30:00"
}
Differences from websearch_service
| Feature | WebSearch | DeepSearch |
|---|---|---|
| Search Mode | Single-round search | Iterative multi-round search |
| Query Strategy | Directly use the input | LLM decomposition/optimization |
| Output Format | Structured list | Comprehensive report + sources |
| Response Time | 10-30s | 30-120s |