ชื่อเรื่อง: บทสรุปบทความข่าว AI กับ Chatopenai
คำอธิบาย:
รหัส Python นี้ดึงบทความจาก URL ที่ให้ไว้แยกชื่อและข้อความจากนั้นใช้ไลบรารี Chatopenai (สมมติว่าการเข้าถึง) เพื่อสร้างสรุปกระสุนโดยใช้โมเดล GPT-4
ติดตั้งการพึ่งพา:
pip install requests newspaper dotenv langchain chat-openai
แทนที่ URL ตัวยึดตำแหน่ง:
อัปเดต article_url ด้วย URL จริงของบทความที่คุณต้องการสรุป เรียกใช้สคริปต์:
เรียกใช้สคริปต์ Python โดยใช้คำสั่งเช่น:
python your_script_name.py
การแบ่งรหัส:
นำเข้า:
- JSON: สำหรับการจัดการข้อมูล JSON ที่มีศักยภาพ (ไม่ได้ใช้อย่างชัดเจนในรหัสนี้)
- คำขอ: เพื่อดึงเนื้อหาเว็บจาก URL ที่ให้ไว้
- หนังสือพิมพ์: เพื่อแยกชื่อเรื่องและข้อความจากบทความที่ดาวน์โหลด
- DOTENV: เพื่อจัดการตัวแปรสภาพแวดล้อม (ไม่ได้ใช้ในเวอร์ชันปัจจุบัน)
- langchain.schema.humanmessage: กำหนดรูปแบบข้อความสำหรับ Chatopenai
- langchain_community.chat_models.chatopenai: เปิดใช้งานการโต้ตอบกับ Chatopenai
ส่วนหัว:
- กำหนดสตริงตัวแทนผู้ใช้สำหรับส่วนหัวคำขอ HTTP
URL บทความและเซสชัน:
- ตั้งค่าตัวแปรบทความ _url เพื่อเก็บ URL ของบทความ
- สร้างวัตถุคำขอการจัดการสำหรับการจัดการคำขอ HTTP
การดึงเนื้อหาบทความ:
- พยายามดึงบทความโดยใช้คำขอ
- หากประสบความสำเร็จ (รหัสสถานะ 200) ให้สร้างวัตถุหนังสือพิมพ์วัตถุการดาวน์โหลดและวิเคราะห์บทความ
- แยกชื่อเรื่องและข้อความโดยใช้บทความ. TITLE และบทความ
- พิมพ์ข้อความแสดงข้อผิดพลาดหากการดึงข้อมูลล้มเหลว
เทมเพลตพรอมต์:
- สร้างสตริงเทมเพลตโดยใช้ F-strings สำหรับการแทรกข้อความที่จัดรูปแบบ
- แทรกบทความที่ดึงมาได้ _title และ article_text ลงในเทมเพลต
การโต้ตอบของ Chatopenai:
- (สมมติว่าการเข้าถึง) สร้างวัตถุ Chatopenai ด้วยรุ่น GPT-4 (ถ้ามี) และตั้งค่าพารามิเตอร์อุณหภูมิ (ควบคุมการสุ่ม)
- (สมมติว่าการเข้าถึง) สร้างรายการวัตถุมนุษย์ที่มีพรอมต์
- (สมมติว่าการเข้าถึง) สร้างบทสรุปโดยใช้การแชท (ข้อความ)
- (สมมติว่าการเข้าถึง) พิมพ์เนื้อหาสรุปที่สร้างขึ้น
หมายเหตุเพิ่มเติม:
- พิจารณาสำรวจไลบรารีหรือเทคนิคการสรุปทางเลือก (เช่น Gensim, Spacy) สำหรับการบังคับใช้ที่กว้างขึ้นหากการเข้าถึงโมเดล GPT-4 ของ Chatopenai มี จำกัด
- รหัสสามารถปรับปรุงเพิ่มเติมด้วยคุณสมบัติเพิ่มเติมเช่น:
- ผู้ใช้อินพุตสำหรับ URL บทความ
- รองรับโมเดลการสรุปที่แตกต่างกัน
- ตัวเลือกการจัดรูปแบบเอาท์พุท (กระสุนปืนข้อความ ฯลฯ )