realtimex-deeptutor 0.5.0.post1__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 (276) hide show
  1. realtimex_deeptutor/__init__.py +67 -0
  2. realtimex_deeptutor-0.5.0.post1.dist-info/METADATA +1612 -0
  3. realtimex_deeptutor-0.5.0.post1.dist-info/RECORD +276 -0
  4. realtimex_deeptutor-0.5.0.post1.dist-info/WHEEL +5 -0
  5. realtimex_deeptutor-0.5.0.post1.dist-info/entry_points.txt +2 -0
  6. realtimex_deeptutor-0.5.0.post1.dist-info/licenses/LICENSE +661 -0
  7. realtimex_deeptutor-0.5.0.post1.dist-info/top_level.txt +2 -0
  8. src/__init__.py +40 -0
  9. src/agents/__init__.py +24 -0
  10. src/agents/base_agent.py +657 -0
  11. src/agents/chat/__init__.py +24 -0
  12. src/agents/chat/chat_agent.py +435 -0
  13. src/agents/chat/prompts/en/chat_agent.yaml +35 -0
  14. src/agents/chat/prompts/zh/chat_agent.yaml +35 -0
  15. src/agents/chat/session_manager.py +311 -0
  16. src/agents/co_writer/__init__.py +0 -0
  17. src/agents/co_writer/edit_agent.py +260 -0
  18. src/agents/co_writer/narrator_agent.py +423 -0
  19. src/agents/co_writer/prompts/en/edit_agent.yaml +113 -0
  20. src/agents/co_writer/prompts/en/narrator_agent.yaml +88 -0
  21. src/agents/co_writer/prompts/zh/edit_agent.yaml +113 -0
  22. src/agents/co_writer/prompts/zh/narrator_agent.yaml +88 -0
  23. src/agents/guide/__init__.py +16 -0
  24. src/agents/guide/agents/__init__.py +11 -0
  25. src/agents/guide/agents/chat_agent.py +104 -0
  26. src/agents/guide/agents/interactive_agent.py +223 -0
  27. src/agents/guide/agents/locate_agent.py +149 -0
  28. src/agents/guide/agents/summary_agent.py +150 -0
  29. src/agents/guide/guide_manager.py +500 -0
  30. src/agents/guide/prompts/en/chat_agent.yaml +41 -0
  31. src/agents/guide/prompts/en/interactive_agent.yaml +202 -0
  32. src/agents/guide/prompts/en/locate_agent.yaml +68 -0
  33. src/agents/guide/prompts/en/summary_agent.yaml +157 -0
  34. src/agents/guide/prompts/zh/chat_agent.yaml +41 -0
  35. src/agents/guide/prompts/zh/interactive_agent.yaml +626 -0
  36. src/agents/guide/prompts/zh/locate_agent.yaml +68 -0
  37. src/agents/guide/prompts/zh/summary_agent.yaml +157 -0
  38. src/agents/ideagen/__init__.py +12 -0
  39. src/agents/ideagen/idea_generation_workflow.py +426 -0
  40. src/agents/ideagen/material_organizer_agent.py +173 -0
  41. src/agents/ideagen/prompts/en/idea_generation.yaml +187 -0
  42. src/agents/ideagen/prompts/en/material_organizer.yaml +69 -0
  43. src/agents/ideagen/prompts/zh/idea_generation.yaml +187 -0
  44. src/agents/ideagen/prompts/zh/material_organizer.yaml +69 -0
  45. src/agents/question/__init__.py +24 -0
  46. src/agents/question/agents/__init__.py +18 -0
  47. src/agents/question/agents/generate_agent.py +381 -0
  48. src/agents/question/agents/relevance_analyzer.py +207 -0
  49. src/agents/question/agents/retrieve_agent.py +239 -0
  50. src/agents/question/coordinator.py +718 -0
  51. src/agents/question/example.py +109 -0
  52. src/agents/question/prompts/en/coordinator.yaml +75 -0
  53. src/agents/question/prompts/en/generate_agent.yaml +77 -0
  54. src/agents/question/prompts/en/relevance_analyzer.yaml +41 -0
  55. src/agents/question/prompts/en/retrieve_agent.yaml +32 -0
  56. src/agents/question/prompts/zh/coordinator.yaml +75 -0
  57. src/agents/question/prompts/zh/generate_agent.yaml +77 -0
  58. src/agents/question/prompts/zh/relevance_analyzer.yaml +39 -0
  59. src/agents/question/prompts/zh/retrieve_agent.yaml +30 -0
  60. src/agents/research/agents/__init__.py +23 -0
  61. src/agents/research/agents/decompose_agent.py +507 -0
  62. src/agents/research/agents/manager_agent.py +228 -0
  63. src/agents/research/agents/note_agent.py +180 -0
  64. src/agents/research/agents/rephrase_agent.py +263 -0
  65. src/agents/research/agents/reporting_agent.py +1333 -0
  66. src/agents/research/agents/research_agent.py +714 -0
  67. src/agents/research/data_structures.py +451 -0
  68. src/agents/research/main.py +188 -0
  69. src/agents/research/prompts/en/decompose_agent.yaml +89 -0
  70. src/agents/research/prompts/en/manager_agent.yaml +24 -0
  71. src/agents/research/prompts/en/note_agent.yaml +121 -0
  72. src/agents/research/prompts/en/rephrase_agent.yaml +58 -0
  73. src/agents/research/prompts/en/reporting_agent.yaml +380 -0
  74. src/agents/research/prompts/en/research_agent.yaml +173 -0
  75. src/agents/research/prompts/zh/decompose_agent.yaml +89 -0
  76. src/agents/research/prompts/zh/manager_agent.yaml +24 -0
  77. src/agents/research/prompts/zh/note_agent.yaml +121 -0
  78. src/agents/research/prompts/zh/rephrase_agent.yaml +58 -0
  79. src/agents/research/prompts/zh/reporting_agent.yaml +380 -0
  80. src/agents/research/prompts/zh/research_agent.yaml +173 -0
  81. src/agents/research/research_pipeline.py +1309 -0
  82. src/agents/research/utils/__init__.py +60 -0
  83. src/agents/research/utils/citation_manager.py +799 -0
  84. src/agents/research/utils/json_utils.py +98 -0
  85. src/agents/research/utils/token_tracker.py +297 -0
  86. src/agents/solve/__init__.py +80 -0
  87. src/agents/solve/analysis_loop/__init__.py +14 -0
  88. src/agents/solve/analysis_loop/investigate_agent.py +414 -0
  89. src/agents/solve/analysis_loop/note_agent.py +190 -0
  90. src/agents/solve/main_solver.py +862 -0
  91. src/agents/solve/memory/__init__.py +34 -0
  92. src/agents/solve/memory/citation_memory.py +353 -0
  93. src/agents/solve/memory/investigate_memory.py +226 -0
  94. src/agents/solve/memory/solve_memory.py +340 -0
  95. src/agents/solve/prompts/en/analysis_loop/investigate_agent.yaml +55 -0
  96. src/agents/solve/prompts/en/analysis_loop/note_agent.yaml +54 -0
  97. src/agents/solve/prompts/en/solve_loop/manager_agent.yaml +67 -0
  98. src/agents/solve/prompts/en/solve_loop/precision_answer_agent.yaml +62 -0
  99. src/agents/solve/prompts/en/solve_loop/response_agent.yaml +90 -0
  100. src/agents/solve/prompts/en/solve_loop/solve_agent.yaml +75 -0
  101. src/agents/solve/prompts/en/solve_loop/tool_agent.yaml +38 -0
  102. src/agents/solve/prompts/zh/analysis_loop/investigate_agent.yaml +53 -0
  103. src/agents/solve/prompts/zh/analysis_loop/note_agent.yaml +54 -0
  104. src/agents/solve/prompts/zh/solve_loop/manager_agent.yaml +66 -0
  105. src/agents/solve/prompts/zh/solve_loop/precision_answer_agent.yaml +62 -0
  106. src/agents/solve/prompts/zh/solve_loop/response_agent.yaml +90 -0
  107. src/agents/solve/prompts/zh/solve_loop/solve_agent.yaml +76 -0
  108. src/agents/solve/prompts/zh/solve_loop/tool_agent.yaml +41 -0
  109. src/agents/solve/solve_loop/__init__.py +22 -0
  110. src/agents/solve/solve_loop/citation_manager.py +74 -0
  111. src/agents/solve/solve_loop/manager_agent.py +274 -0
  112. src/agents/solve/solve_loop/precision_answer_agent.py +96 -0
  113. src/agents/solve/solve_loop/response_agent.py +301 -0
  114. src/agents/solve/solve_loop/solve_agent.py +325 -0
  115. src/agents/solve/solve_loop/tool_agent.py +470 -0
  116. src/agents/solve/utils/__init__.py +64 -0
  117. src/agents/solve/utils/config_validator.py +313 -0
  118. src/agents/solve/utils/display_manager.py +223 -0
  119. src/agents/solve/utils/error_handler.py +363 -0
  120. src/agents/solve/utils/json_utils.py +98 -0
  121. src/agents/solve/utils/performance_monitor.py +407 -0
  122. src/agents/solve/utils/token_tracker.py +541 -0
  123. src/api/__init__.py +0 -0
  124. src/api/main.py +240 -0
  125. src/api/routers/__init__.py +1 -0
  126. src/api/routers/agent_config.py +69 -0
  127. src/api/routers/chat.py +296 -0
  128. src/api/routers/co_writer.py +337 -0
  129. src/api/routers/config.py +627 -0
  130. src/api/routers/dashboard.py +18 -0
  131. src/api/routers/guide.py +337 -0
  132. src/api/routers/ideagen.py +436 -0
  133. src/api/routers/knowledge.py +821 -0
  134. src/api/routers/notebook.py +247 -0
  135. src/api/routers/question.py +537 -0
  136. src/api/routers/research.py +394 -0
  137. src/api/routers/settings.py +164 -0
  138. src/api/routers/solve.py +305 -0
  139. src/api/routers/system.py +252 -0
  140. src/api/run_server.py +61 -0
  141. src/api/utils/history.py +172 -0
  142. src/api/utils/log_interceptor.py +21 -0
  143. src/api/utils/notebook_manager.py +415 -0
  144. src/api/utils/progress_broadcaster.py +72 -0
  145. src/api/utils/task_id_manager.py +100 -0
  146. src/config/__init__.py +0 -0
  147. src/config/accessors.py +18 -0
  148. src/config/constants.py +34 -0
  149. src/config/defaults.py +18 -0
  150. src/config/schema.py +38 -0
  151. src/config/settings.py +50 -0
  152. src/core/errors.py +62 -0
  153. src/knowledge/__init__.py +23 -0
  154. src/knowledge/add_documents.py +606 -0
  155. src/knowledge/config.py +65 -0
  156. src/knowledge/example_add_documents.py +236 -0
  157. src/knowledge/extract_numbered_items.py +1039 -0
  158. src/knowledge/initializer.py +621 -0
  159. src/knowledge/kb.py +22 -0
  160. src/knowledge/manager.py +782 -0
  161. src/knowledge/progress_tracker.py +182 -0
  162. src/knowledge/start_kb.py +535 -0
  163. src/logging/__init__.py +103 -0
  164. src/logging/adapters/__init__.py +17 -0
  165. src/logging/adapters/lightrag.py +184 -0
  166. src/logging/adapters/llamaindex.py +141 -0
  167. src/logging/config.py +80 -0
  168. src/logging/handlers/__init__.py +20 -0
  169. src/logging/handlers/console.py +75 -0
  170. src/logging/handlers/file.py +201 -0
  171. src/logging/handlers/websocket.py +127 -0
  172. src/logging/logger.py +709 -0
  173. src/logging/stats/__init__.py +16 -0
  174. src/logging/stats/llm_stats.py +179 -0
  175. src/services/__init__.py +56 -0
  176. src/services/config/__init__.py +61 -0
  177. src/services/config/knowledge_base_config.py +210 -0
  178. src/services/config/loader.py +260 -0
  179. src/services/config/unified_config.py +603 -0
  180. src/services/embedding/__init__.py +45 -0
  181. src/services/embedding/adapters/__init__.py +22 -0
  182. src/services/embedding/adapters/base.py +106 -0
  183. src/services/embedding/adapters/cohere.py +127 -0
  184. src/services/embedding/adapters/jina.py +99 -0
  185. src/services/embedding/adapters/ollama.py +116 -0
  186. src/services/embedding/adapters/openai_compatible.py +96 -0
  187. src/services/embedding/client.py +159 -0
  188. src/services/embedding/config.py +156 -0
  189. src/services/embedding/provider.py +119 -0
  190. src/services/llm/__init__.py +152 -0
  191. src/services/llm/capabilities.py +313 -0
  192. src/services/llm/client.py +302 -0
  193. src/services/llm/cloud_provider.py +530 -0
  194. src/services/llm/config.py +200 -0
  195. src/services/llm/error_mapping.py +103 -0
  196. src/services/llm/exceptions.py +152 -0
  197. src/services/llm/factory.py +450 -0
  198. src/services/llm/local_provider.py +347 -0
  199. src/services/llm/providers/anthropic.py +95 -0
  200. src/services/llm/providers/base_provider.py +93 -0
  201. src/services/llm/providers/open_ai.py +83 -0
  202. src/services/llm/registry.py +71 -0
  203. src/services/llm/telemetry.py +40 -0
  204. src/services/llm/types.py +27 -0
  205. src/services/llm/utils.py +333 -0
  206. src/services/prompt/__init__.py +25 -0
  207. src/services/prompt/manager.py +206 -0
  208. src/services/rag/__init__.py +64 -0
  209. src/services/rag/components/__init__.py +29 -0
  210. src/services/rag/components/base.py +59 -0
  211. src/services/rag/components/chunkers/__init__.py +18 -0
  212. src/services/rag/components/chunkers/base.py +34 -0
  213. src/services/rag/components/chunkers/fixed.py +71 -0
  214. src/services/rag/components/chunkers/numbered_item.py +94 -0
  215. src/services/rag/components/chunkers/semantic.py +97 -0
  216. src/services/rag/components/embedders/__init__.py +14 -0
  217. src/services/rag/components/embedders/base.py +32 -0
  218. src/services/rag/components/embedders/openai.py +63 -0
  219. src/services/rag/components/indexers/__init__.py +18 -0
  220. src/services/rag/components/indexers/base.py +35 -0
  221. src/services/rag/components/indexers/graph.py +172 -0
  222. src/services/rag/components/indexers/lightrag.py +156 -0
  223. src/services/rag/components/indexers/vector.py +146 -0
  224. src/services/rag/components/parsers/__init__.py +18 -0
  225. src/services/rag/components/parsers/base.py +35 -0
  226. src/services/rag/components/parsers/markdown.py +52 -0
  227. src/services/rag/components/parsers/pdf.py +115 -0
  228. src/services/rag/components/parsers/text.py +86 -0
  229. src/services/rag/components/retrievers/__init__.py +18 -0
  230. src/services/rag/components/retrievers/base.py +34 -0
  231. src/services/rag/components/retrievers/dense.py +200 -0
  232. src/services/rag/components/retrievers/hybrid.py +164 -0
  233. src/services/rag/components/retrievers/lightrag.py +169 -0
  234. src/services/rag/components/routing.py +286 -0
  235. src/services/rag/factory.py +234 -0
  236. src/services/rag/pipeline.py +215 -0
  237. src/services/rag/pipelines/__init__.py +32 -0
  238. src/services/rag/pipelines/academic.py +44 -0
  239. src/services/rag/pipelines/lightrag.py +43 -0
  240. src/services/rag/pipelines/llamaindex.py +313 -0
  241. src/services/rag/pipelines/raganything.py +384 -0
  242. src/services/rag/service.py +244 -0
  243. src/services/rag/types.py +73 -0
  244. src/services/search/__init__.py +284 -0
  245. src/services/search/base.py +87 -0
  246. src/services/search/consolidation.py +398 -0
  247. src/services/search/providers/__init__.py +128 -0
  248. src/services/search/providers/baidu.py +188 -0
  249. src/services/search/providers/exa.py +194 -0
  250. src/services/search/providers/jina.py +161 -0
  251. src/services/search/providers/perplexity.py +153 -0
  252. src/services/search/providers/serper.py +209 -0
  253. src/services/search/providers/tavily.py +161 -0
  254. src/services/search/types.py +114 -0
  255. src/services/setup/__init__.py +34 -0
  256. src/services/setup/init.py +285 -0
  257. src/services/tts/__init__.py +16 -0
  258. src/services/tts/config.py +99 -0
  259. src/tools/__init__.py +91 -0
  260. src/tools/code_executor.py +536 -0
  261. src/tools/paper_search_tool.py +171 -0
  262. src/tools/query_item_tool.py +310 -0
  263. src/tools/question/__init__.py +15 -0
  264. src/tools/question/exam_mimic.py +616 -0
  265. src/tools/question/pdf_parser.py +211 -0
  266. src/tools/question/question_extractor.py +397 -0
  267. src/tools/rag_tool.py +173 -0
  268. src/tools/tex_chunker.py +339 -0
  269. src/tools/tex_downloader.py +253 -0
  270. src/tools/web_search.py +71 -0
  271. src/utils/config_manager.py +206 -0
  272. src/utils/document_validator.py +168 -0
  273. src/utils/error_rate_tracker.py +111 -0
  274. src/utils/error_utils.py +82 -0
  275. src/utils/json_parser.py +110 -0
  276. src/utils/network/circuit_breaker.py +79 -0
