Maison  >  Article  >  Périphériques technologiques  >  30 lignes de code Python peuvent appeler l'API ChatGPT pour résumer le contenu principal de l'article

30 lignes de code Python peuvent appeler l'API ChatGPT pour résumer le contenu principal de l'article

PHPz
PHPzavant
2023-04-04 12:05:061048parcourir

La lecture d'articles peut être considérée comme l'une de nos tâches quotidiennes. Il y a trop d'articles. Comment pouvons-nous les lire et les résumer rapidement ? Depuis l’émergence de ChatGPT, de nombreux services sont disponibles pour lire des articles. En fait, utiliser l'API ChatGPT est très simple. Nous pouvons créer notre propre application localement avec seulement 30 lignes de code python.

La lecture d'articles peut être considérée comme l'une de nos tâches quotidiennes. Il y a trop d'articles. Comment pouvons-nous les lire et les résumer rapidement ? Depuis l’émergence de ChatGPT, de nombreux services sont disponibles pour lire des articles. En fait, utiliser l'API ChatGPT est très simple. Nous pouvons créer notre propre application localement avec seulement 30 lignes de code python.

30 lignes de code Python peuvent appeler l'API ChatGPT pour résumer le contenu principal de l'article

Les étapes pour résumer l'article à l'aide de Python et de l'API ChatGPT sont simples :

  • PyPDF2 pour le traitement PDF et OpenAI pour l'interface avec GPT-3.5-turbo.
  • Utilisez PyPDF2 pour ouvrir et lire des fichiers PDF.
  • Parcourez chaque page du document PDF et extrayez le texte.
  • Utilisez GPT-3.5-turbo pour générer des extraits pour le texte de chaque page.
  • Fusionnez les résumés et enregistrez le texte du résumé final dans un fichier.

import PyPDF2
import openai
pdf_summary_text = ""

parse pdf

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

Obtenez le texte de chaque page :

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

Utilisez l'API d'openai pour le résumé

réponse = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "Vous êtes un assistant de recherche utile."},
{ "role": "user", "content": f"Résumez ceci : {page_text}"},
],
)
page_summary = réponse["choices"][0]["message"]["content" ]

Résumé de fusion

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

Terminé, fermez le fichier pdf et recyclez la mémoire

pdf_file.close()

Le code complet est le suivant:

import os
import PyPDF2
import re
import openai

# Ici, je suppose que vous êtes sur un Jupiter Notebook et que vous téléchargez le document directement depuis l'URL
!curl -o paper.pdf https://arxiv.org/pdf/2301.00810v3.pdf?utm_source=pocket_saves

# Définissez le chaîne qui contiendra le résumé
pdf_summary_text = ""
# Ouvrez le fichier PDF
pdf_file_path = "paper.pdf"
# Lisez le fichier PDF en utilisant PyPDF2
pdf_file = open(pdf_file_path, 'rb')
pdf_reader = PyPDF2.PdfReader (pdf_file)
# Parcourez toutes les pages du fichier PDF
pour page_num in range(len(pdf_reader.pages)):
# Extrayez le texte de la page
page_text = pdf_reader.pages[page_num].extract_text(). lower()

response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "Vous êtes un assistant de recherche utile. "},
{"role": "user", "content": f"Résumez ceci : {page_text}"},
],
)
page_summary = réponse["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")
avec open(pdf_summary_file, "w+") comme fichier :
file .write(pdf_summary_text)

pdf_file.close()

with open(pdf_summary_file, "r") as file:
print(file.read())

Il y a deux choses qui doivent être expliquées :

1. openai La limite d'appels API gratuits est limitée. Un article avec cette méthode coûte environ 0,2 à 0,5 dollars américains, ce qui varie en fonction de la longueur de l'article 2. Je n'ai pas testé l'API de gpt4 car je. Je n'en ai pas encore fait la demande, et cela dépend du prix. C'est trop cher (20 fois plus cher) et je ne pense pas que ça en vaut la peine, mais vous pouvez essayer de télécharger les graphiques du papier pour voir s'il aura de meilleurs résultats (pas sûr)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer