Update README.md

This commit is contained in:
马一丁
2025-11-15 03:07:50 +08:00
parent 3e1b47d1f9
commit 6e3abf8d15
+112 -103
View File
@@ -123,115 +123,124 @@ LLM模型API赞助:<a href="https://aihubmix.com/?aff=8Ds9" target="_blank"><i
``` ```
BettaFish/ BettaFish/
├── QueryEngine/ # 国内外新闻广度搜索Agent ├── QueryEngine/ # 国内外新闻广度搜索Agent
│ ├── agent.py # Agent主逻辑 │ ├── agent.py # Agent主逻辑
│ ├── llms/ # LLM接口封装 │ ├── llms/ # LLM接口封装
│ ├── nodes/ # 处理节点 │ ├── nodes/ # 处理节点
│ ├── tools/ # 搜索工具 │ ├── tools/ # 搜索工具
│ ├── utils/ # 工具函数 │ ├── utils/ # 工具函数
│ └── ... # 其他模块 │ └── ... # 其他模块
├── MediaEngine/ # 强大的多模态理解Agent ├── MediaEngine/ # 强大的多模态理解Agent
│ ├── agent.py # Agent主逻辑 │ ├── agent.py # Agent主逻辑
│ ├── nodes/ # 处理节点 │ ├── nodes/ # 处理节点
│ ├── llms/ # LLM接口 │ ├── llms/ # LLM接口
│ ├── tools/ # 搜索工具 │ ├── tools/ # 搜索工具
│ ├── utils/ # 工具函数 │ ├── utils/ # 工具函数
│ └── ... # 其他模块 │ └── ... # 其他模块
├── InsightEngine/ # 私有数据库挖掘Agent ├── InsightEngine/ # 私有数据库挖掘Agent
│ ├── agent.py # Agent主逻辑 │ ├── agent.py # Agent主逻辑
│ ├── llms/ # LLM接口封装 │ ├── llms/ # LLM接口封装
│ │ └── base.py # 统一的 OpenAI 兼容客户端 │ │ └── base.py # 统一的 OpenAI 兼容客户端
│ ├── nodes/ # 处理节点 │ ├── nodes/ # 处理节点
│ │ ├── base_node.py # 基础节点类 │ │ ├── base_node.py # 基础节点类
│ │ ├── formatting_node.py # 格式化节点 │ │ ├── formatting_node.py # 格式化节点
│ │ ├── report_structure_node.py # 报告结构节点 │ │ ├── report_structure_node.py # 报告结构节点
│ │ ├── search_node.py # 搜索节点 │ │ ├── search_node.py # 搜索节点
│ │ └── summary_node.py # 总结节点 │ │ └── summary_node.py # 总结节点
│ ├── tools/ # 数据库查询和分析工具 │ ├── tools/ # 数据库查询和分析工具
│ │ ├── keyword_optimizer.py # Qwen关键词优化中间件 │ │ ├── keyword_optimizer.py # Qwen关键词优化中间件
│ │ ├── search.py # 数据库操作工具集 │ │ ├── search.py # 数据库操作工具集
│ │ └── sentiment_analyzer.py # 情感分析集成工具 │ │ └── sentiment_analyzer.py # 情感分析集成工具
│ ├── state/ # 状态管理 │ ├── state/ # 状态管理
│ │ ├── __init__.py │ │ ├── __init__.py
│ │ └── state.py # Agent状态定义 │ │ └── state.py # Agent状态定义
│ ├── prompts/ # 提示词模板 │ ├── prompts/ # 提示词模板
│ │ ├── __init__.py │ │ ├── __init__.py
│ │ └── prompts.py # 各类提示词 │ │ └── prompts.py # 各类提示词
│ └── utils/ # 工具函数 │ └── utils/ # 工具函数
│ ├── __init__.py │ ├── __init__.py
│ ├── config.py # 配置管理 │ ├── config.py # 配置管理
── text_processing.py # 文本处理工具 ── db.py # SQLAlchemy异步引擎与只读查询封装
├── ReportEngine/ # 多轮报告生成Agent │ └── text_processing.py # 文本处理工具
│ ├── agent.py # 串联模板→布局→篇幅→章节→渲染的总调度 ├── ReportEngine/ # 多轮报告生成Agent
│ ├── flask_interface.py # Flask/SSE入口,管理任务排队与流式事件 │ ├── agent.py # 串联模板→布局→篇幅→章节→渲染的总调度
│ ├── llms/ # OpenAI兼容LLM封装 │ ├── flask_interface.py # Flask/SSE入口,管理任务排队与流式事件
│ └── base.py # 统一的流式/重试客户端 ├── llms/ # OpenAI兼容LLM封装
├── core/ # 模板切片、章节落盘与装订工具 │ └── base.py # 统一的流式/重试客户端
│ ├── template_parser.py # Markdown模板切片与slug生成 │ ├── core/ # 模板切片、章节落盘与装订工具
│ │ ├── chapter_storage.py # 章节run目录、manifest与raw流写入 │ │ ├── template_parser.py # Markdown模板切片与slug生成
│ │ ── stitcher.py # Document IR装订器,补齐锚点/元数据 │ │ ── chapter_storage.py # 章节run目录、manifest与raw流写入
├── ir/ # 报告IR契约与校验 │ └── stitcher.py # Document IR装订器,补齐锚点/元数据
│ ├── schema.py # 块/标记Schema常量 │ ├── ir/ # 报告IR契约与校验
│ │ ── validator.py # 章节JSON结构校验器 │ │ ── schema.py # 块/标记Schema常量
├── nodes/ # 全流程推理节点 │ └── validator.py # 章节JSON结构校验器
│ ├── base_node.py # 节点基类+日志/状态钩子 │ ├── nodes/ # 全流程推理节点
│ │ ├── template_selection_node.py # 模板候选收集与LLM筛选 │ │ ├── base_node.py # 节点基类+日志/状态钩子
│ │ ├── document_layout_node.py # 标题/目录/主题设计 │ │ ├── template_selection_node.py # 模板候选收集与LLM筛选
│ │ ├── word_budget_node.py # 篇幅规划与章节指令 │ │ ├── document_layout_node.py # 标题/目录/主题设计
│ │ ── chapter_generation_node.py # 章节级JSON生成+校验 │ │ ── word_budget_node.py # 篇幅规划与章节指令
├── prompts/ # 提示词库与Schema说明 │ └── chapter_generation_node.py # 章节级JSON生成+校验
│ └── prompts.py # 模板选择/布局/篇幅/章节提示词 ── prompts/ # 提示词库与Schema说明
├── renderers/ # IR渲染器 │ └── prompts.py # 模板选择/布局/篇幅/章节提示词
│ └── html_renderer.py # Document IR → 交互式HTML ├── renderers/ # IR渲染器
├── state/ # 任务/元数据状态模型 │ └── html_renderer.py # Document IR → 交互式HTML
│ └── state.py # ReportState与序列化工具 ── state/ # 任务/元数据状态模型
├── utils/ # 配置与日志工具 │ └── state.py # ReportState与序列化工具
│ └── config.py # Pydantic Settings与打印助手 ├── utils/ # 配置与日志工具
├── report_template/ # Markdown模板库 │ └── config.py # Pydantic Settings与打印助手
│ ├── 社会公共热点事件分析.md │ ├── report_template/ # Markdown模板库(企业/市场/例行/政策/热点/突发场景)
│ ├── 商业品牌舆情监测.md └── ... # 其余缓存/__init__.py等
└── ... # 更多模板 ├── ForumEngine/ # 论坛引擎简易实现
── ... # 其余缓存/__init__.py等 ── monitor.py # 日志监控和论坛管理
├── ForumEngine/ # 论坛引擎简易实现 │ └── llm_host.py # 论坛主持人LLM模块
│ ├── monitor.py # 日志监控和论坛管理 ├── MindSpider/ # 微博爬虫系统
── llm_host.py # 论坛主持人LLM模块 ── main.py # 爬虫主程序
├── MindSpider/ # 微博爬虫系统 │ ├── config.py # 爬虫配置文件
│ ├── main.py # 爬虫主程序 │ ├── BroadTopicExtraction/ # 话题提取模块
│ ├── config.py # 爬虫配置文件 │ ├── database_manager.py # 数据库管理器
│ ├── BroadTopicExtraction/ # 话题提取模块 │ ├── get_today_news.py # 今日新闻获取
│ │ ├── database_manager.py # 数据库管理器 │ │ ├── main.py # 话题提取主程序
│ │ ── get_today_news.py # 今日新闻获取 │ │ ── topic_extractor.py # 话题提取器
│ ├── main.py # 话题提取主程序 │ ├── DeepSentimentCrawling/ # 深度舆情爬取
│ │ ── topic_extractor.py # 话题提取 │ │ ── keyword_manager.py # 关键词管理
│ ├── DeepSentimentCrawling/ # 深度舆情爬取 │ ├── main.py # 深度爬取主程序
│ │ ├── keyword_manager.py # 关键词管理器 │ │ ├── MediaCrawler/ # 媒体爬虫核心
│ │ ── main.py # 深度爬取主程序 │ │ ── platform_crawler.py # 平台爬虫管理
│ ├── MediaCrawler/ # 媒体爬虫核心 └── schema/ # 数据库结构
── platform_crawler.py # 平台爬虫管理 ── db_manager.py # 数据库管理
└── schema/ # 数据库结构 ├── init_database.py # 数据库初始化
│ ├── db_manager.py # 数据库管理器 │ ├── mindspider_tables.sql # 数据库表结构
│ ├── init_database.py # 数据库初始化 │ ├── models_bigdata.py # 大规模媒体舆情表的SQLAlchemy映射
│ └── mindspider_tables.sql # 数据库表结构 │ └── models_sa.py # DailyTopic/Task等扩展表ORM
├── SentimentAnalysisModel/ # 情感分析模型集合 ├── SentimentAnalysisModel/ # 情感分析模型集合
│ ├── WeiboSentiment_Finetuned/ # 微调BERT/GPT-2模型 │ ├── WeiboSentiment_Finetuned/ # 微调BERT/GPT-2模型
│ ├── WeiboMultilingualSentiment/# 多语言情感分析(推荐) │ ├── WeiboMultilingualSentiment/ # 多语言情感分析(推荐)
│ ├── WeiboSentiment_SmallQwen/ # 小参数Qwen3微调 │ ├── WeiboSentiment_SmallQwen/ # 小参数Qwen3微调
│ └── WeiboSentiment_MachineLearning/ # 传统机器学习方法 │ └── WeiboSentiment_MachineLearning/ # 传统机器学习方法
├── SingleEngineApp/ # 单独Agent的Streamlit应用 ├── SingleEngineApp/ # 单独Agent的Streamlit应用
│ ├── query_engine_streamlit_app.py │ ├── query_engine_streamlit_app.py
│ ├── media_engine_streamlit_app.py │ ├── media_engine_streamlit_app.py
│ └── insight_engine_streamlit_app.py │ └── insight_engine_streamlit_app.py
├── templates/ # Flask模板 ├── query_engine_streamlit_reports/ # QueryEngine单应用运行生成的Markdown与state
│ └── index.html # 主界面前端 ├── media_engine_streamlit_reports/ # MediaEngine单应用运行生成的Markdown与state
├── static/ # 静态资源 ├── insight_engine_streamlit_reports/ # InsightEngine单应用运行生成的Markdown与state
├── logs/ # 运行日志目录 ├── templates/ # Flask模板
── final_reports/ # 最终生成的HTML报告文件 │ └── index.html # 主界面前端
├── utils/ # 通用工具函数 ├── static/ # 静态资源
│ ├── forum_reader.py # Agent间论坛通信 ├── logs/ # 运行日志目录
│ └── retry_helper.py # 网络请求重试机制工具 ├── final_reports/ # 最终生成的HTML报告文件
├── app.py # Flask主应用入口 ├── utils/ # 通用工具函数
├── config.py # 全局配置文件 │ ├── forum_reader.py # Agent间论坛通信
└── requirements.txt # Python依赖包清单 │ ├── github_issues.py # 统一生成GitHub Issue链接与错误提示
│ └── retry_helper.py # 网络请求重试机制工具
├── tests/ # 关键功能测试(论坛监控、渲染安全性等)
│ ├── run_tests.py # pytest入口
│ ├── test_monitor.py # ForumEngine监控单测
│ └── test_report_engine_sanitization.py # ReportEngine章节清洗测试
├── app.py # Flask主应用入口
├── config.py # 全局配置文件
├── docker-compose.yml # 多服务一键部署
└── requirements.txt # Python依赖包清单
``` ```
## 🚀 快速开始(Docker ## 🚀 快速开始(Docker