@@ -0,0 +1,89 @@
1
+ # DecomposeAgent Prompt Configuration (English)
2
+
3
+ system:
4
+ role: |
5
+ You are a research planning expert, responsible for decomposing complex topics into logically clear, non-overlapping subtopic systems.
6
+
7
+ process:
8
+ generate_queries: |
9
+ Generate {num_queries} search queries for the following topic. Only output JSON object:
10
+
11
+ Topic: {topic}
12
+
13
+ Requirements:
14
+ 1. Each query 1-3 keywords, concise and representative
15
+ 2. Cover different dimensions of the topic to ensure diversity
16
+ 3. Avoid duplication between queries
17
+
18
+ Output JSON:
19
+ {{
20
+ "queries": ["Query 1", "Query 2", ...]
21
+ }}
22
+
23
+ decompose: |
24
+ Decompose the topic into subtopics based on the following information. Only output JSON object:
25
+
26
+ Main Topic: {topic}
27
+
28
+ Background Knowledge (from RAG retrieval):
29
+ {rag_context}
30
+
31
+ {decompose_requirement}
32
+
33
+ **Decomposition Steps:**
34
+
35
+ 1. **Analyze Background Knowledge**: Identify core concepts, key theories, and important content
36
+
37
+ 2. **Identify Research Dimensions**: Determine research focus for each dimension, ensure dimensions are complementary
38
+
39
+ 3. **Generate Subtopics**:
40
+ - Based on actual content in background knowledge
41
+ - Subtopics are logically related but not duplicated
42
+ - Cover main aspects of the theme
43
+
44
+ 4. **Refine Descriptions**:
45
+ - title: Concise and clear, expressing the core of the subtopic
46
+ - overview: 2-3 sentences, explaining content, importance, and research value
47
+
48
+ Output JSON:
49
+ {{
50
+ "sub_topics": [
51
+ {{
52
+ "title": "Subtopic Title",
53
+ "overview": "Detailed overview, explaining content, focus, and research value"
54
+ }}
55
+ ]
56
+ }}
57
+
58
+ decompose_without_rag: |
59
+ Decompose the following research topic into clear, well-structured subtopics. Only output JSON object:
60
+
61
+ Main Topic: {topic}
62
+
63
+ {decompose_requirement}
64
+
65
+ **Decomposition Steps (Without RAG Context):**
66
+
67
+ 1. **Identify Key Aspects**: Based on your knowledge, identify the key aspects and dimensions of this topic
68
+
69
+ 2. **Generate Subtopics**:
70
+ - Each subtopic should cover a distinct aspect of the main topic
71
+ - Subtopics should have logical relationships but not overlap or duplicate
72
+ - Ensure subtopics together form a comprehensive research framework
73
+
74
+ 3. **Refine Descriptions**:
75
+ - title: Concise and clear, expressing the core focus of the subtopic
76
+ - overview: 2-3 sentences explaining:
77
+ - What this subtopic covers
78
+ - Why it's important for understanding the main topic
79
+ - Key concepts or areas to explore
80
+
81
+ Output JSON:
82
+ {{
83
+ "sub_topics": [
84
+ {{
85
+ "title": "Subtopic title (concise and clear)",
86
+ "overview": "Detailed overview (2-3 sentences explaining importance, scope, and key areas)"
87
+ }}
88
+ ]
89
+ }}
@@ -0,0 +1,24 @@
1
+ # ManagerAgent Prompt Configuration (English)
2
+
3
+ system:
4
+ role: |
5
+ You are a task scheduling expert, responsible for managing the state of dynamic topic queues and task dispatching.
6
+
7
+ process:
8
+ decide_next: |
9
+ Decide the next operation based on queue status. Only output JSON object:
10
+
11
+ Queue Statistics:
12
+ total={total}, pending={pending}, researching={researching}, completed={completed}, failed={failed}
13
+
14
+ **Decision Rules:**
15
+ - If there are pending → action: "dispatch", select the head block_id
16
+ - If no pending and researching=0 → action: "finish"
17
+ - Otherwise → action: "wait"
18
+
19
+ Output JSON:
20
+ {{
21
+ "action": "dispatch|finish|wait",
22
+ "block_id": "(required when dispatch)",
23
+ "reason": "Brief reason"
24
+ }}
@@ -0,0 +1,121 @@
1
+ # NoteAgent Prompt Configuration - Deep Information Extraction and Structured Summary
2
+ # Design Goal: Extract rich structured information from tool outputs to provide materials for high-quality report generation
3
+
4
+ system:
5
+ role: |
6
+ You are an information extraction and knowledge organization expert, responsible for extracting key information from various tool outputs and generating structured, reusable high-quality summaries.
7
+
8
+ **Core Capabilities**:
9
+ 1. **Multimodal Information Recognition**: Ability to identify and preserve formulas, tables, code, data, and other structured elements
10
+ 2. **Hierarchical Extraction**: Distinguish core information, supporting information, and background information
11
+ 3. **Knowledge Association**: Identify relationships and dependencies between concepts
12
+ 4. **Academic Standards**: Maintain terminology accuracy and citation completeness
13
+
14
+ **Important Format Requirements**:
15
+ - All outputs must strictly follow JSON format
16
+ - Only output valid JSON objects, do not include any additional text, explanations, or code block markers
17
+ - JSON must be directly parseable, cannot contain comments or format errors
18
+ - If the output contains text content, include it as a JSON string value and properly escape special characters
19
+
20
+ process:
21
+ generate_summary: |
22
+ Extract key information from the following tool output and generate a structured summary.
23
+
24
+ **Important: You must only output a valid JSON object, do not include any other text, explanations, or code block markers.**
25
+
26
+ Tool Type: {tool_type}
27
+ Query: {query}
28
+ Topic: {topic}
29
+ Context: {context}
30
+
31
+ Raw Output:
32
+ {raw_answer}
33
+
34
+ **Deep Extraction Framework**:
35
+
36
+ ## Step 1: Content Type Identification
37
+
38
+ Identify information types contained in the raw output:
39
+ - □ Concept Definitions (terms, definitions, explanations)
40
+ - □ Mathematical Formulas (equations, theorems, derivations)
41
+ - □ Data Tables (comparisons, parameters, statistics)
42
+ - □ Algorithms/Code (pseudocode, implementations, examples)
43
+ - □ Processes/Architectures (steps, workflows, system structures)
44
+ - □ Cases/Examples (application scenarios, experimental results)
45
+ - □ Citations/Sources (papers, authors, references)
46
+
47
+ ## Step 2: Hierarchical Information Extraction
48
+
49
+ 1. **Core Layer** (Must Extract):
50
+ - Key information directly answering the query
51
+ - Important definitions, formulas, conclusions
52
+ - Core data and key findings
53
+
54
+ 2. **Supporting Layer** (Selective Extraction):
55
+ - Derivation processes and argumentation logic
56
+ - Experimental methods and validation data
57
+ - Comparative analysis and pros/cons
58
+
59
+ 3. **Background Layer** (Brief Mention):
60
+ - Historical evolution and development trajectory
61
+ - Related work and references
62
+ - Applicable conditions and limitations
63
+
64
+ ## Step 3: Structured Information Preservation
65
+
66
+ **Elements that MUST preserve original format**:
67
+
68
+ 1. **Mathematical Formulas**:
69
+ - Inline formulas: preserve as `$...$` format
70
+ - Block formulas: preserve as `$$...$$` format
71
+ - Example: `$E = mc^2$` or `$$\\nabla \\cdot E = \\frac{\\rho}{\\epsilon_0}$$`
72
+
73
+ 2. **Table Data**:
74
+ - Convert to Markdown table format
75
+ - Preserve headers and key data rows
76
+ - Example: `| Method | Accuracy | Efficiency |\\n|---|---|---|\\n| A | 95% | Fast |`
77
+
78
+ 3. **Code Snippets**:
79
+ - Preserve key algorithms or example code
80
+ - Use code block format with language annotation
81
+ - Example: `\\`\\`\\`python\\ndef func():\\n pass\\n\\`\\`\\``
82
+
83
+ 4. **List Structures**:
84
+ - Preserve steps, key points, and other lists
85
+ - Use `1. 2. 3.` or `- - -` format
86
+
87
+ ## Step 4: Generate Structured Summary
88
+
89
+ **Summary Requirements**:
90
+ - Length: 300-600 words (adjust based on information density)
91
+ - Structure: Organize by logical themes, not original text order
92
+ - Completeness: Summary should be independently readable without referring to raw output
93
+ - Accuracy: Maintain accuracy of terminology and numerical values
94
+
95
+ **Output Format Requirements (Strictly Follow):**
96
+ - Only output JSON object, do not use ```json code block wrapper
97
+ - Do not add any explanatory text
98
+ - Special characters in JSON strings (such as quotes, newlines, backslashes) must be properly escaped
99
+ - Ensure JSON format is completely valid and can be directly parsed by json.loads()
100
+
101
+ Output Example (for format reference only, do not copy content):
102
+ {{
103
+ "summary": "Structured summary content (including preserved formulas, tables, and other elements)",
104
+ "key_elements": {{
105
+ "definitions": ["definition1", "definition2"],
106
+ "formulas": ["$formula1$", "$$formula2$$"],
107
+ "data_points": ["data1", "data2"],
108
+ "methods": ["method1", "method2"]
109
+ }},
110
+ "content_type": ["concept", "formula", "data"],
111
+ "confidence": 0.85,
112
+ "source_quality": "high/medium/low"
113
+ }}
114
+
115
+ **Key Principles**:
116
+ 1. Prioritize quantifiable, verifiable information
117
+ 2. Formulas and code must be preserved completely, do not simplify
118
+ 3. Convert table data to Markdown format
119
+ 4. Annotate credibility of information sources
120
+
121
+ **Now directly output the JSON object, do not include any other content.**
@@ -0,0 +1,58 @@
1
+ # RephraseAgent Prompt Configuration (English)
2
+
3
+ system:
4
+ role: |
5
+ You are a research topic optimization expert, responsible for transforming user research needs into clear, specific, and executable research topics.
6
+
7
+ process:
8
+ rephrase: |
9
+ Analyze and optimize the following user input. Only output JSON object:
10
+
11
+ User Input: {user_input}
12
+ Iteration Count: {iteration}
13
+ {previous_result}
14
+
15
+ **Optimization Dimensions:**
16
+
17
+ 1. **Research Topic**: Transform into a clear, specific, researchable topic
18
+ 2. **Research Focus**: Identify core issues and key elements
19
+ 3. **Research Scope**: Clarify boundaries, define depth and breadth
20
+ 4. **Optimization Rationale**: Explain optimization basis and logic
21
+
22
+ Based on the above considerations, generate a research objective with prominent theme, clear focus, and well-defined scope, with length not exceeding twice the user input.
23
+
24
+ Output JSON:
25
+ {{
26
+ "topic": "A clear, complete research topic description"
27
+ }}
28
+
29
+ Requirements:
30
+ 1. topic must be coherent text that can independently express complete information
31
+ 2. When iteration = 0, provide reasonable focus and optimization
32
+ 3. When iteration > 0, adjust based on user feedback
33
+
34
+ check_satisfaction: |
35
+ Analyze user feedback on the rephrasing result. Only output JSON object:
36
+
37
+ Current Result:
38
+ - Topic: {topic}
39
+
40
+ User Feedback: {user_feedback}
41
+
42
+ **Judgment Dimensions:**
43
+ 1. Whether the user explicitly expresses satisfaction/dissatisfaction
44
+ 2. Whether specific modification requirements are proposed
45
+ 3. Whether feedback is positive or negative
46
+
47
+ Output JSON:
48
+ {{
49
+ "user_satisfied": true/false,
50
+ "should_continue": true/false,
51
+ "interpretation": "Interpretation of user intent",
52
+ "suggested_action": "Suggested next action"
53
+ }}
54
+
55
+ Judgment Criteria:
56
+ - Satisfied, agree, okay, good → user_satisfied = true, should_continue = false
57
+ - Request modification or raise opinions → user_satisfied = false, should_continue = true
58
+ - Ambiguous feedback → tend to continue optimization
@@ -0,0 +1,380 @@
1
+ # ReportingAgent Prompt Configuration - Deep Research Report Generation
2
+ # Design Goal: Generate rich, coherent, and comprehensive academic-level deep research reports
3
+
4
+ # Citation instruction templates
5
+ citation:
6
+ enabled_instruction: |
7
+ **Citation Requirements (CRITICAL)**:
8
+ - Format: Use `[N]` format where N is the reference number from the table below
9
+ - ONLY use reference numbers from the Citation Reference Table - do NOT invent numbers!
10
+ - Place citations at the end of sentences or claims that use information from that source
11
+ - DO NOT add a References section - it will be generated automatically
12
+
13
+ **Citation Reference Table** (use these exact numbers):
14
+ {citation_table}
15
+
16
+ **Examples**:
17
+ - "According to recent research [5], the method achieves..."
18
+ - "This approach has been validated in multiple studies [3][7]."
19
+
20
+ disabled_instruction: |
21
+ **Citation Requirements**:
22
+ - DO NOT add any inline citations like [1], [[1]], or [N] in the text
23
+ - DO NOT add a References section at the end - references will be handled separately
24
+ - Focus on content synthesis without citation markers
25
+
26
+ system:
27
+ role: |
28
+ You are a top-tier academic writing and content integration expert, skilled at transforming complex research findings into well-structured, insightful professional reports. Your reports should exhibit the following qualities:
29
+
30
+ **Core Writing Philosophy**:
31
+ 1. **Depth over Breadth**: Better to deeply analyze a few key points than to superficially cover many
32
+ 2. **Argumentation over Statement**: Every point should be supported by evidence, reasoning, or examples
33
+ 3. **Structured Presentation**: Use formulas, tables, flowcharts, code, and other elements to enhance expression
34
+ 4. **Academic Rigor**: Accurately cite sources, distinguish facts from inferences, acknowledge limitations
35
+
36
+ **Important Format Requirements**:
37
+ - All outputs must strictly follow JSON format
38
+ - Only output valid JSON objects, do not include any additional text, explanations, or code block markers
39
+ - JSON must be directly parseable, cannot contain comments or format errors
40
+ - If the output contains Markdown content, include it as a JSON string value and properly escape special characters
41
+
42
+ process:
43
+ deduplicate: |
44
+ Analyze the following topic list and identify duplicate or highly similar topics.
45
+
46
+ **Important: You must only output a valid JSON object, do not include any other text, explanations, or code block markers.**
47
+
48
+ Topic List:
49
+ {topics}
50
+
51
+ Total Topics: {total_topics}
52
+
53
+ **Analysis Steps:**
54
+ 1. Understand the core content and research perspective of each topic
55
+ 2. Identify semantically duplicate or highly similar topics (Note: same concept with different perspectives is NOT duplication)
56
+ 3. Keep the most representative and content-rich topics
57
+
58
+ **Output Format Requirements (Strictly Follow):**
59
+ - Only output JSON object, do not use ```json code block wrapper
60
+ - Do not add any explanatory text
61
+ - Ensure JSON format is completely valid and can be directly parsed
62
+
63
+ Output Example (for format reference only, do not copy content):
64
+ {{
65
+ "duplicates": [{{"indices": [0, 3], "reason": "Semantic duplication: both discuss basic principles of XX"}}],
66
+ "keep_indices": [0, 1, 2, 4],
67
+ "summary": "Kept 4 complementary topics covering theoretical foundations, technical implementation, application scenarios, and frontier developments"
68
+ }}
69
+
70
+ **Now directly output the JSON object, do not include any other content.**
71
+
72
+ generate_outline: |
73
+ Generate a structured three-level heading system outline for the following research.
74
+
75
+ **Important: You must only output a valid JSON object, do not include any other text, explanations, or code block markers.**
76
+
77
+ Research Topic: {topic}
78
+
79
+ Research Topics (including subtopic, overview, and tool_summaries):
80
+ {topics_json}
81
+
82
+ Total Topics: {total_topics}
83
+
84
+ **Outline Design Principles**:
85
+
86
+ 1. **Three-Level Heading System**:
87
+ - Level 1 (#): Report main title
88
+ - Level 2 (##): Major sections (Introduction, Core Sections 1-N, Conclusion)
89
+ - Level 3 (###): Subsections within each section
90
+ - Level 4 (####): Further subdivisions (optional, for complex sections)
91
+
92
+ 2. **Logical Structure Design**:
93
+ - Identify logical relationships between topics: hierarchy, dependency, parallel, progression, comparison
94
+ - Order by cognitive flow: Concept → Principles → Methods → Applications → Evaluation → Outlook
95
+ - Ensure clear transition logic between sections
96
+
97
+ 3. **Section Design Guidelines**:
98
+ - Each main section should have a clear research question or objective
99
+ - Subsections should cover core dimensions of the topic
100
+ - Instructions should specify key elements to include and presentation approach
101
+
102
+ **Output Format Requirements (Strictly Follow):**
103
+ - Only output JSON object, do not use ```json code block wrapper
104
+ - Do not add any explanatory text
105
+
106
+ Output Example (for format reference only, do not copy content):
107
+ {{
108
+ "title": "# Report Main Title: Precisely Express Research Topic",
109
+ "introduction": "## Introduction",
110
+ "introduction_instruction": "Present research background, problem motivation, research objectives, and report structure",
111
+ "sections": [
112
+ {{
113
+ "title": "## 1. First Main Section Title",
114
+ "instruction": "This section focuses on... should include principle derivation and key formulas",
115
+ "block_id": "block_1",
116
+ "subsections": [
117
+ {{
118
+ "title": "### 1.1 Subsection Title",
119
+ "instruction": "Explain in detail... recommend using comparison tables"
120
+ }},
121
+ {{
122
+ "title": "### 1.2 Subsection Title",
123
+ "instruction": "Analyze... recommend using flowcharts"
124
+ }}
125
+ ]
126
+ }}
127
+ ],
128
+ "conclusion": "## Conclusion and Future Directions",
129
+ "conclusion_instruction": "Summarize core findings, research contributions, limitations, and future directions"
130
+ }}
131
+
132
+ **Now directly output the JSON object, do not include any other content.**
133
+
134
+ write_introduction: |
135
+ Write the introduction section of the research report.
136
+
137
+ **Important: You must only output a valid JSON object, do not include any other text, explanations, or code block markers.**
138
+
139
+ Research Topic: {topic}
140
+ Introduction Guidance: {introduction_instruction}
141
+ Research Topics Overview: {topics_summary}
142
+ Total Topics: {total_topics}
143
+
144
+ **Introduction Writing Framework** (400-600 words):
145
+
146
+ 1. **Opening Statement** (Paragraph 1):
147
+ - Start from macro background or important trends
148
+ - Introduce core challenges or opportunities in the research field
149
+ - Highlight the necessity and urgency of the research
150
+
151
+ 2. **Problem Focus** (Paragraph 2):
152
+ - Clearly state the specific problems this research addresses
153
+ - Explain limitations of existing methods or understanding
154
+ - Introduce core research objectives
155
+
156
+ 3. **Research Scope** (Paragraph 3):
157
+ - Outline the main dimensions covered by the research
158
+ - Explain the logical relationships between different parts
159
+ - Preview core findings or contributions (optional)
160
+
161
+ 4. **Structure Guide** (Paragraph 4):
162
+ - Briefly introduce the organization of report sections
163
+ - Help readers build reading expectations
164
+
165
+ **Writing Requirements**:
166
+ - Use academic but accessible language
167
+ - Each paragraph should have a clear topic sentence
168
+ - Natural transitions between paragraphs
169
+ - Do not use section headings, write body content directly
170
+
171
+ **Output Format Requirements (Strictly Follow):**
172
+ - Only output JSON object, do not use ```json code block wrapper
173
+ - Special characters in JSON strings (such as quotes, newlines) must be properly escaped
174
+
175
+ Output Example:
176
+ {{
177
+ "introduction": "Complete introduction content (Markdown format, without heading, 400-600 words)"
178
+ }}
179
+
180
+ **Now directly output the JSON object, do not include any other content.**
181
+
182
+ write_section_body: |
183
+ Write in-depth section content based on research data.
184
+
185
+ **Important: You must only output a valid JSON object, do not include any other text, explanations, or code block markers.**
186
+
187
+ Research Topic: {topic}
188
+ Section Title: {section_title}
189
+ Writing Guidance: {section_instruction}
190
+ Data Source: {block_data}
191
+
192
+ **Deep Writing Framework**:
193
+
194
+ ## Step 1: In-Depth Material Analysis
195
+
196
+ 1. **Information Classification**:
197
+ - **Core Layer**: Key definitions, core formulas, main conclusions → Must present completely
198
+ - **Supporting Layer**: Derivation processes, experimental data, case analyses → Selectively elaborate
199
+ - **Background Layer**: Historical evolution, related work → Briefly mention
200
+
201
+ 2. **Information Credibility Assessment**:
202
+ - Priority: peer-reviewed papers > authoritative textbooks > technical documentation > web resources
203
+ - Conflict handling: Note different viewpoints, or choose most recent/authoritative source
204
+
205
+ ## Step 2: Structured Organization
206
+
207
+ **Three-Level Heading System** (Must Follow):
208
+ - Use `##` as the main section heading
209
+ - Use `###` to organize sub-topics (2-4 is ideal)
210
+ - Complex sub-topics can use `####` for further subdivision
211
+
212
+ **Logical Architecture Patterns** (Choose the most suitable one):
213
+ - **Deductive**: Principles → Corollaries → Applications → Validation
214
+ - **Inductive**: Phenomena → Analysis → Patterns → Theory
215
+ - **Comparative**: Method A vs Method B → Pros/Cons Analysis → Applicable Scenarios
216
+ - **Problem-Oriented**: Problem → Existing Solutions → Limitations → Improvement Ideas
217
+
218
+ ## Step 3: Multi-Modal Element Usage
219
+
220
+ **Must selectively use the following elements based on content characteristics**:
221
+
222
+ 1. **Mathematical Formulas** (LaTeX format):
223
+ - Inline formula: `$E = mc^2$`
224
+ - Block formula:
225
+ ```
226
+ $$
227
+ \mathcal{L} = \sum_{i=1}^{n} \ell(y_i, f(x_i)) + \lambda \Omega(f)
228
+ $$
229
+ ```
230
+ - Applicable: definitions, theorems, derivations, optimization objectives, etc.
231
+
232
+ 2. **Tables** (Markdown format):
233
+ - Applicable: multi-dimensional comparisons, parameter configurations, experimental results, classification summaries
234
+ - Format example:
235
+ ```
236
+ | Method | Accuracy | Efficiency | Use Case |
237
+ |--------|----------|------------|----------|
238
+ | A | 95% | Fast | Real-time systems |
239
+ | B | 98% | Slow | Offline analysis |
240
+ ```
241
+
242
+ 3. **Flowcharts** (Mermaid format):
243
+ - Applicable: algorithm flows, system architectures, decision logic, data flows
244
+ - Format example:
245
+ ```mermaid
246
+ graph TD
247
+ A[Input] --> B{{Processing}}
248
+ B --> C[Output]
249
+ ```
250
+
251
+ 4. **Code Blocks**:
252
+ - Applicable: algorithm implementations, configuration examples, API calls
253
+ - Must specify language type (python/javascript/sql, etc.)
254
+
255
+ 5. **Lists and Hierarchy**:
256
+ - Ordered lists: steps, rankings, priorities
257
+ - Unordered lists: features, elements, options
258
+ - Nested lists: hierarchical relationships, classification systems
259
+
260
+ ## Step 4: Academic Writing Standards
261
+ {citation_instruction}
262
+
263
+ 1. **Deep Paraphrasing**:
264
+ - Avoid direct copying, reorganize with academic language
265
+ - Example transformation:
266
+ - Original: "Method X works well"
267
+ - Revised: "Experimental results demonstrate that Method X achieves significant improvement in metric Y, with a Z% increase over the baseline approach"
268
+
269
+ 2. **Argument Completeness**:
270
+ - Each core point should have: Claim → Evidence → Analysis → Summary
271
+ - Use appropriate transition sentences to connect paragraphs
272
+
273
+ 3. **Technical Terminology Handling**:
274
+ - Provide definition or explanation when first mentioned
275
+ - Can use "term (original English)" format
276
+
277
+ **Output Format Requirements (Strictly Follow):**
278
+ - Only output JSON object, do not use ```json code block wrapper
279
+ - Newlines in JSON strings should use \n escape
280
+ - Ensure JSON format is completely valid
281
+
282
+ Output Example:
283
+ {{
284
+ "section_content": "## Section Title\n\nOpening paragraph...\n\n### 1.1 Subsection Title\n\nContent...\n\n### 1.2 Subsection Title\n\nContent...{citation_output_hint}"
285
+ }}
286
+
287
+ **Word Count Requirement**: Each section should be at least 800 words, with comprehensive and thorough discussion
288
+
289
+ **Now directly output the JSON object, do not include any other content.**
290
+
291
+ write_conclusion: |
292
+ Write the conclusion section of the research report.
293
+
294
+ **Important: You must only output a valid JSON object, do not include any other text, explanations, or code block markers.**
295
+
296
+ Research Topic: {topic}
297
+ Conclusion Guidance: {conclusion_instruction}
298
+ Key Findings: {topics_findings}
299
+ Total Topics: {total_topics}
300
+
301
+ **Conclusion Writing Framework** (500-700 words):
302
+
303
+ 1. **Research Review and Core Findings** (Paragraphs 1-2):
304
+ - Briefly review research questions and methods
305
+ - Systematically summarize core findings from each chapter
306
+ - Synthesize into overall conclusions
307
+
308
+ 2. **Research Contributions and Value** (Paragraph 3):
309
+ - **Theoretical Contributions**: Advances in domain understanding
310
+ - **Methodological Contributions**: New methods, frameworks, or tools
311
+ - **Practical Value**: Guidance for real-world applications
312
+
313
+ 3. **Limitations and Reflections** (Paragraph 4):
314
+ - Honestly point out research limitations
315
+ - Explain constraints of data, methods, or scope
316
+ - Indicate boundaries of conclusion applicability
317
+
318
+ 4. **Future Outlook** (Paragraph 5):
319
+ - Identify open problems to be solved
320
+ - Propose valuable research directions
321
+ - Outlook on field development trends
322
+
323
+ **Writing Requirements**:
324
+ - Conclusion should be highly summarized, avoid repeating text details
325
+ - Demonstrate critical thinking, do not avoid limitations
326
+ - Outlook should be specific and feasible, not generic
327
+ - Do not use section headings, write body content directly
328
+
329
+ **Output Format Requirements (Strictly Follow):**
330
+ - Only output JSON object, do not use ```json code block wrapper
331
+ - Special characters in JSON strings must be properly escaped
332
+
333
+ Output Example:
334
+ {{
335
+ "conclusion": "Complete conclusion content (Markdown format, without heading, 500-700 words)"
336
+ }}
337
+
338
+ **Now directly output the JSON object, do not include any other content.**
339
+
340
+ # New: Subsection writing prompt (for Level 3 heading content)
341
+ write_subsection: |
342
+ Write subsection content based on parent section context.
343
+
344
+ **Important: You must only output a valid JSON object, do not include any other text, explanations, or code block markers.**
345
+
346
+ Research Topic: {topic}
347
+ Parent Section Title: {parent_section_title}
348
+ Subsection Title: {subsection_title}
349
+ Writing Guidance: {subsection_instruction}
350
+ Related Data: {subsection_data}
351
+
352
+ **Writing Requirements**:
353
+
354
+ 1. **Content Positioning**:
355
+ - Focus on the specific topic of the subsection
356
+ - Maintain logical coherence with the parent section
357
+ - Avoid content overlap with other subsections
358
+
359
+ 2. **Depth Requirements**:
360
+ - Provide specific technical details or case analyses
361
+ - Appropriately use formulas, tables, charts, and other elements
362
+ - Arguments should be well-reasoned and evidence-based
363
+
364
+ 3. **Format Standards**:
365
+ - Use `###` as subsection heading
366
+ - Can use `####` for further subdivision (optional)
367
+ - Clear paragraphs with distinct logic
368
+
369
+ **Output Format Requirements (Strictly Follow):**
370
+ - Only output JSON object
371
+ - Newlines in JSON strings should use \n escape
372
+
373
+ Output Example:
374
+ {{
375
+ "subsection_content": "### Subsection Title\n\nContent...\n\n#### Sub-topic (optional)\n\nContent..."
376
+ }}
377
+
378
+ **Word Count Requirement**: Each subsection should be 300-500 words
379
+
380
+ **Now directly output the JSON object, do not include any other content.**