botrun-flow-lang 5.12.263__py3-none-any.whl → 6.2.21__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. botrun_flow_lang/api/auth_api.py +39 -39
  2. botrun_flow_lang/api/auth_utils.py +183 -183
  3. botrun_flow_lang/api/botrun_back_api.py +65 -65
  4. botrun_flow_lang/api/flow_api.py +3 -3
  5. botrun_flow_lang/api/hatch_api.py +508 -508
  6. botrun_flow_lang/api/langgraph_api.py +816 -811
  7. botrun_flow_lang/api/langgraph_constants.py +11 -0
  8. botrun_flow_lang/api/line_bot_api.py +1484 -1484
  9. botrun_flow_lang/api/model_api.py +300 -300
  10. botrun_flow_lang/api/rate_limit_api.py +32 -32
  11. botrun_flow_lang/api/routes.py +79 -79
  12. botrun_flow_lang/api/search_api.py +53 -53
  13. botrun_flow_lang/api/storage_api.py +395 -395
  14. botrun_flow_lang/api/subsidy_api.py +290 -290
  15. botrun_flow_lang/api/subsidy_api_system_prompt.txt +109 -109
  16. botrun_flow_lang/api/user_setting_api.py +70 -70
  17. botrun_flow_lang/api/version_api.py +31 -31
  18. botrun_flow_lang/api/youtube_api.py +26 -26
  19. botrun_flow_lang/constants.py +13 -13
  20. botrun_flow_lang/langgraph_agents/agents/agent_runner.py +178 -178
  21. botrun_flow_lang/langgraph_agents/agents/agent_tools/step_planner.py +77 -77
  22. botrun_flow_lang/langgraph_agents/agents/checkpointer/firestore_checkpointer.py +666 -666
  23. botrun_flow_lang/langgraph_agents/agents/gov_researcher/GOV_RESEARCHER_PRD.md +192 -192
  24. botrun_flow_lang/langgraph_agents/agents/gov_researcher/gemini_subsidy_graph.py +460 -460
  25. botrun_flow_lang/langgraph_agents/agents/gov_researcher/gov_researcher_2_graph.py +1002 -1002
  26. botrun_flow_lang/langgraph_agents/agents/gov_researcher/gov_researcher_graph.py +822 -822
  27. botrun_flow_lang/langgraph_agents/agents/langgraph_react_agent.py +730 -723
  28. botrun_flow_lang/langgraph_agents/agents/search_agent_graph.py +864 -864
  29. botrun_flow_lang/langgraph_agents/agents/tools/__init__.py +4 -4
  30. botrun_flow_lang/langgraph_agents/agents/tools/gemini_code_execution.py +376 -376
  31. botrun_flow_lang/langgraph_agents/agents/util/gemini_grounding.py +66 -66
  32. botrun_flow_lang/langgraph_agents/agents/util/html_util.py +316 -316
  33. botrun_flow_lang/langgraph_agents/agents/util/img_util.py +336 -294
  34. botrun_flow_lang/langgraph_agents/agents/util/local_files.py +419 -419
  35. botrun_flow_lang/langgraph_agents/agents/util/mermaid_util.py +86 -86
  36. botrun_flow_lang/langgraph_agents/agents/util/model_utils.py +143 -143
  37. botrun_flow_lang/langgraph_agents/agents/util/pdf_analyzer.py +562 -486
  38. botrun_flow_lang/langgraph_agents/agents/util/pdf_cache.py +250 -250
  39. botrun_flow_lang/langgraph_agents/agents/util/pdf_processor.py +204 -204
  40. botrun_flow_lang/langgraph_agents/agents/util/perplexity_search.py +464 -464
  41. botrun_flow_lang/langgraph_agents/agents/util/plotly_util.py +59 -59
  42. botrun_flow_lang/langgraph_agents/agents/util/tavily_search.py +199 -199
  43. botrun_flow_lang/langgraph_agents/agents/util/usage_metadata.py +34 -0
  44. botrun_flow_lang/langgraph_agents/agents/util/youtube_util.py +90 -90
  45. botrun_flow_lang/langgraph_agents/cache/langgraph_botrun_cache.py +197 -197
  46. botrun_flow_lang/llm_agent/llm_agent.py +19 -19
  47. botrun_flow_lang/llm_agent/llm_agent_util.py +83 -83
  48. botrun_flow_lang/log/.gitignore +2 -2
  49. botrun_flow_lang/main.py +61 -61
  50. botrun_flow_lang/main_fast.py +51 -51
  51. botrun_flow_lang/mcp_server/__init__.py +10 -10
  52. botrun_flow_lang/mcp_server/default_mcp.py +854 -744
  53. botrun_flow_lang/models/nodes/utils.py +205 -205
  54. botrun_flow_lang/models/token_usage.py +34 -34
  55. botrun_flow_lang/requirements.txt +21 -21
  56. botrun_flow_lang/services/base/firestore_base.py +30 -30
  57. botrun_flow_lang/services/hatch/hatch_factory.py +11 -11
  58. botrun_flow_lang/services/hatch/hatch_fs_store.py +419 -419
  59. botrun_flow_lang/services/storage/storage_cs_store.py +206 -206
  60. botrun_flow_lang/services/storage/storage_factory.py +12 -12
  61. botrun_flow_lang/services/storage/storage_store.py +65 -65
  62. botrun_flow_lang/services/user_setting/user_setting_factory.py +9 -9
  63. botrun_flow_lang/services/user_setting/user_setting_fs_store.py +66 -66
  64. botrun_flow_lang/static/docs/tools/index.html +926 -926
  65. botrun_flow_lang/tests/api_functional_tests.py +1525 -1525
  66. botrun_flow_lang/tests/api_stress_test.py +357 -357
  67. botrun_flow_lang/tests/shared_hatch_tests.py +333 -333
  68. botrun_flow_lang/tests/test_botrun_app.py +46 -46
  69. botrun_flow_lang/tests/test_html_util.py +31 -31
  70. botrun_flow_lang/tests/test_img_analyzer.py +190 -190
  71. botrun_flow_lang/tests/test_img_util.py +39 -39
  72. botrun_flow_lang/tests/test_local_files.py +114 -114
  73. botrun_flow_lang/tests/test_mermaid_util.py +103 -103
  74. botrun_flow_lang/tests/test_pdf_analyzer.py +104 -104
  75. botrun_flow_lang/tests/test_plotly_util.py +151 -151
  76. botrun_flow_lang/tests/test_run_workflow_engine.py +65 -65
  77. botrun_flow_lang/tools/generate_docs.py +133 -133
  78. botrun_flow_lang/tools/templates/tools.html +153 -153
  79. botrun_flow_lang/utils/__init__.py +7 -7
  80. botrun_flow_lang/utils/botrun_logger.py +344 -344
  81. botrun_flow_lang/utils/clients/rate_limit_client.py +209 -209
  82. botrun_flow_lang/utils/clients/token_verify_client.py +153 -153
  83. botrun_flow_lang/utils/google_drive_utils.py +654 -654
  84. botrun_flow_lang/utils/langchain_utils.py +324 -324
  85. botrun_flow_lang/utils/yaml_utils.py +9 -9
  86. {botrun_flow_lang-5.12.263.dist-info → botrun_flow_lang-6.2.21.dist-info}/METADATA +6 -6
  87. botrun_flow_lang-6.2.21.dist-info/RECORD +104 -0
  88. botrun_flow_lang-5.12.263.dist-info/RECORD +0 -102
  89. {botrun_flow_lang-5.12.263.dist-info → botrun_flow_lang-6.2.21.dist-info}/WHEEL +0 -0
