30行python代码就可以调用ChatGPT API总结论文的主要内容

news/2024/11/23 9:42:36/

阅读论文可以说是我们的日常工作之一,论文的数量太多,我们如何快速阅读归纳呢?自从ChatGPT出现以后,有很多阅读论文的服务可以使用。其实使用ChatGPT API非常简单,我们只用30行python代码就可以在本地搭建一个自己的应用。

使用 Python 和 ChatGPT API 总结论文的步骤很简单:

  • 用于 PDF 处理的 PyPDF2 和用于与 GPT-3.5-turbo 接口的 OpenAI。
  • 使用 PyPDF2 打开并阅读 PDF 文件。
  • 遍历 PDF 文档中的每一页,提取文本。
  • 使用 GPT-3.5-turbo 为每个页面的文本生成摘要。
  • 合并摘要并将最终摘要文本保存到文件中。
 import PyPDF2import openaipdf_summary_text = ""

解析pdf

 pdf_file_path = "./pdfs/paper.pdf"pdf_file = open(pdf_file_path, 'rb')pdf_reader = PyPDF2.PdfReader(pdf_file)

获取每一页的文本:

 for page_num in range(len(pdf_reader.pages)):page_text = pdf_reader.pages[page_num].extract_text().lower()

使用openai的api进行汇总

 response = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "You are a helpful research assistant."},{"role": "user", "content": f"Summarize this: {page_text}"},],)page_summary = response["choices"][0]["message"]["content"]

合并摘要

 pdf_summary_text += page_summary + "\n"pdf_summary_file = pdf_file_path.replace(os.path.splitext(pdf_file_path)[1], "_summary.txt")with open(pdf_summary_file, "w+") as file:file.write(pdf_summary_text)

搞定,关闭pdf文件,回收内存

 pdf_file.close()

完整代码如下:

 import osimport PyPDF2import reimport openai# Here I assume you are on a Jupiter Notebook and download the paper directly from the URL!curl -o paper.pdf https://arxiv.org/pdf/2301.00810v3.pdf?utm_source=pocket_saves# Set the string that will contain the summary     pdf_summary_text = ""# Open the PDF filepdf_file_path = "paper.pdf"# Read the PDF file using PyPDF2pdf_file = open(pdf_file_path, 'rb')pdf_reader = PyPDF2.PdfReader(pdf_file)# Loop through all the pages in the PDF filefor page_num in range(len(pdf_reader.pages)):# Extract the text from the pagepage_text = pdf_reader.pages[page_num].extract_text().lower()response = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "You are a helpful research assistant."},{"role": "user", "content": f"Summarize this: {page_text}"},],)page_summary = response["choices"][0]["message"]["content"]pdf_summary_text+=page_summary + "\n"pdf_summary_file = pdf_file_path.replace(os.path.splitext(pdf_file_path)[1], "_summary.txt")with open(pdf_summary_file, "w+") as file:file.write(pdf_summary_text)pdf_file.close()with open(pdf_summary_file, "r") as file:print(file.read())

需要说明的是2个事情:

1、openai的API免费调用额度是有限的,这个方法一篇论文大概在0.2-0.5美元左右,根据论文长度会有变化

2、gpt4的API我没测试,因为我还没有申请到,并且看价格那个太贵了(贵20倍)我觉得不值,但是可以试试把论文的图表一同传过去,是不是会有更好效果(不确定)

https://avoid.overfit.cn/post/914a2ba7497f467798bed72208778ad8


http://www.ppmy.cn/news/37955.html

相关文章

VUE 跳转链接去掉中间#号

问题原因: Vue 的 router 默认是 hash 模式,在 hash 模式下,是会有#号在URL上; 例如如你访问: https://www.baidu.com,实际跳转 https://www.baidu.com/#/index 即它在路由时,在每个路径前面…

《安富莱嵌入式周报》第306期:开源独轮车,Cortex-M85修订版r1发布,Terathon图形数学库,不断变革的IDE开发环境,各个厂家总动员

往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1TT411Y7fq 《安富莱嵌入式周报》第306期:开源…

陈刚:大管家健康产业有限公司的联合创始人兼CEO

与其被创业者坑,还不如自己“坑”自己,看投资人为何成为操刀者! 想找人来投资自己的项目! 那你知道什么样的人才最容易拿到投资吗? 想要在现有的发展状态下有些新的尝试! 那你如何稳抓良机,成功…

echarts——实现中国地图+世界地图的切换——技能提升

之前写过一篇文章,是关于中国地图的展示。 vueecharts.js 实现中国地图——根据数值表示省份的深浅——技能提升:http://t.csdn.cn/rfQGl 最后实现的效果如下图所示: 今天遇到一个需求,就是实现中国地图和世界地图的切换。 话不…

客户至上:减少客户服务等待时间的 4 个技巧

在提供出色的客户服务方面,等待时间至关重要。如果客户等待数小时才能得到回复,他们可能会放弃对话甚至可能决定将转向您的竞争对手。 如果您的客户无法处理等待,他们可能会将不满发泄到您的座席身上,这也不利于客服成员的工作。那…

IDEA vs Eclipse:使用体验对比

1. 概述 IDEA 和 Eclipse 都是常见的集成开发环境(IDE),用于编写和调试代码。它们都有一些共同的功能,例如代码编辑器、调试器、版本控制等等。但是在具体的使用体验上,它们有很多不同之处。 本文将对 IDEA 和 Eclip…

你知道如何用C语言将格式化数据和字符串相互转换吗?

今天重点介绍2个函数,分别是sprintf和sscanf,用来将格式化数据和字符串相互转换。它们的作用分别是: sprintf函数用于将格式化数据转换成字符串。sscanf函数用于将字符串转换成格式化数据。 接下来是第一个大问题:我怎么记忆呢&…

MySQL8.0安装教程

1.鼠标右击【MySQL8.0】压缩包(win11及以上系统需先点击“显示更多选项”)选择【解压到 MySQL8.0】 2.打开解压后的文件夹,双击运行【mysql-installer-community-8.0.13.0】 3.勾选【I accept the license terms】,点击【Next】 4…