นี่คือโปรแกรม Python ที่สร้าง "รายการที่ยอดเยี่ยม" โดยอัตโนมัติสำหรับคำหลักเฉพาะเป็นไฟล์ Markdown "รายการที่ยอดเยี่ยม" เป็นรายการทรัพยากรที่เกี่ยวข้องกับหัวข้อเฉพาะ ปัจจุบันทรัพยากรรวมถึงโครงการ GitHub, บทความ Google Scholar, วิดีโอ YouTube, หลักสูตร, สไลด์และการนำเสนอซอฟต์แวร์และเครื่องมือและพอดแคสต์ รายการที่ยอดเยี่ยมจะถูกสร้างขึ้นโดยอัตโนมัติโดยใช้รุ่น GPT คุณสามารถเลือกระหว่างรุ่นที่แตกต่างกันเพื่อสร้างรายการเช่น GPT 3.5 หรือ GPT 4
poetry install OPENAI_API_KEY=<your_openai_api_key>
บัญชี Google
เยี่ยมชม Google Cloud Console
หากคุณยังไม่ได้สร้างโครงการใหม่โดยคลิกที่ดรอปดาวน์ "Select a Project" ที่มุมบนขวาจากนั้นคลิกที่ "โครงการใหม่"
เมื่อโครงการของคุณถูกสร้างและเลือกให้ไปที่เมนูนำทาง (สามบรรทัดแนวนอนที่มุมซ้ายบน) จากนั้นคลิกที่ "APIS & Services"> "ข้อมูลรับรอง"
คลิกที่ปุ่ม "สร้างข้อมูลรับรอง" และเลือก "API Key" เมื่อสร้างแล้วคีย์ API ของคุณจะปรากฏขึ้น
คัดลอกคีย์ API ของคุณและบันทึกอย่างปลอดภัย คุณจะใช้คีย์นี้ในแอปพลิเคชันของคุณเพื่อตรวจสอบคำขอของคุณ
ไปที่หน้าแรกของ Google Search
คลิกที่ "สร้างเครื่องมือค้นหาที่กำหนดเอง"
ในส่วน "Sites to Search" คุณสามารถระบุเว็บไซต์ที่คุณต้องการค้นหาหรือเลือก "ค้นหาเว็บทั้งหมด" เพื่ออนุญาตความสามารถในการค้นหาที่กว้างขึ้น อย่างไรก็ตามหากคุณเลือก "ค้นหาเว็บทั้งหมด" ตรวจสอบให้แน่ใจว่าสลับ "การค้นหา" รวมเฉพาะเว็บไซต์ "ปิดภายใต้ส่วน" ไซต์เพื่อค้นหา "
กรอกข้อมูลในฟิลด์อื่น ๆ ที่จำเป็นเช่นชื่อเครื่องมือค้นหาของคุณ
คลิกที่ปุ่ม "สร้าง" ที่ด้านล่าง
เมื่อเครื่องมือค้นหาของคุณถูกสร้างขึ้นคุณจะถูกนำไปยังหน้าการตั้งค่า ที่นี่ค้นหาและคัดลอก "ID Search Engine" (เรียกอีกอย่างว่า "CX" ในบางบริบท) คุณจะใช้ ID นี้ในแอปพลิเคชันของคุณเพื่อระบุเครื่องมือค้นหาที่กำหนดเองที่จะใช้สำหรับการสืบค้น
สุดท้ายเพิ่มตัวแปรสภาพแวดล้อมต่อไปนี้ในไฟล์. ENV:
GOOGLE_CLOUD_API_KEY='<google cloud api key>'
CUSTOM_SEARCH_ENGINE_ID='<custom search engine id>'
เราได้จัดทำอินเทอร์เฟซ Streamlit สำหรับการเรียกใช้แอปพลิเคชันนี้ เพื่อใช้:
เรียกใช้แอปพลิเคชัน Streamlit โดยใช้บทกวี:
poetry run streamlit run streamlit_run.py เปิด http://localhost:8501
คุณสามารถป้อนพารามิเตอร์ที่จำเป็นได้อย่างง่ายดาย (เช่นประเภทรุ่นคำหลักและคำอธิบาย) ผ่าน UI และสร้างรายการที่ยอดเยี่ยมของคุณ!
คลาสหลักที่ใช้ในโครงการนี้คือ AwesomeListGenerator คลาสนี้ยอมรับพารามิเตอร์ต่อไปนี้:
keyword : สตริงที่แสดงคำหลักที่จะสร้างรายการที่ยอดเยี่ยมdescription : สตริงที่ให้คำอธิบายที่เกี่ยวข้องกับคำหลักmodel : สตริงที่แสดงถึงโมเดล OpenAI ที่จะใช้สำหรับการสร้าง markdown (ค่าเริ่มต้นคือ "GPT-3.5-turbo-16K")data_extraction_batch_size : จำนวนเต็มแสดงจำนวนรายการข้อมูลที่จะประมวลผลในแต่ละชุด (ค่าเริ่มต้นคือ 10) ตัวอย่างเช่นหากขนาดแบทช์เป็น 10 ข้อมูลจะถูกดึงมาจากแหล่งข้อมูลในแบตช์ 10 (เช่น 10 โครงการ GitHub ในแต่ละครั้ง)number_of_results : จำนวนเต็มแสดงจำนวนผลลัพธ์ที่จะดึงข้อมูลจากแหล่งข้อมูลแต่ละแหล่ง (ค่าเริ่มต้นคือ 20) จำนวนผลลัพธ์ที่จะดึงข้อมูลจากแหล่งข้อมูลแต่ละแหล่ง (ค่าเริ่มต้นคือ 20) ตัวอย่างเช่น Fetch 20 โครงการ GitHub จากนั้นประมวลผลด้วยโมเดล LLM ในแบทช์ตาม DATA_EXTRACTION_BATCH_SIZE หลังจากเริ่มต้นคลาสด้วยพารามิเตอร์เหล่านี้ให้เรียกใช้เมธอด save_and_return_awesome_list เพื่อสร้างไฟล์ markdown นี่คือตัวอย่าง:
# Initialize an instance of the AwesomeListGenerator
generator = AwesomeListGenerator ( keyword = "Your Keyword" ,
description = "Your Description" ,
model = "gpt-3.5-turbo-16k" ,
data_extraction_batch_size = 10 ,
number_of_results = 20 )
# Generate and save the markdown
markdown_content = generator . save_and_return_awesome_list () โปรแกรมจะสร้างไฟล์ markdown ในไดเรกทอรี output ที่ตั้งชื่อตามคำหลักของคุณ (เช่น Your_Keyword.md ) ไฟล์นี้มี "รายการที่ยอดเยี่ยม" ที่สร้างโดยโปรแกรม
โปรแกรม AwesomeListGenerator ทำงานในสองขั้นตอนหลัก: การขูดข้อมูลและการประมวลผลข้อมูล
ในขั้นตอนการขูดข้อมูลโปรแกรมจะดึงทรัพยากรที่เกี่ยวข้องกับคำหลักที่คุณให้ไว้จากแหล่งข้อมูลหลายแหล่ง ปัจจุบันทรัพยากรรวมถึงที่เก็บ GitHub, บทความ Google Scholar, วิดีโอ YouTube และพอดคาสต์ โปรแกรมใช้เครื่องขูดเฉพาะสำหรับแต่ละแหล่งซึ่งแต่ละแหล่งได้รับการออกแบบมาเพื่อดึงทรัพยากรที่มีความเกี่ยวข้องและมีคุณภาพสูงสุด
ตัวอย่างเช่น GitHub มีดโกนดึงข้อมูลที่ตรงกับคำหลักเรียงลำดับตามจำนวนดาว (ตัวบ่งชี้ทั่วไปของความเกี่ยวข้องและคุณภาพของที่เก็บ) ในทำนองเดียวกัน Google Scholar มีดโกนดึงบทความที่เกี่ยวข้องกับคำหลักและเรียงลำดับตามจำนวนการอ้างอิง
เมื่อข้อมูลถูกคัดลอกมันจะถูกส่งไปยังขั้นตอนการประมวลผลข้อมูล ในขั้นตอนนี้โปรแกรมใช้โมเดล GPT ที่เลือกเพื่อประมวลผลทรัพยากรที่ดึงมา ตัวกรองแบบจำลองและจัดอันดับทรัพยากรตามความเกี่ยวข้องกับคำหลักคุณภาพของเนื้อหาและประโยชน์ที่อาจเกิดขึ้นกับผู้ใช้ โมเดล GPT ยังจัดรูปแบบข้อมูลลงในรายการ Markdown โดยเพิ่มการจัดรูปแบบที่จำเป็นเช่นลิงก์และคำอธิบายสั้น ๆ
โดยเฉพาะอย่างยิ่งการขูดและการดำเนินการประมวลผลจะดำเนินการในแบทช์ การดำเนินการแบบแบตช์นี้ช่วยให้โปรแกรมสามารถรองรับผลลัพธ์ได้มากเท่าที่จำเป็นตามหมายเลขที่กำหนด number_of_results และ data_extraction_batch_size ด้วยวิธีนี้คุณสามารถควบคุมขอบเขตของข้อมูลที่ได้รับการจัดการในแต่ละครั้งเพื่อให้มั่นใจว่าการใช้ทรัพยากรที่มีประสิทธิภาพ
เรากำลังมองหาที่จะขยายจำนวนแหล่งข้อมูลในอนาคต นี่คือความคิดบางอย่างที่เรามีอยู่ในใจ:
หากคุณสนใจที่จะมีส่วนร่วมคุณสามารถเลือกงานใดงานหนึ่งข้างต้นหรือเสนอความคิดของคุณเอง เรายินดีต้อนรับการมีส่วนร่วมทุกประเภทและขอขอบคุณความสนใจของคุณในโครงการของเรา!
เราชอบที่จะเห็นรายการที่ยอดเยี่ยมที่ชุมชนของเราสร้างขึ้น หากคุณใช้เครื่องมือของเราในการสร้างรายการที่ยอดเยี่ยมอย่าลังเลที่จะแจ้งให้เราทราบและเราจะนำเสนอโครงการของคุณที่นี่!
คุณพบว่าโครงการนี้มีประโยชน์หรือไม่? หากมันนำคุณค่ามาให้คุณโปรดให้เราบน GitHub ท่าทางนี้ไม่เพียง แต่ตรวจสอบความพยายามของเรา แต่ยังช่วยให้โครงการนี้เข้าถึงผู้คนได้มากขึ้นและพัฒนาต่อไป
อย่าลังเลที่จะแยกที่เก็บข้อมูลโดยส่งคำขอดึงหรือเปิดปัญหา ความคิดเห็นและการมีส่วนร่วมของคุณยินดีต้อนรับเสมอ!