@@ -1,192 +1,192 @@
1
- # 政府研究員助手 LangGraph Agent 產品需求文件 (PRD)
2
-
3
- ## 1. 產品概述
4
-
5
- ### 1.1 產品名稱
6
- Government Researcher Agent (政府研究員助手)
7
-
8
- ### 1.2 產品描述
9
- 一個基於 LangGraph 框架的智能助手,專門協助民眾研究與詢問政府相關問題。透過多階段的分析、搜尋、推理和驗證流程,提供準確、可信賴的政府資訊查詢服務。
10
-
11
- ### 1.3 目標用戶
12
- - 需要查詢政府政策、法規、程序的一般民眾
13
- - 需要研究政府資訊的學者和研究人員
14
- - 需要了解政府服務流程的企業用戶
15
-
16
- ### 1.4 核心價值
17
- - 透過 LangGraph 的狀態管理確保多步驟推理的連貫性
18
- - 利用循環圖結構實現自我驗證和錯誤修正
19
- - 提供可配置的模型和提示詞以適應不同需求
20
-
21
- ## 2. 技術架構
22
-
23
- ### 2.1 LangGraph 架構設計
24
-
25
- 本系統採用 LangGraph 的圖形工作流架構,包含以下核心概念:
26
-
27
- **節點 (Nodes)**: 每個處理步驟對應一個節點,負責特定的計算任務
28
- **邊 (Edges)**: 定義節點間的流轉邏輯,支持條件分支
29
- **狀態 (State)**: 在所有節點間共享的持久化狀態,確保上下文連貫性
30
-
31
- ### 2.2 工作流圖結構
32
-
33
- ```
34
- 用戶輸入 → TopicDecompositionNode → ParallelSearchNode → ReasoningAnalysisNode
35
- → ComputationVerificationNode (條件性) → HallucinationVerificationNode → SummaryResponseNode → 輸出結果
36
- ```
37
-
38
- ## 3. 功能需求
39
-
40
- ### 3.1 核心工作流節點
41
-
42
- #### 3.1.1 Step-001: 題目拆解節點 (TopicDecompositionNode)
43
-
44
- **節點功能:**
45
- - 智能分析用戶提問的複雜度
46
- - 單純問題:轉化為更細緻的單一子題目
47
- - 複雜問題:拆解為多個子題目以確保回答的準確性
48
-
49
- **輸入:** 用戶原始問題 + General Guide
50
- **輸出:** 結構化的子題目列表
51
- **狀態更新:** 將子題目列表存入共享狀態
52
-
53
- **可配置項目:**
54
- - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-pro)
55
- - 自定義提示詞模板
56
-
57
- #### 3.1.2 Step-002: 平行搜尋節點 (ParallelSearchNode)
58
-
59
- **節點功能:**
60
- - 分析常見搜尋錯誤策略 vs 精準搜尋策略
61
- - 對所有子題目進行平行網路搜尋
62
- - 完整保留原始引用文字,不得篡改
63
- - 清楚標示網路來源資料
64
-
65
- **輸入:** 子題目列表 (從狀態中讀取)
66
- **輸出:** 每個子題目的搜尋結果和來源
67
- **狀態更新:** 將搜尋結果存入共享狀態
68
-
69
- **可配置項目:**
70
- - 搜尋引擎選擇: "perplexity_sonar" | "tavily" (預設: perplexity_sonar)
71
- - 最大並行搜尋數量 (預設: 5)
72
- - 搜尋專用提示詞模板
73
-
74
- **技術限制:** 此節點不使用 LLM 模型,僅調用搜尋 API
75
-
76
- #### 3.1.3 Step-003: 推理分析節點 (ReasoningAnalysisNode)
77
-
78
- **節點功能:**
79
- - 基於搜尋結果和內建知識進行推理
80
- - 分析常見錯誤後進行縝密推理
81
- - 逐一回答所有子題目
82
-
83
- **輸入:** 搜尋結果和子題目 (從狀態中讀取)
84
- **輸出:** 每個子題目的推理結果
85
- **狀態更新:** 將推理結果存入共享狀態
86
-
87
- **可配置項目:**
88
- - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-flash)
89
- - 自定義推理提示詞模板
90
-
91
- #### 3.1.4 Step-004: 計算驗證節點 (ComputationVerificationNode)
92
-
93
- **節點功能:**
94
- - 針對需要計算的題目進行獨立驗算
95
- - 使用 Gemini 2.5 Flash/Pro 搭配 Code Execution 功能
96
- - 基於搜尋到的計算方式設計驗證程序
97
- - 非計算題目則跳過此步驟 (條件邊)
98
-
99
- **輸入:** 推理結果 (從狀態中讀取)
100
- **輸出:** 計算驗證結果
101
- **狀態更新:** 將計算結果存入共享狀態
102
-
103
- **可配置項目:**
104
- - 模型選擇: "gemini-2.5-flash" | "gemini-2.5-pro" (預設: gemini-2.5-flash)
105
- - 計算驗證專用提示詞模板
106
-
107
- **技術限制:** 僅支援 Gemini 2.5 系列,必須啟用 Code Execution
108
-
109
- #### 3.1.5 Step-005: 幻覺驗證節點 (HallucinationVerificationNode)
110
-
111
- **節點功能:**
112
- - 以獨立審查者角度檢視前述步驟
113
- - 假設前面結果有高機率的錯誤
114
- - 識別可能的AI幻覺位置
115
- - 透過延伸搜尋證明或反駁前面的結論
116
-
117
- **輸入:** 前面所有步驟的結果 (從狀態中讀取)
118
- **輸出:** 幻覺檢驗報告和修正建議
119
- **狀態更新:** 將驗證結果存入共享狀態
120
-
121
- **可配置項目:**
122
- - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-flash)
123
- - 搜尋引擎選擇: "perplexity_sonar" | "tavily" (預設: perplexity_sonar)
124
- - 幻覺驗證專用提示詞模板
125
-
126
- #### 3.1.6 Step-006: 匯總回答節點 (SummaryResponseNode)
127
-
128
- **節點功能:**
129
- - 提供「精準回答」:簡潔的結論
130
- - 提供「詳實回答」:完整的推理過程和引證
131
- - 使用適當的 emoji 輔助閱讀
132
- - 根據目標受眾調整語氣和格式
133
-
134
- **輸入:** 所有步驟的處理結果 (從狀態中讀取)
135
- **輸出:** 格式化的最終回答
136
- **狀態更新:** 產生最終回答
137
-
138
- **可配置項目:**
139
- - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-flash)
140
- - 回答格式模板
141
- - 目標受眾設定
142
-
143
- ### 3.2 回應個性設定 (General Guide)
144
-
145
- **預設 General Guide:**
146
- ```
147
- <General Guide>
148
- 妳回應時會採用臺灣繁體中文,並且避免中國大陸用語
149
- 妳絕對不會使用 markdown 語法回應
150
- 但是你絕對不會使用 ** 或者 ### ,各種類型的 markdown 語法都禁止使用
151
- 如果要比較美觀排版的話,妳可以搭配使用 emoji or 純文字 or 斷行 or 空白 來展示你想講的
152
- 每一個 step 的前面增添適當斷行
153
- 每個分段的標題「前面」要增添適當 emoji (這個 emoji 挑選必須跟動態情境吻合)
154
- </General Guide>
155
- ```
156
-
157
- **配置特性:**
158
- - 使用者可完全自定義 General Guide 內容
159
- - 所有節點都會遵循 General Guide 的指導原則
160
- - 可在執行時動態覆蓋預設值
161
-
162
- ## 4. 狀態管理
163
-
164
- LangGraph 的狀態管理機制確保各節點間能共享資訊:
165
-
166
- ### 4.1 狀態流轉
167
-
168
- 1. **初始化**: 接收用戶問題和配置
169
- 2. **題目拆解**: 更新 decomposed_topics
170
- 3. **平行搜尋**: 更新 search_results
171
- 4. **推理分析**: 更新 reasoning_results
172
- 5. **計算驗證**: 條件性更新 computation_results
173
- 6. **幻覺驗證**: 更新 hallucination_check
174
- 7. **匯總回答**: 更新 final_answer
175
-
176
- ## 5. 配置需求
177
-
178
- ### 5.1 全局配置
179
-
180
- 支援配置項目:
181
- - General Guide (可自定義,有預設值)
182
- - 預設搜尋引擎選擇
183
- - 語言設定
184
- - 執行時間限制
185
-
186
- ### 5.2 節點級配置
187
-
188
- 每個節點支援以下配置:
189
- - 模型選擇 (各節點有預設值)
190
- - 自定義提示詞模板
191
- - 節點特定參數 (如搜尋數量限制等)
192
-
1
+ # 政府研究員助手 LangGraph Agent 產品需求文件 (PRD)
2
+
3
+ ## 1. 產品概述
4
+
5
+ ### 1.1 產品名稱
6
+ Government Researcher Agent (政府研究員助手)
7
+
8
+ ### 1.2 產品描述
9
+ 一個基於 LangGraph 框架的智能助手,專門協助民眾研究與詢問政府相關問題。透過多階段的分析、搜尋、推理和驗證流程,提供準確、可信賴的政府資訊查詢服務。
10
+
11
+ ### 1.3 目標用戶
12
+ - 需要查詢政府政策、法規、程序的一般民眾
13
+ - 需要研究政府資訊的學者和研究人員
14
+ - 需要了解政府服務流程的企業用戶
15
+
16
+ ### 1.4 核心價值
17
+ - 透過 LangGraph 的狀態管理確保多步驟推理的連貫性
18
+ - 利用循環圖結構實現自我驗證和錯誤修正
19
+ - 提供可配置的模型和提示詞以適應不同需求
20
+
21
+ ## 2. 技術架構
22
+
23
+ ### 2.1 LangGraph 架構設計
24
+
25
+ 本系統採用 LangGraph 的圖形工作流架構,包含以下核心概念:
26
+
27
+ **節點 (Nodes)**: 每個處理步驟對應一個節點,負責特定的計算任務
28
+ **邊 (Edges)**: 定義節點間的流轉邏輯,支持條件分支
29
+ **狀態 (State)**: 在所有節點間共享的持久化狀態,確保上下文連貫性
30
+
31
+ ### 2.2 工作流圖結構
32
+
33
+ ```
34
+ 用戶輸入 → TopicDecompositionNode → ParallelSearchNode → ReasoningAnalysisNode
35
+ → ComputationVerificationNode (條件性) → HallucinationVerificationNode → SummaryResponseNode → 輸出結果
36
+ ```
37
+
38
+ ## 3. 功能需求
39
+
40
+ ### 3.1 核心工作流節點
41
+
42
+ #### 3.1.1 Step-001: 題目拆解節點 (TopicDecompositionNode)
43
+
44
+ **節點功能:**
45
+ - 智能分析用戶提問的複雜度
46
+ - 單純問題:轉化為更細緻的單一子題目
47
+ - 複雜問題:拆解為多個子題目以確保回答的準確性
48
+
49
+ **輸入:** 用戶原始問題 + General Guide
50
+ **輸出:** 結構化的子題目列表
51
+ **狀態更新:** 將子題目列表存入共享狀態
52
+
53
+ **可配置項目:**
54
+ - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-pro)
55
+ - 自定義提示詞模板
56
+
57
+ #### 3.1.2 Step-002: 平行搜尋節點 (ParallelSearchNode)
58
+
59
+ **節點功能:**
60
+ - 分析常見搜尋錯誤策略 vs 精準搜尋策略
61
+ - 對所有子題目進行平行網路搜尋
62
+ - 完整保留原始引用文字,不得篡改
63
+ - 清楚標示網路來源資料
64
+
65
+ **輸入:** 子題目列表 (從狀態中讀取)
66
+ **輸出:** 每個子題目的搜尋結果和來源
67
+ **狀態更新:** 將搜尋結果存入共享狀態
68
+
69
+ **可配置項目:**
70
+ - 搜尋引擎選擇: "perplexity_sonar" | "tavily" (預設: perplexity_sonar)
71
+ - 最大並行搜尋數量 (預設: 5)
72
+ - 搜尋專用提示詞模板
73
+
74
+ **技術限制:** 此節點不使用 LLM 模型,僅調用搜尋 API
75
+
76
+ #### 3.1.3 Step-003: 推理分析節點 (ReasoningAnalysisNode)
77
+
78
+ **節點功能:**
79
+ - 基於搜尋結果和內建知識進行推理
80
+ - 分析常見錯誤後進行縝密推理
81
+ - 逐一回答所有子題目
82
+
83
+ **輸入:** 搜尋結果和子題目 (從狀態中讀取)
84
+ **輸出:** 每個子題目的推理結果
85
+ **狀態更新:** 將推理結果存入共享狀態
86
+
87
+ **可配置項目:**
88
+ - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-flash)
89
+ - 自定義推理提示詞模板
90
+
91
+ #### 3.1.4 Step-004: 計算驗證節點 (ComputationVerificationNode)
92
+
93
+ **節點功能:**
94
+ - 針對需要計算的題目進行獨立驗算
95
+ - 使用 Gemini 2.5 Flash/Pro 搭配 Code Execution 功能
96
+ - 基於搜尋到的計算方式設計驗證程序
97
+ - 非計算題目則跳過此步驟 (條件邊)
98
+
99
+ **輸入:** 推理結果 (從狀態中讀取)
100
+ **輸出:** 計算驗證結果
101
+ **狀態更新:** 將計算結果存入共享狀態
102
+
103
+ **可配置項目:**
104
+ - 模型選擇: "gemini-2.5-flash" | "gemini-2.5-pro" (預設: gemini-2.5-flash)
105
+ - 計算驗證專用提示詞模板
106
+
107
+ **技術限制:** 僅支援 Gemini 2.5 系列,必須啟用 Code Execution
108
+
109
+ #### 3.1.5 Step-005: 幻覺驗證節點 (HallucinationVerificationNode)
110
+
111
+ **節點功能:**
112
+ - 以獨立審查者角度檢視前述步驟
113
+ - 假設前面結果有高機率的錯誤
114
+ - 識別可能的AI幻覺位置
115
+ - 透過延伸搜尋證明或反駁前面的結論
116
+
117
+ **輸入:** 前面所有步驟的結果 (從狀態中讀取)
118
+ **輸出:** 幻覺檢驗報告和修正建議
119
+ **狀態更新:** 將驗證結果存入共享狀態
120
+
121
+ **可配置項目:**
122
+ - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-flash)
123
+ - 搜尋引擎選擇: "perplexity_sonar" | "tavily" (預設: perplexity_sonar)
124
+ - 幻覺驗證專用提示詞模板
125
+
126
+ #### 3.1.6 Step-006: 匯總回答節點 (SummaryResponseNode)
127
+
128
+ **節點功能:**
129
+ - 提供「精準回答」:簡潔的結論
130
+ - 提供「詳實回答」:完整的推理過程和引證
131
+ - 使用適當的 emoji 輔助閱讀
132
+ - 根據目標受眾調整語氣和格式
133
+
134
+ **輸入:** 所有步驟的處理結果 (從狀態中讀取)
135
+ **輸出:** 格式化的最終回答
136
+ **狀態更新:** 產生最終回答
137
+
138
+ **可配置項目:**
139
+ - 模型選擇: 支援 Claude、GPT、Gemini 等 (預設: gemini-2.5-flash)
140
+ - 回答格式模板
141
+ - 目標受眾設定
142
+
143
+ ### 3.2 回應個性設定 (General Guide)
144
+
145
+ **預設 General Guide:**
146
+ ```
147
+ <General Guide>
148
+ 妳回應時會採用臺灣繁體中文,並且避免中國大陸用語
149
+ 妳絕對不會使用 markdown 語法回應
150
+ 但是你絕對不會使用 ** 或者 ### ,各種類型的 markdown 語法都禁止使用
151
+ 如果要比較美觀排版的話,妳可以搭配使用 emoji or 純文字 or 斷行 or 空白 來展示你想講的
152
+ 每一個 step 的前面增添適當斷行
153
+ 每個分段的標題「前面」要增添適當 emoji (這個 emoji 挑選必須跟動態情境吻合)
154
+ </General Guide>
155
+ ```
156
+
157
+ **配置特性:**
158
+ - 使用者可完全自定義 General Guide 內容
159
+ - 所有節點都會遵循 General Guide 的指導原則
160
+ - 可在執行時動態覆蓋預設值
161
+
162
+ ## 4. 狀態管理
163
+
164
+ LangGraph 的狀態管理機制確保各節點間能共享資訊:
165
+
166
+ ### 4.1 狀態流轉
167
+
168
+ 1. **初始化**: 接收用戶問題和配置
169
+ 2. **題目拆解**: 更新 decomposed_topics
170
+ 3. **平行搜尋**: 更新 search_results
171
+ 4. **推理分析**: 更新 reasoning_results
172
+ 5. **計算驗證**: 條件性更新 computation_results
173
+ 6. **幻覺驗證**: 更新 hallucination_check
174
+ 7. **匯總回答**: 更新 final_answer
175
+
176
+ ## 5. 配置需求
177
+
178
+ ### 5.1 全局配置
179
+
180
+ 支援配置項目:
181
+ - General Guide (可自定義,有預設值)
182
+ - 預設搜尋引擎選擇
183
+ - 語言設定
184
+ - 執行時間限制
185
+
186
+ ### 5.2 節點級配置
187
+
188
+ 每個節點支援以下配置:
189
+ - 模型選擇 (各節點有預設值)
190
+ - 自定義提示詞模板
191
+ - 節點特定參數 (如搜尋數量限制等)
192
+