现在有一文档"S:\temp\test.txt",希望通过本地LLM来自动完成文档的整理与讲解.
1.拆分文档,按照'input_file, output_dir, chunk_size=2500)'拆分为完整的小文件,并保证文档的完整性,以"."作为结尾的标志.保存到"S:\temp\split_chunks".
2.用python循环读取,文件夹里的每一个小文档,用正则表达式提取与时间有关的数字,例如:"patterns = [
r'\b\d{1,4} (?:AD|BC)\b',
r'\b(?:AD|BC) \d{1,4}\b',
r'\bin \d{1,4} (?:AD|BC)?\b',
r'\bin \w+? \d{1,4}',
r'\b\d{1,2}(?:st|nd|rd|th)? \w+',
r'\bat \d{1,2}(?:st|nd|rd|th)? [apm]{2}',
r'\b(?:before|after) \d{1,4} (?:AD|BC)?\b',
r'\b\d{1,4} (?:AD|BC)\b',
r'\bo\w+ \d{1,4}\b',
r'\buntil \d{1,4}',
r'\bb\w+ \d{1,4}',
r'\bo\w+ \w+ \d{1,4}\b',
r'\bin \d{1,4}'"
]"以列表保存到虚拟内存里.
3.用本地的LLM,'url = "http://localhost:11434/api/generate"',使用"model": "gemma2",来循环读取"S:\temp\split_chunks"里的小文档.
4.设计灵活的prompt,用正则表达式提取的时间列表,来循环提问,询问文档里的时间,什么人,发生了什么事件?并用格式化输出到文件夹保存,每一个被分割的文件,根据提取的时间来询问一下,最后,将gemma2模型总结的所有内容,合并输出为一个本地文件
5.在python中,要使用gc的垃圾回收机制,以避免代码内存不足