Python书籍摘要生成器

是否曾经想要快速了解一本书的主要内容,而不必逐页阅读?现在,为提供了解决方案。本文将讨论如何使用Python和OpenAI的GPT-3.5在短短10分钟内创建一个书籍摘要生成器。

更多信息:

如何使用ChatGPT API在Python中

数据科学与AI爱好者的盛会

抓紧机会!为带来了一个非凡的提议,它将提升技能并拓宽视野。所有数据科学和AI爱好者,不要错过备受期待的DataHack Summit 2023。记下8月2日至5日的日期,并准备在班加罗尔的NIMHANS会议中心大开眼界。这个卓越的活动旨在通过沉浸式的实践课程、行业变革的洞察和无尽的网络机会点燃热情。不要错过这场数据革命——加入,成为这场运动的一部分!

使用Python创建书籍摘要生成器的步骤

将使用Google Colab来完成这项工作。通常下载的书籍是PDF格式的,因此将安装PyPDF2库。此外,将使用OpenAI的GPT-3.5来完成手头的任务,并使用OpenAI API进行查询。让安装所需的库:

!pip install openai PyPDF2

安装完所需的库后,让导入它们并初始化本地变量。还需要指定PDF文件的位置并添加OpenAI API密钥。

import openai import PyPDF2 import os import pandas as pd import time filepath= "" openai.api_key = ""

现在将创建一个查询GPT-3.5 Turbo模型的函数:

def get_completion(prompt, model="gpt-3.5-turbo"): messages = [{"role": "user", "content": prompt}] response = openai.ChatCompletion.create( model=model, messages=messages, temperature=0, # 这是模型输出随机度的程度 ) return response.choices[0].message["content"]

由于OpenAI对输入提示大小有限制,希望将需要摘要的数据分部分发送。分割文本有多种方法。为了简单起见,将根据页面将整本书分割。更好的策略是按段落分割,但这将增加API调用次数,从而增加总体时间。将每个页面存储在列表中,然后进行摘要。

pdfFileObject = open(filepath, 'rb') pdfReader = PyPDF2.PdfReader(pdfFileObject) text=[] summary=' ' for i in range(0,len(pdfReader.pages)): pageObj = pdfReader.pages[i].extract_text() pageObj= pageObj.replace('\t\r','') pageObj= pageObj.replace('\xa0','') text.append(pageObj)

现在将开始提示。这是一个实验性的问题,以找出最佳提示。然而,有一些基本的指导方针可以高效地进行提示。在一些即将到来的文章中,将更详细地讨论提示的艺术。现在可以使用这个提示,它对效果很好。也可以尝试调整它:

for i in range(len(text)): prompt =f""" Your task is to extract relevant information from a text on the page of a book. This information will be used to create a book summary. Extract relevant information from the following text, which is delimited with triple backticks. Be sure to preserve the important details. Text: ```{text[i]}``` """ try: response = get_completion(prompt) except: response = get_completion(prompt) print(response) summary= summary+' ' +response +'\n\n' result.append(response) time.sleep(19) # 可以每分钟免费查询模型3次,所以需要一些延迟

最后,将保存获得的摘要到一个文本文件中:

with open('summary.txt', 'w') as out: out.write(summary)

优点

使用Python和OpenAI的GPT 3.5创建书籍摘要生成器可以保留所有有用信息,并将文档压缩约75%。为了使其更短,可以在提示中添加那个条款。例如,可以要求它在30或40个单词内提取有帮助的信息。总的来说,这仍然是一个用于个人使用的很好的文本摘要方式。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485