Show HN: เพิ่ม Mistral Codestral และ GPT-4o ลงใน Jupyter Notebooks
(github.com/pretzelai)Pretzel 🥨 ทางเลือกแทน Jupyter แบบสมัยใหม่และโอเพนซอร์ส
Pretzel เป็นฟอร์กของ Jupyter ที่สร้างขึ้นเพื่อปรับปรุงความสามารถของ Jupyter โดยเพิ่มฟีเจอร์สร้างและแก้ไขโค้ดด้วย AI, การเติมโค้ดแบบ inline tab completion, แชตในแถบด้านข้าง และการแก้ข้อผิดพลาด Pretzel เปลี่ยนจาก Jupyter มาใช้ได้ง่ายมาก การตั้งค่า, key binding และส่วนขยายทั้งหมดของ Jupyter ยังคงใช้งานได้เหมือนเดิม
เริ่มต้นอย่างรวดเร็ว
- ติดตั้ง:
pip install pretzelaiแล้วรันpretzel labเพื่อเปิดเว็บอินเทอร์เฟซ หรือใช้เวอร์ชันโฮสต์ฟรีได้ที่ pretzelai.app - เริ่มพิมพ์ในเซลล์เพื่อใช้งานฟีเจอร์ inline tab completion
- คลิก "Ask AI" ในเซลล์ Jupyter หรือกด Cmd+K (Mac) / Ctrl+K (Linux/Windows) เพื่อเปิด AI prompt
- กด Ctrl+Cmd+B (Mac) หรือ Ctrl+Alt+B (Linux/Windows) เพื่อเปิดใช้งาน AI sidebar สำหรับแชตกับ AI, สร้างโค้ด และถามคำถาม
- การตั้งค่าให้ใช้ OpenAI API key ดูได้ในส่วนการตั้งค่า
การติดตั้ง
- ติดตั้ง Pretzel ด้วย pip:
pip install pretzelai - หากใช้ conda ให้ติดตั้ง pip ก่อน แล้วค่อยติดตั้ง Pretzel:
conda install pipแล้วpip install pretzelai - เริ่ม Pretzel:
pretzel lab
วิธีใช้งาน
Inline tab completion
- เริ่มพิมพ์ในเซลล์เพื่อใช้งาน inline tab completion โดยใช้ Codestral ของ Mistral
- รอ 1 วินาที แล้วฟีเจอร์เติมโค้ดจะเริ่มทำงาน
สร้างและแก้ไขโค้ดในเซลล์โน้ตบุ๊ก
- ในเซลล์ กด Cmd+K (Mac) / Ctrl+K (Windows/Linux) หรือคลิก "Ask AI" เพื่อเปิดกล่องข้อความ AI prompt
- อ้างอิงตัวแปรและ data frame ที่อยู่ในหน่วยความจำได้โดยระบุ
@variable - หากมีโค้ดเดิมอยู่แล้ว prompt จะใช้เพื่อแก้ไขโค้ดเดิม
- หากเลือก/ไฮไลต์บางส่วนของโค้ดในเซลล์ จะมีการแก้ไขเฉพาะส่วนที่เลือกเท่านั้น
- สามารถยอมรับ/ปฏิเสธคำตอบ หรือแก้ไข prompt แล้วส่งใหม่ได้
- กด ↑ / ↓ เพื่อเลื่อนดูประวัติ prompt
ใช้งาน AI sidebar
- เปิดใช้งาน AI sidebar ด้วย Ctrl+Cmd+B (Mac) / Ctrl+Alt+B (Linux/Windows) หรือไอคอน Pretzel ในแถบด้านขวา
- สามารถถามคำถาม, สร้างโค้ด หรือค้นหาโค้ดที่มีอยู่ได้
- AI จะใช้โค้ดของเซลล์ที่กำลังใช้งานอยู่เป็นบริบทเสมอ หากไฮไลต์บางส่วนของโค้ดในเซลล์ที่กำลังใช้งานอยู่ จะใช้เฉพาะส่วนที่ไฮไลต์เป็นบริบท
ตัวอย่างการใช้งาน:
- "Modify the function
my_functionin @notebook to be more efficient" ← ค้นหาและแก้ไขฟังก์ชันmy_functionทั้งโน้ตบุ๊ก - "Where is the code in @notebook that removes outliers"? ← ค้นหาโค้ดที่ลบ outliers ทั้งโน้ตบุ๊ก
- "Can you explain what this code does?" ← อธิบายโค้ดในเซลล์ปัจจุบัน
เพิ่มโค้ดเข้าไปกลางโค้ดเดิม
- วางเคอร์เซอร์ไว้บนบรรทัดว่างหรือบรรทัดโค้ดเดิม แล้วกด Cmd+K เพื่อเปิดกล่องข้อความ AI prompt
- หากขึ้นต้น prompt ด้วย
injectหรือijAI จะเพิ่มโค้ดใหม่โดยไม่แก้ไขโค้ดเดิม - โค้ดจะถูกเพิ่มใต้บรรทัดที่วางเคอร์เซอร์ลงไปหนึ่งบรรทัด
แก้ข้อผิดพลาดด้วย AI
- เมื่อเกิดข้อผิดพลาด ปุ่ม "Fix Error with AI" จะปรากฏที่มุมขวาบน สามารถคลิกเพื่อพยายามแก้ข้อผิดพลาดได้
การตั้งค่า
- Pretzel ทำงานได้โดยค่าเริ่มต้นโดยไม่ต้องตั้งค่า
- Pretzel ใช้เซิร์ฟเวอร์ AI ฟรีเป็นค่าเริ่มต้น และสามารถตั้งค่าให้ใช้ OpenAI/Azure API key ได้
รองรับ OpenAI
- เปิดเมนู
Settingsบนแถบเมนูด้านบน แล้วคลิกSettings Editor - ค้นหา
Pretzelแล้วเลือกPretzel AI Settingsจากแถบด้านซ้าย - ในดรอปดาวน์
AI Serviceให้เลือกOpenAI API Keyแล้วกรอก API key ในOpenAI Settings > API Key - หากใช้ OpenAI Enterprise สามารถกรอก base URL สำหรับการเรียก OpenAI ได้ด้วย
- โมเดลเริ่มต้นคือ
GPT-4oและสามารถเปลี่ยนได้จากดรอปดาวน์OpenAI Model
รองรับ Azure
- เช่นเดียวกับการตั้งค่า OpenAI สามารถเลือก
Use Azure APIจากดรอปดาวน์AI Serviceเพื่อใช้โมเดลที่โฮสต์บน Azure ได้
ฟีดแบ็ก, บั๊ก และเอกสาร
- รายงานบั๊ก: https://github.com/pretzelai/pretzelai/issues
- ฟีดแบ็กและข้อร้องเรียน: founders@withpretzel.com
ข้อมูลเกี่ยวกับ Jupyter
- เอกสารต้นฉบับของ Jupyter ดูได้ที่นี่ และ README ของ Jupyterlab ดูได้ที่นี่
นโยบายความเป็นส่วนตัว, การเก็บข้อมูล และการเก็บรักษา
- ไม่เก็บข้อมูลส่วนบุคคล ใช้เพียง telemetry พื้นฐานสำหรับฟีเจอร์ AI
- หากอนุญาตคุกกี้ จะสามารถระบุได้ว่าเป็นผู้ใช้คนเดิมในหลายเซสชันของเบราว์เซอร์
- เก็บเฉพาะ prompt สำหรับฟีเจอร์ AI และไม่เก็บคำตอบ สามารถปิด prompt telemetry ได้ในการตั้งค่า
- ไม่เก็บโค้ดเลย แม้จะใช้เซิร์ฟเวอร์ AI บนคลาวด์ของ Pretzel ก็จะไม่เก็บโค้ด
- หากใช้ Pretzel เวอร์ชันโฮสต์ ระบบจะสร้างบัญชีผู้ใช้ตามอีเมล และสามารถล็อกอินเพื่อลบข้อมูลที่บันทึกไว้ได้ทุกเมื่อ
- เซิร์ฟเวอร์โฮสต์ใช้งานได้ฟรี แต่จะลบข้อมูลและบัญชีหลังจากการล็อกอินครั้งล่าสุดครบ 30 วัน หากต้องการลบบัญชีทันที ให้ส่งอีเมลถึง founders@withpretzel.com พร้อมหัวข้อ "Account Deletion"
FAQ
Q. Pretzel AI เวอร์ชันก่อนหน้าเกิดอะไรขึ้น?
A. ดูได้ในโฟลเดอร์ pretzelai_visual รายละเอียดเพิ่มเติมดูได้ใน PR นี้
Q. Pretzel ใช้โมเดล AI อะไรบ้าง? A. Pretzel ใช้โมเดล AI ต่างกันตามงาน:
- โมเดลหลัก: GPT-4o
- สมดุลระหว่างความเร็วและคุณภาพได้ดี
- หากใช้ API key ของตัวเอง สามารถเปลี่ยนได้ในการตั้งค่า Pretzel
- การเติมโค้ดแบบ inline: โมเดล Codestral ของ Mistral
- โดดเด่นด้าน code completion
- ทำงานได้เร็วมาก (โมเดลขนาด 22B พารามิเตอร์)
- ตัวเลือกสำรอง:
- หากใช้ API key ของตัวเองแต่ไม่ได้ให้ Mistral API key, Pretzel จะใช้ GPT-4o สำหรับ inline completion ด้วย
Q. แล้วฟีเจอร์ X ล่ะ? A. ยังมีฟีเจอร์ที่อยากสร้างอีกมาก หากมีฟีเจอร์ที่ต้องการ โปรดแจ้งและเปิด issue ได้เลย
Q. โรดแมปอยู่ที่ไหน? A. มีโรดแมปคร่าว ๆ อยู่ด้านบนของ README มีหลายฟีเจอร์ที่อยากสร้าง แต่ตอนนี้ทำงานกันอยู่สองคน จะเก็บฟีดแบ็กเพื่อจัดลำดับความสำคัญ เปิด issue หรือส่งอีเมลฟีดแบ็กมาได้
Q. ทำไมถึงใช้ไลเซนส์ AGPL แทน MIT/BSD3? A. เป้าหมายของการสร้าง Pretzel คือการสร้างเครื่องมือข้อมูลที่ยอดเยี่ยมซึ่งทั้งบุคคลทั่วไปและบริษัทสามารถใช้ได้ฟรี ใช้ไลเซนส์ AGPLv3 เพื่อป้องกันไม่ให้บุคคลที่สามนำโค้ดไปขายโดยไม่ตอบแทนชุมชน
Q. ทำไมถึงเลือกฟอร์กจาก Jupyter? ทำไมไม่ไปมีส่วนร่วมกับ Jupyter โดยตรง? A. เราตระหนักว่าการเปลี่ยนไปใช้เครื่องมือใหม่เป็นเรื่องยาก การฟอร์กจาก Jupyter ช่วยลดต้นทุนในการเปลี่ยนให้น้อยที่สุด Jupyter เป็นผลิตภัณฑ์ที่มีความสมบูรณ์และช่วยให้เพิ่มฟีเจอร์ได้อย่างรวดเร็ว
Q. ถ้าบริษัทกังวลเรื่องการใช้เครื่องมือที่ใช้ไลเซนส์ AGPLv3 ควรทำอย่างไร? A. AGPL จะเป็นข้อจำกัดเฉพาะเมื่อมีการแก้ไข Pretzel และเผยแพร่ต่อสาธารณะเท่านั้น หากใช้เป็นเครื่องมือภายในบริษัท AGPL ไม่ได้บังคับให้ต้องแชร์โค้ด หาก AGPL เป็นปัญหา กรุณาติดต่อมาเพื่อหาทางออกร่วมกัน
Q. วางแผนจะหารายได้อย่างไร? ทำไมถึงให้ใช้ฟรี? A. วางแผนสร้างรายได้จากการขายเวอร์ชันโฮสต์ให้กับบริษัท ซึ่งจะมีฟีเจอร์ที่บริษัทต้องการ เช่น การควบคุมการเข้าถึงข้อมูล, การเชื่อมต่อ data source, การรวมกับ GitHub และแดชบอร์ดที่แชร์ได้ ส่วนเวอร์ชันสำหรับบุคคลทั่วไปจะไม่เปลี่ยนเป็นแบบเสียเงิน
ความเห็นจาก GN⁺
- Pretzel ขยายความสามารถของ Jupyter เพื่อมอบเครื่องมือที่ดีกว่าให้กับนักวิทยาศาสตร์ข้อมูลและวิศวกร ฟีเจอร์สร้างและแก้ไขโค้ดด้วย AI สามารถเพิ่มประสิทธิภาพการทำงานได้มาก
- น่าประทับใจที่เพิ่มฟีเจอร์ใหม่โดยยังคงความเข้ากันได้กับ Jupyter ทำให้แทบไม่มีต้นทุนในการย้ายสำหรับผู้ใช้
- การใช้ไลเซนส์ AGPL เพื่อกระตุ้นการมีส่วนร่วมกับชุมชนเป็นเรื่องที่น่าชื่นชม แต่บางองค์กรอาจลังเลในการนำไปใช้เพราะประเด็นด้านไลเซนส์
- ฟีเจอร์ AI ของ Pretzel ทำให้การเขียนโค้ดและดีบักง่ายขึ้น แต่ผลลัพธ์อาจแตกต่างกันตามประสิทธิภาพและความแม่นยำของโมเดล AI จึงยังต้องมีการปรับปรุงโมเดลอย่างต่อเนื่อง
- เครื่องมือที่มีฟีเจอร์คล้าย Pretzel ได้แก่ Google Colab และส่วนขยาย Jupyter ของ VSCode ควรเปรียบเทียบข้อดีข้อเสียของแต่ละเครื่องมือก่อนเลือกใช้
ยังไม่มีความคิดเห็น