mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-03 06:12:14 +08:00
feat: Add intelligent clarification feature in coordinate step for research queries (#613)
* fix: support local models by making thought field optional in Plan model - Make thought field optional in Plan model to fix Pydantic validation errors with local models - Add Ollama configuration example to conf.yaml.example - Update documentation to include local model support - Improve planner prompt with better JSON format requirements Fixes local model integration issues where models like qwen3:14b would fail due to missing thought field in JSON output. * feat: Add intelligent clarification feature for research queries - Add multi-turn clarification process to refine vague research questions - Implement three-dimension clarification standard (Tech/App, Focus, Scope) - Add clarification state management in coordinator node - Update coordinator prompt with detailed clarification guidelines - Add UI settings to enable/disable clarification feature (disabled by default) - Update workflow to handle clarification rounds recursively - Add comprehensive test coverage for clarification functionality - Update documentation with clarification feature usage guide Key components: - src/graph/nodes.py: Core clarification logic and state management - src/prompts/coordinator.md: Detailed clarification guidelines - src/workflow.py: Recursive clarification handling - web/: UI settings integration - tests/: Comprehensive test coverage - docs/: Updated configuration guide * fix: Improve clarification conversation continuity - Add comprehensive conversation history to clarification context - Include previous exchanges summary in system messages - Add explicit guidelines for continuing rounds in coordinator prompt - Prevent LLM from starting new topics during clarification - Ensure topic continuity across clarification rounds Fixes issue where LLM would restart clarification instead of building upon previous exchanges. * fix: Add conversation history to clarification context * fix: resolve clarification feature message to planer, prompt, test issues - Optimize coordinator.md prompt template for better clarification flow - Simplify final message sent to planner after clarification - Fix API key assertion issues in test_search.py * fix: Add configurable max_clarification_rounds and comprehensive tests - Add max_clarification_rounds parameter for external configuration - Add comprehensive test cases for clarification feature in test_app.py - Fixes issues found during interactive mode testing where: - Recursive call failed due to missing initial_state parameter - Clarification exited prematurely at max rounds - Incorrect logging of max rounds reached * Move clarification tests to test_nodes.py and add max_clarification_rounds to zh.json
This commit is contained in:
@@ -288,4 +288,47 @@ MILVUS_EMBEDDING_PROVIDER=openai
|
||||
MILVUS_EMBEDDING_BASE_URL=
|
||||
MILVUS_EMBEDDING_MODEL=
|
||||
MILVUS_EMBEDDING_API_KEY=
|
||||
```
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Multi-Turn Clarification (Optional)
|
||||
|
||||
An optional feature that helps clarify vague research questions through conversation. **Disabled by default.**
|
||||
|
||||
### Enable via Command Line
|
||||
|
||||
```bash
|
||||
# Enable clarification for vague questions
|
||||
uv run main.py "Research AI" --enable-clarification
|
||||
|
||||
# Set custom maximum clarification rounds
|
||||
uv run main.py "Research AI" --enable-clarification --max-clarification-rounds 3
|
||||
|
||||
# Interactive mode with clarification
|
||||
uv run main.py --interactive --enable-clarification --max-clarification-rounds 3
|
||||
```
|
||||
|
||||
### Enable via API
|
||||
|
||||
```json
|
||||
{
|
||||
"messages": [{"role": "user", "content": "Research AI"}],
|
||||
"enable_clarification": true,
|
||||
"max_clarification_rounds": 3
|
||||
}
|
||||
```
|
||||
|
||||
### Enable via UI Settings
|
||||
|
||||
1. Open DeerFlow web interface
|
||||
2. Navigate to **Settings** → **General** tab
|
||||
3. Find **"Enable Clarification"** toggle
|
||||
4. Turn it **ON** to enable multi-turn clarification. Clarification is **disabled** by default. You need to manually enable it through any of the above methods. When clarification is enabled, you'll see **"Max Clarification Rounds"** field appear below the toggle
|
||||
6. Set the maximum number of clarification rounds (default: 3, minimum: 1)
|
||||
7. Click **Save** to apply changes
|
||||
|
||||
**When enabled**, the Coordinator will ask up to the specified number of clarifying questions for vague topics before starting research, improving report relevance and depth. The `max_clarification_rounds` parameter controls how many rounds of clarification are allowed.
|
||||
|
||||
|
||||
**Note**: The `max_clarification_rounds` parameter only takes effect when `enable_clarification` is set to `true`. If clarification is disabled, this parameter is ignored.
|
||||
|
||||
Reference in New Issue
Block a user