อัปเดต (พฤศจิกายน 2023): เวอร์ชัน GPT-3.5-Turbo ใหม่ที่ต้องการ ฉันได้เพิ่มเวอร์ชันใหม่ที่รองรับ Chat Completion API (ทดสอบด้วย GPT-3.5-Turbo) โฟลเดอร์ย่อยที่เหมาะสม ( gpt-3
, gpt-35-turbo
) มีเวอร์ชันดั้งเดิมและเวอร์ชันใหม่แล้ว นอกเหนือจากการเปลี่ยนแปลงโมเดลและการปรับที่สอดคล้องกันแล้ว การเปลี่ยนแปลงเหล่านี้ยังคงเหมือนเดิม แต่ควรใช้ gpt-35-turbo
เนื่องจากเลิกใช้งาน GPT-3 แล้ว
Braindump เป็นแอปพลิเคชันต้นแบบสำหรับการจดบันทึกและแปลงเป็นฐานข้อมูลที่สามารถสืบค้นได้ง่ายขึ้น เพียงพิมพ์สิ่งที่อยู่ในใจของคุณ จากนั้นแอปพลิเคชันจะจัดประเภท แบ่งส่วน และจัดเก็บอย่างเหมาะสมเพื่อใช้ในภายหลัง สร้างขึ้นเป็นการสาธิตเพื่อแสดงวิธีใช้ประโยชน์จาก GPT-3 เพื่อสร้างแอปพลิเคชันที่เริ่มต้นด้วย Proofs-of-Concept ตามที่อธิบายไว้ในบทช่วยสอน Data Science @ Microsoft ของฉัน "การสร้างแอปพลิเคชัน GPT-3 — เกินกว่าที่แจ้ง" คุณสามารถใช้ทั้งเพื่อติดตามบทช่วยสอนและเป็นจุดเริ่มต้นสำหรับการศึกษาและการใช้งานของคุณเอง (เช่น โดยการใช้ฟังก์ชันยูทิลิตี้และโครงสร้างโปรแกรมโดยรวมในปัญหาของคุณเองที่แตกต่างออกไป)
เป็นแอปพลิเคชั่น Python ธรรมดาที่ใช้ประโยชน์จาก Streamlit เพื่อจัดทำเว็บอินเตอร์เฟส หากต้องการเรียกโมเดล GPT-3 จริงๆ คุณต้องมีคีย์ OpenAI API ที่ใช้งานได้ ในขณะที่เขียน เมื่อคุณสร้างบัญชีของคุณ คุณจะได้รับเครดิตฟรีซึ่งควรจะเพียงพอที่จะปฏิบัติตามบทช่วยสอนและเริ่มต้นใช้งานแอปพลิเคชัน แอปพลิเคชันควรทำงานร่วมกับบริการ Azure OpenAI แทนข้อเสนอ OpenAI ดั้งเดิม แม้ว่าฉันยังไม่ได้ทดสอบที่นั่นก็ตาม
นอกจากตัวแอปพลิเคชันแล้ว พื้นที่เก็บข้อมูลนี้ยังรวมถึงการศึกษาต่างๆ ในรูปแบบของสมุดบันทึก Jupyter ที่นำไปสู่สิ่งนี้ด้วย
UI สำหรับการค้นหามีลักษณะดังนี้:
ในการเพิ่มข้อเท็จจริง UI จะเป็นดังนี้ รวมถึงการตรวจสอบการตีความแบบจำลองด้วยตนเองซึ่งเป็นทางเลือก:
แอปพลิเคชันได้รับการทดสอบบน Python 3.8 (GPT-3) และ 3.10 (GPT-3.5-Turbo) ไลบรารีหลักที่คุณต้องการคือ: openai
, streamlit
, pandas
, notebook
, pytest
คุณสามารถติดตั้งได้ด้วยตนเอง หรือทำตามขั้นตอนด้านล่างเพื่อสร้างสภาพแวดล้อมใหม่และติดตั้งโดยอัตโนมัติ โปรดทราบว่าสำหรับโค้ดเบสรุ่นเก่า คุณจะต้องมีไลบรารี openai
เวอร์ชันเก่า
ในการรันแอปพลิเคชัน:
conda create -n braindump_py310 python=3.10
conda activate braindump_py310
requirements.txt
คุณสามารถทำได้โดยการรัน pip install -r requirements.txt
จากรูทของโปรเจ็กต์ สำหรับ GPT-3 เวอร์ชันดั้งเดิม (เลิกใช้งานแล้ว) ให้ใช้ requirements.gpt3.txt
แทน เพื่อรับการอ้างอิงเก่าที่จำเป็นสำหรับการดำเนินการOPENAI_API_KEY
run.gpt3.bat
(เวอร์ชัน GPT-3) หรือ run.gpt35turbo.bat
(เวอร์ชัน GPT-3.5-Turbo) บน Linux: run.gpt3.sh
(เวอร์ชัน GPT-3) หรือ run.gpt35turbo.sh
(เวอร์ชัน GPT-3.5-Turbo)หากต้องการดำเนินการศึกษา:
notebooks/
ด้วยไคลเอนต์ Jupyter ที่คุณชื่นชอบ (โดยส่วนตัวฉันใช้ VS Code บ่อยมาก) โครงการมีโครงสร้างดังนี้:
notebooks/
: โน๊ตบุ๊ค Jupyter ใช้สำหรับวิศวกรรมที่รวดเร็วsrc/
: ซอร์สโค้ดสำหรับแอปพลิเคชันขั้นสุดท้ายsrc/gpt-3
: แหล่งที่มาสำหรับเวอร์ชัน GPT-3 ดั้งเดิม (เลิกใช้แล้ว)src/gpt-3.5-turbo
: แหล่งที่มาสำหรับเวอร์ชัน GPT-3.5-Turbo ( แนะนำ ตั้งแต่เดือนพฤศจิกายน 2023)data/
: ข้อมูลที่จัดเก็บโดยแอปพลิเคชันtests/
: การทดสอบหน่วยสำหรับแอปพลิเคชันtests/gpt-3/
: การทดสอบสำหรับเวอร์ชัน GPT-3 ดั้งเดิม (เลิกใช้แล้ว)tests/gpt-3.5-turbo/
: การทดสอบสำหรับเวอร์ชัน GPT-3.5-Turbo ( แนะนำ ตั้งแต่เดือนพฤศจิกายน 2023)docs/
: เอกสารและทรัพย์สินที่เกี่ยวข้อง วิธีการนี้นำเสนอโดยละเอียดในบทช่วยสอน Data Science @ Microsoft ของฉัน "การสร้างแอปพลิเคชัน GPT-3 — นอกเหนือการแจ้งเตือน" อย่างไรก็ตาม ผมขอเน้นประเด็นสำคัญบางประการที่นี่:
ในแง่ระยะเฉพาะ แนะนำให้ทำดังต่อไปนี้
ใบอนุญาตเอ็มไอที
ลิขสิทธิ์ (c) 2023 เปาโล ซาเลม ดา ซิลวา
อนุญาตให้บุคคลใดก็ตามที่ได้รับสำเนาของซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") อนุญาตโดยไม่เสียค่าใช้จ่าย เพื่อจัดการกับซอฟต์แวร์โดยไม่มีข้อจำกัด รวมถึงแต่ไม่จำกัดเพียงสิทธิ์ในการใช้ คัดลอก ปรับเปลี่ยน ผสาน เผยแพร่ แจกจ่าย ให้อนุญาตช่วง และ/หรือขายสำเนาของซอฟต์แวร์ และอนุญาตให้บุคคลที่ได้รับซอฟต์แวร์นี้สามารถทำได้ ภายใต้เงื่อนไขต่อไปนี้:
ประกาศเกี่ยวกับลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์นี้มีให้ "ตามที่เป็น" โดยไม่มีการรับประกันใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย ซึ่งรวมถึงแต่ไม่จำกัดเพียงการรับประกันความสามารถในการค้าขาย ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และการไม่ละเมิด ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดต่อการเรียกร้องค่าเสียหายหรือความรับผิดอื่นใดไม่ว่าในการกระทำของสัญญาการละเมิดหรืออย่างอื่นที่เกิดขึ้นจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือข้อตกลงอื่น ๆ ใน ซอฟต์แวร์.