本项目需要从小说中抽取诗(Poem):
- 需要提取的内容主要是诗的主体内容(包括每句后面的符号)和所在卷/章,并且需要通过LLM api来判断吟诗人(
util.analyze_author)和规则提取的内容是否为诗(util.validate_poem) model.py是预先定义好的结构,如果有需要,可以修改类型(如dataclass修改为BaseModel),但不要修改内容- 通过
test.py中的两个测试点即视为项目完成 - 目标文件是
novel.txt这个文件很大,别直接看全文,可以看示例文件demo.txt这是从原文中截取的片段 - 诗由偶数条诗句组成,一般数量为4/8两种,每句是五言或者七言,但是不会混搭(即一首诗只能是五言诗或者七言诗)
- 诗都是从新句开始,开始位置前不是逗号等表示语句未完的符号
- 建议先通过unicode类型来切分文本,预过滤的情况见
extract.collect_punct下的注释 - 项目开始前先解析需求并在 TODO.md 追踪执行情况
- 项目使用 venv 作为虚拟环境(当前路径下的
venv),当前包可以使用uv pip list查看,如果需要额外的包,需要说明理由并让我手动下载