Skip to content

Revert Merge Commit#592

Merged
666ghj merged 8 commits into
666ghj:mainfrom
MaYiding:Revert-GraphRAG
Mar 5, 2026
Merged

Revert Merge Commit#592
666ghj merged 8 commits into
666ghj:mainfrom
MaYiding:Revert-GraphRAG

Conversation

@MaYiding

Copy link
Copy Markdown
Contributor

No description provided.

@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. documentation Improvements or additions to documentation labels Feb 28, 2026
@666ghj

666ghj commented Mar 1, 2026

Copy link
Copy Markdown
Owner
  1. _parse_chapter 异常类型降级影响# 回退后(本 PR)
  raise ValueError("LLM返回空内容")
  raise ValueError("章节JSON缺少chapter字段")

  # 回退前(当前 main)
  raise ChapterJsonParseError("LLM返回空内容", raw_text=raw_text)
  raise ChapterJsonParseError("章节JSON缺少chapter字段或结构不完整", raw_text=cleaned)

  ChapterJsonParseError  ValueError 的子类run() 方法中 except ChapterJsonParseError 捕获不到父类 ValueError LLM 返回空内容或 JSON 缺少 chapter
  字段时异常会直接穿透上层所有 except 导致整章生成失败且不会进入重试或降级逻辑2. agent.py 移除宽泛异常重试影响中高移除了对 AttributeError, TypeError, KeyError, IndexError, ValueError, json.JSONDecodeError 的捕获重试如果 LLM 返回畸形 JSON
  导致运行时异常现在会直接崩溃而非重试3. 移除非字典 block 防御性处理影响chapter_generation_node.py  walk() / _merge_fragment_sequences() / _merge_nested_fragments() 里对 LLM 返回非字典类型 blockstringlist
  的容错处理全部移除如果 LLM 输出异常结构现在会直接报错而非自动修复4. 移除 _normalize_list_type 和表格行溢出修复影响- _normalize_list_type():将非法 listType "unordered"自动映射为 "bullet" 的逻辑被移除
  - html_renderer.py  _fix_nested_table_rows():多行表格数据溢出到单行时的重组逻辑被简化

好像丢失了一些PR的修改,譬如你这次的PR:927c41c
也随本次的回退丢失了,再仔细检查一下。

另外gemini-2.5-pro → gemini-3.1-pro-preview 不属于 GraphRAG 回退范畴,改回去。

MaYiding and others added 5 commits March 2, 2026 07:13
This reverts commit cb642b4.
  1. _parse_chapter 异常类型降级(影响:高)

  # 回退后(本 PR)
  raise ValueError("LLM返回空内容")
  raise ValueError("章节JSON缺少chapter字段")

  # 回退前(当前 main)
  raise ChapterJsonParseError("LLM返回空内容", raw_text=raw_text)
  raise ChapterJsonParseError("章节JSON缺少chapter字段或结构不完整", raw_text=cleaned)

  ChapterJsonParseError 是 ValueError 的子类。run() 方法中 except ChapterJsonParseError 捕获不到父类 ValueError。当 LLM 返回空内容或 JSON 缺少 chapter
  字段时,异常会直接穿透上层所有 except 块,导致整章生成失败且不会进入重试或降级逻辑。

  2. agent.py 移除宽泛异常重试(影响:中高)

  移除了对 AttributeError, TypeError, KeyError, IndexError, ValueError, json.JSONDecodeError 的捕获重试。如果 LLM 返回畸形 JSON
  导致运行时异常,现在会直接崩溃而非重试。

  3. 移除非字典 block 防御性处理(影响:中)

  chapter_generation_node.py 中 walk() / _merge_fragment_sequences() / _merge_nested_fragments() 里对 LLM 返回非字典类型 block(string、list
  等)的容错处理全部移除。如果 LLM 输出异常结构,现在会直接报错而非自动修复。

  4. 移除 _normalize_list_type 和表格行溢出修复(影响:低)

  - _normalize_list_type():将非法 listType(如 "unordered")自动映射为 "bullet" 的逻辑被移除
  - html_renderer.py 的 _fix_nested_table_rows():多行表格数据溢出到单行时的重组逻辑被简化
使用 unicodedata 计算字符串终端显示宽度,替代原来按字符数填充的方式,
正确处理中文、全角标点和 emoji 等宽字符,使提示框右侧 ║ 对齐。

Co-Authored-By: Claude <noreply@anthropic.com>
@MaYiding

MaYiding commented Mar 2, 2026

Copy link
Copy Markdown
Contributor Author

上面的四个问题都存在,在e5210bf解决了,927c41c没了的问题在fdbb0f2里解决了,目前手里还有三个小Bug,不影响使用,之后单独开PR

@666ghj

666ghj commented Mar 3, 2026

Copy link
Copy Markdown
Owner

三个小Bug是啥,整狼人杀是吧,说一下我看看🤣

@MaYiding

MaYiding commented Mar 3, 2026

Copy link
Copy Markdown
Contributor Author
  1. 生成Markdown的时候极低概率会触发部分章节顺序错误,目前只发生过一次
  2. 生成PDF时如果有超长表格,分页分的不自然
  3. blockquote块里没严格限制禁止内嵌等,渲染出来可能会出现退化为纯文本,Markdown格式则直接不支持这种嵌套,直接改Prompt就行,这种嵌套实际不需要

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants