输入一条查询,自动搜索公开数据源,提取网页内容,通过 LLM 分析生成包含文字、表格和图表的研究报告。
面向文旅、酒店、会展从业者和研究人员。
# 1. 安装依赖 pip install -r requirements.txt # 2. 配置 LLM API Key(交互式引导) python research.py setup # 3. 运行研究查询 python research.py "四川省2024年旅游数据分析"输出文件保存在 data/reports/ 下,包含 Markdown 报告和图表。
所有兼容 OpenAI 格式的模型均可使用,仅需配置 API Key:
| 提供商 | 推荐场景 | 参考成本/次 |
|---|---|---|
| DeepSeek(默认) | 通用,性价比高 | ~¥0.02-0.05 |
| Kimi(月之暗面) | 长文本分析 | ~¥0.05-0.1 |
| 智谱 GLM | 中文理解 | ~¥0.01-0.03 |
| MiniMax | 多模态 | ~¥0.02-0.05 |
| 自定义 | 兼容 OpenAI 格式的任意服务 | — |
# 研究查询 python research.py "你的查询" python research.py "查询" --output ./my-reports # 指定输出目录 python research.py "查询" --no-charts # 不生成图表 python research.py "查询" --model deepseek-chat # 指定模型 # 配置 python research.py setup # 引导式配置 # 历史记录 python research.py history # 查看研究历史 python research.py show <session-id> # 查看指定报告用户输入查询 ↓ LLM 解析查询意图 → 生成 3-5 个搜索查询 ↓ 搜索引擎检索 → 去重 → 最多 15 个来源 ↓ 提取网页正文内容 ↓ LLM 分析数据 → 结构化报告(章节、数据表、图表建议) ↓ 渲染 Markdown 报告 + matplotlib 图表 ↓ 保存到 data/reports/{date}_{slug}/ 每次查询生成一个目录:
data/reports/2026-02-21_四川省2024年旅游数据分析/ ├── report.md # Markdown 研究报告 ├── charts/ # PNG 图表 │ ├── chart_1.png │ └── chart_2.png └── data/ # 原始数据 ├── analysis.json └── search_strategy.json ├── research.py # 研究工具入口 ├── src/ │ ├── cli.py # CLI 命令解析 │ ├── research_pipeline.py # 研究管线(串联全流程) │ ├── llm_client.py # LLM API 调用(兼容 OpenAI 格式) │ ├── setup_wizard.py # API Key 配置引导 │ ├── config.py # 全局配置 │ ├── collectors/ │ │ ├── web_search.py # 多引擎搜索(DuckDuckGo/博查/Tavily) │ │ └── content_extractor.py # 网页内容提取 │ ├── analyzers/ │ │ ├── query_parser.py # 查询 → 搜索策略 │ │ ├── data_analyzer.py # 数据 → 结构化报告 │ │ └── prompts/ # LLM 提示词模板 │ ├── generators/ │ │ ├── report.py # Markdown 报告渲染 │ │ ├── charts.py # matplotlib 图表 │ │ └── templates/ # Jinja2 模板 │ ├── db/ │ │ └── cache.py # 研究缓存(SQLite) │ └── utils/ │ ├── display.py # 终端显示(rich) │ └── json_extract.py # LLM 输出 JSON 提取 ├── data/ # 运行时数据(不入 Git) ├── requirements.txt ├── .env.example └── LICENSE 配置存储在项目根目录 .env 文件中:
LLM_PROVIDER=deepseek LLM_API_KEY=sk-... LLM_BASE_URL=https://api.deepseek.com LLM_MODEL=deepseek-chat运行 python research.py setup 可交互式完成配置。
| 引擎 | 特点 | API Key |
|---|---|---|
| DuckDuckGo(默认) | 免费,零配置 | 不需要 |
| 博查(Bocha) | 中文搜索质量最好 | 需要 |
| Tavily | 免费 1000 次/月 | 需要 |
- Python 3.10+
requests— HTTP 请求 + LLM API 调用beautifulsoup4— 网页解析matplotlib— 图表生成rich— 终端美化jinja2— 模板渲染python-dotenv— 环境变量ddgs— DuckDuckGo 搜索
MIT