diff --git a/README.md b/README.md index 393af26e8bde2c650e8c51b5cd947b717eaad19d..b8afb86c4ca07f0748fc2ff1426b1138c60dcec8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ -# Jiuwen-DeepSearch 九问深度搜索 - -[简体中文](./README.md) | [English](./README_en.md) +~~#~~ Jiuwen-DeepSearch(九问深度搜索) +[简体中文](./README_zh.md) | [English](./README_en.md) ## 📑 目录 - [💡 九问深度搜索是什么](#九问深度搜索是什么) @@ -9,36 +8,31 @@ - [🔥 最新版本特性](#最新版本特性) - [🚀 快速开始](#快速开始) - [🔍 搜索引擎支持](#搜索引擎支持) -- [🌟 核心特性](#核心特性) -- [🔧 执行流程](#执行流程) -- [🏗️ API参考](#api参考) +- [🌟 核心特性](#核心特性~~)~~ +- [🏗️ API参考](#API参考) - [📚 版本特性追踪](#版本特性追踪) - [📜 许可证](#许可证) - [🙏 致谢](#致谢) -- [❓ 常见问题FAQ](#常见问题faq) - +- [❓ 常见问题FAQ](#常见问题FAQ) -## 九问深度搜索是什么? +## 💡 九问深度搜索是什么? --- **Jiuwen-DeepSearch** 九问深度搜索是一款知识增强的深度检索与研究引擎。我们的目标是利用结构化知识及大模型,融合各种工具,提供精准、灵活、高效深度搜索及研究能力。我们支持不同数据格式的领域知识库接入,支持多种检索模式的选择,并通过知识增强的查询规划及反思,提供可靠、可溯源答案及报告。 +![流程介绍](https://gitee.com/poissondeepsearch/jiuwen-deepsearch/blob/master/assets/overview.jpg) -![流程介绍](./assets/overview.jpg) - -## 演示案例 - ---- -- Query1:比较全球Top5光伏企业在东南亚的产能布局,量化分析美国IRA法案对其海外供应链成本的影响 -![全球TOP5光伏企业在东南亚的产能布局及美国IRA法案影响分析](./assets/example_globaltop5.jpg) -详见:[报告全文](./examples/全球TOP5光伏企业在东南亚的产能布局及美国IRA法案影响分析.md) +## 🎬 演示案例 +### 案例1:比较全球Top5光伏企业在东南亚的产能布局,量化分析美国IRA法案对其海外供应链成本的影响 -- Query2:分析医学影像AI辅助诊断系统的临床落地瓶颈 -![example2_medical.jpg](./assets/example_medical.jpg) -详见:[报告全文](./examples/医学影像AI辅助诊断系统临床落地瓶颈分析.md) +![全球TOP5光伏企业在东南亚的产能布局及美国IRA法案影响分析](https://gitee.com/poissondeepsearch/jiuwen-deepsearch/blob/master/assets/example_globaltop5.jpg) +全文请见:[全球TOP5光伏企业在东南亚的产能布局及美国IRA法案影响分析](https://gitee.com/poissondeepsearch/jiuwen-deepsearch/blob/master/examples/全球TOP5光伏企业在东南亚的产能布局及美国IRA法案影响分析.md) +### 案例2:分析医学影像AI辅助诊断系统的临床落地瓶颈 +![example2_medical.jpg](https://gitee.com/poissondeepsearch/jiuwen-deepsearch/blob/master/assets/example_medical.jpg) + 全文请见[医学影像AI辅助诊断系统临床落地瓶颈分析](https://gitee.com/poissondeepsearch/jiuwen-deepsearch/blob/master/examples/医学影像AI辅助诊断系统临床落地瓶颈分析.md) -## 最新版本特性 +## 🔥 最新版本特性 --- - 新增outline节点,实现报告大纲生成 - 支持基于导入的报告自动提取报告模板 @@ -46,10 +40,9 @@ - 在搜索节点引入查询改写功能,支持对改写后的多个查询进行检索和结果融合 - 增加搜索结果切分及按照分块的相关性筛选 -更多特性详见: [Jiuwen-deepsearch release notes](./docs/release_notes.md) - -## 快速开始 +更多特性详见: [Jiuwen-deepsearch release notes](https://gitee.com/openeuler/jiuwen-deepsearch/tree/master/docs/release_notes) +## 🚀 快速开始 --- ### 环境要求 - Python 3.12+ @@ -75,11 +68,11 @@ cp .env.example .env # 构建工程所需的配置项 #·log_file : 运行日志 #·max_plan_executed_num : 最多执行的规划次数 -#·max_report_generated_num : 最多生成的报告份数 +#·max_report_generated_num : 最多生成的报告次数 #·recursion_limit : 单轮的最大递归深度 -#·max_task_num : 每次任务的规划上限 +#·max_step_num : 每次任务的规划上限 #·max_search_results : 搜索结果的保留条数 -#·max_crawl_length : 单页抓取字数的上限 +#·max_crawl_length : 爬取信息的最大数据长度 cp service.yaml.example service.yaml ``` ### 控制台用户界面 @@ -96,9 +89,7 @@ uv run main.py query (例:uv run main.py 今天杭州的天气怎么样) uv run start_server.py IP port (例:uv run start_server.py --host 127.0.0.1 -p 8888) ``` -## 搜索引擎支持 - ---- +## 📚 搜索引擎支持 ### 网页搜索 - **Tavily** :允许用户通过API接口获取搜索结果 + 需要在.env配置TAVILY_API_KEY变量 @@ -142,8 +133,7 @@ RAGFLOW_API_URL="http//xxx" RAGFLOW_API_KEY="ragflow-xxx" ``` -## 核心特性 - +## 🌟 核心特性 --- - **精准融合检索** + 支持对于通用网页及本地知识库的深度检索与研究。 @@ -163,14 +153,11 @@ RAGFLOW_API_KEY="ragflow-xxx" + 报告内容可溯源检索内容 ## 执行流程 - --- 本系统实现智能化深度研究的流程,基于用户的报告生成需求,进行多次全面的网络信息检索和/或代码执行,通过不断总结推理以获取满足报告撰写的必要信息后,为用户提供内容丰富的研究报告。 ![流程图](assets/diagram.svg) -## API参考 - ---- +## 🏗️ API参考 ### research接口 #### 请求结构 @@ -179,10 +166,8 @@ RAGFLOW_API_KEY="ragflow-xxx" | messages | str | 用户查询内容 | | local_datasets | Optional[List[str]] | 需要查询的本地知识库表uri | | session_id | Optional[str] | 会话id | -| max_plan_iterations | Optional[int] | 最大迭代次数 | -| max_step_num | Optional[int] | 每次迭代计划的步数 | | report_style | str | 生成报告的风格 | -| report_type | str | 生成报告的类型 | +| report_format | str | 生成报告的类型 | #### 返回结构 @@ -205,10 +190,8 @@ Content-Type: application/json "message": "hello", "local_datasets": "null", "session_id": "null", - "max_plan_iterations": "5", - "max_step_num": "10", "report_style": "null", - "report_type": "null" + "report_format": "null" } ``` @@ -309,7 +292,6 @@ msgs = [HumanMessage(content="Hello")] resp = client.invoke(msgs) ``` - ### MultiServerMCPClient接口 #### 请求结构 @@ -317,9 +299,9 @@ resp = client.invoke(msgs) |:-------: |:-------: |:------: | | connections| dict[str, Connection]或None | 映射服务器名称到连接配置的字典。如果为 None则不建立初始连接。 | -#### 样例参考 +### 样例参考 -##### 工具调用时启动新会话 +#### 工具调用时启动新会话 ```python from langchain_mcp_adapters.client import MultiServerMCPClient @@ -342,7 +324,7 @@ client = MultiServerMCPClient( all_tools = await client.get_tools() ``` -##### 显式启动目标会话 +#### 显式启动目标会话 ```python from langchain_mcp_adapters.client import MultiServerMCPClient @@ -353,17 +335,14 @@ async with client.session("math") as session: tools = await load_mcp_tools(session) ``` -## 版本特性追踪 - +## ❓ 版本特性追踪 --- -各版本特性详见 [Jiuwen-deepsearch release notes](./docs/release_notes.md) -## 许可证 - +各版本特性详见 [Jiuwen-deepsearch release notes](https://gitee.com/openeuler/jiuwen-deepsearch/tree/master/docs/release_notes) +## 📜 许可证 --- **Jiuwen-DeepSearch**使用木兰协议(Mulan PSL),木兰协议是由中国开放原子开源基金会发布的开源许可证,旨在鼓励中国开源社区的发展。该协议强调代码共享和社区贡献,允许用户自由使用、修改和分发代码,同时要求在分发时保留原始版权声明和许可证文本,并标明修改内容。请见 [License](https://gitee.com/openeuler/jiuwen-deepsearch/blob/master/LICENSE) -## 致谢 - +## 🙏 致谢 --- **Jiuwen-DeepSearch**的构建离不开开源社区的卓越成果。我们由衷感谢所有为**Jiuwen-DeepSearch**的实现提供支持的项目及贡献者,正是他们的努力,才让本项目得以落地。 @@ -376,7 +355,6 @@ async with client.session("math") as session: 特别感谢上述项目的开发团队及所有社区贡献者,正是你们的持续迭代、文档完善与开源共享,让**Jiuwen-DeepSearch**能够站在巨人的肩膀上快速成长。这份开源精神也将激励我们在迭代中保持开放,期待未来能为社区贡献更多价值。 -## 常见问题FAQ - +## ❓ 常见问题FAQ --- -常见问题详见 [FAQ列表](./docs/FAQ.md) \ No newline at end of file +常见问题详见 [FAQ列表](https://gitee.com/openeuler/jiuwen-deepsearch/tree/master/docs/release_notes) \ No newline at end of file