项目笔记书籍摘要
使用语言:Python 3.11.9
你可以查看背景故事以获取一些我在使用LLM学习过程中的信息,以及我是如何做出某些决策的。
*注意: 这个代码是我在开始开发Web应用程序时分叉的一个原型。因此,它不是非常完善,但能用!
项目笔记摘要
该项目创建了书籍和其他长文本的项目笔记摘要,尤其是包含目录元数据的epub和pdf。
当电子书包含适当的元数据时,我们可以轻松自动提取大多数书籍的章节,并将它们分成约2000个token的块,如果你的文档没有这些元数据,则有备用方案。
主要思想
这个项目的主要思想是我们不想一次处理整个文档,而是将其分成许多小块,并针对这些小块提出问题,以提高响应的细致程度。我们不需要整本书的一页摘要,我们希望得到每一页书的摘要。此外,我们可以向这些部分提问。对文本的每一部分提出相同的问题,而不是一次性对整个文本提出一个问题。
内容
使用对象
Ollama.com:
Huggingface.co:
- Mistral Instruct Bulleted Notes - HuggingFace上的合集
使用说明
pip install requirements.txt
python3 book2text.py ebook_name.{epub|pdf}
->ebook_name_processed.csv
python3 sum.py model_name ebook_name_processed.csv
->ebook_name_processed_sum.md
- 更新
sum.py
以更改问题,并使用你喜欢的非项目笔记模型
python3 sum.py obook_summary ebook_name_processed.csv
sum.py
:
def process_file(input_file, model):
prompt = "请编写所提供文本的全面项目笔记。"
ptitle = "用少于20个字来简洁地描述这一段内容,不要有前缀或任何进一步的解释。"
模型
你可以直接从ollama获取这些模型。
示例:ollama pull obook_summary:q5_k_m
- Mistral Instruct Bulleted Notes - HuggingFace上的合集
- obook_summary - 在Ollama.com上
latest
• 7.7GB • Q_8q2_k
• 2.7GBq3_k_m
• 3.5GBq4_k_m
• 4.4GBq5_k_m
• 5.1GBq6_k
• 5.9GB
- obook_title - 在Ollama.com上
latest
• 7.7GB • Q_8q3_k_m
• 3.5GBq4_k_m
• 4.4GBq5_k_m
• 5.1GBq6_k
• 5.9GB
模型文件
Mistral 项目笔记
FROM Mistral-7B-Instruct-v0.3.Q8_0.gguf
TEMPLATE """