Toggle navigation
Toggle navigation
This project
Loading...
Sign in
万朱浩
/
Venue-Ops
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
马一丁
2025-12-20 13:29:16 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1a7f7c78f1b79d40e18c7a02e01dc932e6bcfa24
1a7f7c78
1 parent
5a47bec9
Update the parameter settings in report_engine_only.py
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
72 additions
and
3 deletions
README-EN.md
README.md
report_engine_only.py
README-EN.md
View file @
1a7f7c7
...
...
@@ -496,6 +496,9 @@ python report_engine_only.py --skip-markdown
# Show verbose logging
python report_engine_only.py --verbose
# Turn on GraphRAG via CLI and adjust query cap (falls back to .env, default off)
python report_engine_only.py --graphrag-enabled
true
--graphrag-max-queries 3
# Show help information
python report_engine_only.py --help
```
...
...
@@ -511,6 +514,7 @@ python report_engine_only.py --help
-
PDF reports (if dependencies available) saved to
`final_reports/pdf/`
directory
-
Markdown reports (disable with
`--skip-markdown`) saved to `final_reports/md/`
directory
-
File naming format:
`final_report_{topic}_{timestamp}.html/pdf/md`
6.
**Optional GraphRAG**
: CLI flags override
`.env`
; if neither is set the feature stays off
**Notes:**
...
...
README.md
View file @
1a7f7c7
...
...
@@ -501,6 +501,9 @@ python report_engine_only.py --skip-markdown
# 显示详细日志
python report_engine_only.py --verbose
# 按需开启 GraphRAG 并调整查询次数(未传参则遵循 .env,默认关闭)
python report_engine_only.py --graphrag-enabled
true
--graphrag-max-queries 3
# 查看帮助信息
python report_engine_only.py --help
```
...
...
@@ -516,6 +519,7 @@ python report_engine_only.py --help
-
PDF报告(如果有依赖)保存到
`final_reports/pdf/`
目录
-
Markdown报告(可用
`--skip-markdown` 关闭)保存到 `final_reports/md/`
目录
-
文件命名格式:
`final_report_{主题}_{时间戳}.html/pdf/md`
6.
**GraphRAG 可选启用**
:命令行参数优先于
`.env`
,若两者均未配置则保持关闭状态
**注意事项:**
...
...
report_engine_only.py
View file @
1a7f7c7
...
...
@@ -29,6 +29,7 @@ from datetime import datetime
from
typing
import
Dict
,
Any
,
Optional
from
loguru
import
logger
from
config
import
settings
as
global_settings
,
Settings
# 全局配置
VERBOSE
=
False
...
...
@@ -221,7 +222,12 @@ def extract_query_from_reports(latest_files: Dict[str, str]) -> str:
return
"综合分析报告"
def
generate_report
(
reports
:
list
[
str
],
query
:
str
,
pdf_available
:
bool
)
->
Dict
[
str
,
Any
]:
def
generate_report
(
reports
:
list
[
str
],
query
:
str
,
pdf_available
:
bool
,
agent_config
:
Optional
[
Settings
]
=
None
)
->
Dict
[
str
,
Any
]:
"""
调用Report Engine生成报告
...
...
@@ -229,6 +235,7 @@ def generate_report(reports: list[str], query: str, pdf_available: bool) -> Dict
reports: 报告内容列表
query: 报告主题
pdf_available: PDF功能是否可用
agent_config: ReportAgent 配置(命令行可覆盖 .env)
Returns:
Dict[str, Any]: 包含生成结果的字典
...
...
@@ -244,7 +251,7 @@ def generate_report(reports: list[str], query: str, pdf_available: bool) -> Dict
# 初始化Report Agent
logger
.
info
(
"正在初始化 Report Engine..."
)
agent
=
ReportAgent
()
agent
=
ReportAgent
(
config
=
agent_config
)
# 定义流式事件处理器
def
stream_handler
(
event_type
:
str
,
payload
:
Dict
[
str
,
Any
]):
...
...
@@ -407,6 +414,19 @@ def save_markdown(document_ir_path: str, query: str) -> Optional[str]:
return
None
def
parse_bool_arg
(
value
:
str
)
->
bool
:
"""将字符串解析为布尔值,用于命令行参数"""
true_values
=
{
'true'
,
'1'
,
'yes'
,
'y'
,
'on'
}
false_values
=
{
'false'
,
'0'
,
'no'
,
'n'
,
'off'
}
value_lower
=
value
.
lower
()
if
value_lower
in
true_values
:
return
True
if
value_lower
in
false_values
:
return
False
raise
argparse
.
ArgumentTypeError
(
"GRAPHRAG_ENABLED 仅接受 true/false"
)
def
parse_arguments
():
"""解析命令行参数"""
parser
=
argparse
.
ArgumentParser
(
...
...
@@ -449,9 +469,41 @@ def parse_arguments():
help
=
'显示详细日志信息'
)
parser
.
add_argument
(
'--graphrag-enabled'
,
type
=
parse_bool_arg
,
default
=
None
,
help
=
'是否开启GraphRAG,默认遵循 .env(未设置则关闭)'
)
parser
.
add_argument
(
'--graphrag-max-queries'
,
type
=
int
,
default
=
None
,
help
=
'GraphRAG 每章节最大查询次数(默认遵循 .env,且仅在开启时生效)'
)
return
parser
.
parse_args
()
def
build_agent_config
(
args
)
->
Settings
:
"""基于 .env 配置并融合命令行覆盖项生成最终配置"""
config_overrides
:
Dict
[
str
,
Any
]
=
{}
if
args
.
graphrag_enabled
is
not
None
:
config_overrides
[
'GRAPHRAG_ENABLED'
]
=
args
.
graphrag_enabled
if
args
.
graphrag_max_queries
is
not
None
:
if
args
.
graphrag_max_queries
<=
0
:
logger
.
warning
(
"GRAPHRAG_MAX_QUERIES 必须大于 0,本次将继续使用 .env/默认值"
)
else
:
config_overrides
[
'GRAPHRAG_MAX_QUERIES'
]
=
args
.
graphrag_max_queries
if
not
config_overrides
:
return
global_settings
return
global_settings
.
model_copy
(
update
=
config_overrides
)
def
main
():
"""主函数"""
# 解析命令行参数
...
...
@@ -466,6 +518,15 @@ def main():
logger
.
info
(
"╚"
+
"═"
*
68
+
"╝"
)
logger
.
info
(
"
\n
"
)
# 合并 GraphRAG 相关配置(命令行 > .env > 默认关闭)
agent_config
=
build_agent_config
(
args
)
logger
.
info
(
f
"GraphRAG 开关: {agent_config.GRAPHRAG_ENABLED} "
"(优先级:命令行 > .env > 默认False)"
)
if
agent_config
.
GRAPHRAG_ENABLED
:
logger
.
info
(
f
"GraphRAG 查询上限: {agent_config.GRAPHRAG_MAX_QUERIES}"
)
# 步骤 1: 检查依赖
pdf_available
,
_
=
check_dependencies
()
markdown_enabled
=
not
args
.
skip_markdown
...
...
@@ -498,7 +559,7 @@ def main():
logger
.
info
(
f
"使用报告主题: {query}"
)
# 步骤 3: 生成报告
result
=
generate_report
(
reports
,
query
,
pdf_available
)
result
=
generate_report
(
reports
,
query
,
pdf_available
,
agent_config
)
# 步骤 4: 保存文件
logger
.
info
(
"
\n
"
+
"="
*
70
)
...
...
Please
register
or
login
to post a comment