Rumah > Peranti teknologi > AI > 30 baris kod Python boleh memanggil API ChatGPT untuk meringkaskan kandungan utama kertas itu

30 baris kod Python boleh memanggil API ChatGPT untuk meringkaskan kandungan utama kertas itu

PHPz
Lepaskan: 2023-04-04 12:05:06
ke hadapan
1112 orang telah melayarinya

Membaca kertas boleh dikatakan sebagai salah satu tugas harian kita. Terdapat terlalu banyak kertas kerja. Sejak kemunculan ChatGPT, terdapat banyak perkhidmatan yang tersedia untuk membaca kertas. Sebenarnya, menggunakan API ChatGPT adalah sangat mudah Kita boleh membina aplikasi kita sendiri secara tempatan dengan hanya 30 baris kod python.

Membaca kertas boleh dikatakan sebagai salah satu tugas harian kita. Sejak kemunculan ChatGPT, terdapat banyak perkhidmatan yang tersedia untuk membaca kertas. Sebenarnya, menggunakan API ChatGPT adalah sangat mudah Kita boleh membina aplikasi kita sendiri secara tempatan dengan hanya 30 baris kod python.

30 baris kod Python boleh memanggil API ChatGPT untuk meringkaskan kandungan utama kertas itu

Langkah-langkah untuk meringkaskan kertas menggunakan Python dan ChatGPT API adalah mudah:

  • PyPDF2 untuk pemprosesan PDF dan GPT-3.5- OpenAI dengan turbo antara muka.
  • Buka dan baca fail PDF menggunakan PyPDF2.
  • Lintas setiap halaman dalam dokumen PDF dan ekstrak teks.
  • Gunakan GPT-3.5-turbo untuk menjana coretan bagi setiap teks halaman.
  • Gabungkan ringkasan dan simpan teks ringkasan akhir pada fail.

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)

Dapatkan teks setiap halaman:

untuk page_num dalam julat(len(pdf_reader. pages)):
page_text = pdf_reader.pages[page_num].extract_text().lower()

Gunakan API openai untuk ringkasan

respon = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
message=[
{"role": "system", "content": "Anda ialah pembantu penyelidik yang membantu."},
{" peranan ": "user", "content": f"Ringkaskan ini: {page_text}"},
],
)
page_summary = response["choices"][0]["message"] [ "kandungan"]

Gabungkan ringkasan

pdf_summary_text += page_summary + "n"
pdf_summary_file = pdf_file_path.replace(os.path.slitext(pdf_file_path)[1], "._summary txt")
dengan buka(pdf_summary_file, "w+") sebagai fail:
file.write(pdf_summary_text)

Selesai, tutup fail pdf dan kitar semula memori

pdf_file. close()

Kod lengkap adalah seperti berikut:

import os
import PyPDF2
import semula
import openai

# Di sini saya anggap anda berada pada Buku Nota Musytari dan muat turun kertas itu terus daripada URL
!curl -o paper.pdf https://arxiv.org/pdf/2301.00810v3.pdf?utm_source=pocket_saves

# Tetapkan rentetan yang akan mengandungi ringkasan
pdf_summary_text = ""
# Buka fail PDF
pdf_file_path = "paper.pdf"
# Baca fail PDF menggunakan PyPDF2
pdf_file = open(pdf_file_path, 'rb' )
pdf_reader = PyPDF2.PdfReader(pdf_file)
# Gelung semua halaman dalam fail PDF
untuk page_num dalam julat(len(pdf_reader.pages)):
# Ekstrak teks daripada halaman
page_text = pdf_reader.pages[page_num].extract_text().lower()

respons = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "Anda ialah pembantu penyelidik yang membantu."},
{"role": "user", "content": f "Ringkaskan ini : {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")
dengan open(pdf_summary_file, "w+") sebagai fail:
fail. tulis(pdf_summary_text )

pdf_file.close()

dengan open(pdf_summary_file, "r") sebagai fail:
print(file.read())

Perlu penjelasan Terdapat dua perkara:

1 Had panggilan API percuma bagi openai adalah terhad 🎜>

2. boleh cuba muat naik carta kertas untuk melihat jika akan ada keputusan yang lebih baik (Tidak pasti)

Atas ialah kandungan terperinci 30 baris kod Python boleh memanggil API ChatGPT untuk meringkaskan kandungan utama kertas itu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan