Promptwright เป็นไลบรารี Python จาก Stacklok ที่ออกแบบมาเพื่อสร้างชุดข้อมูลสังเคราะห์ขนาดใหญ่โดยใช้ LLM ในเครื่อง ไลบรารีนำเสนอชุดอินเทอร์เฟซที่ยืดหยุ่นและใช้งานง่าย ทำให้ผู้ใช้สามารถสร้างชุดข้อมูลสังเคราะห์ที่นำโดยทันที
Promptwright ได้รับแรงบันดาลใจจาก redotvideo/pluto อันที่จริงมันเริ่มต้นจากทางแยก แต่สุดท้ายก็กลายเป็น largley ที่เขียนใหม่ เพื่อให้สามารถสร้างชุดข้อมูลเทียบกับโมเดล LLM ในพื้นที่ ซึ่งตรงข้ามกับ OpenAI ที่ต้นทุนอาจมีราคาแพงมาก
อินเทอร์เฟซไลบรารีกับ Ollama ทำให้ง่ายต่อการดึงโมเดลและเรียกใช้ Promptwright
การรวมไคลเอ็นต์ LLM ในพื้นที่ : โต้ตอบกับโมเดลที่ใช้ Ollama
คำแนะนำและการแจ้งเตือนที่กำหนดค่าได้ : กำหนดคำแนะนำที่กำหนดเองและพร้อมท์ของระบบ
Push to Hugging Face : พุชชุดข้อมูลที่สร้างขึ้นไปที่ Hugging Face Hub
หลาม 3.11+
ติดตั้งไลบรารี promptwright
แล้ว
ติดตั้งและใช้งาน Ollama CLI แล้ว (ดูการติดตั้ง Ollama
โมเดลที่ดึงผ่าน Ollama (ดูความเข้ากันได้ของโมเดล)
หากต้องการติดตั้งข้อกำหนดเบื้องต้น คุณสามารถใช้คำสั่งต่อไปนี้:
pip ติดตั้งพร้อมท์ไรท์ โอลามะเสิร์ฟ ollama pull {model_name} #แล้วแต่คุณจะใช้รุ่นไหน
มีตัวอย่างบางส่วนในไดเร็กทอรี examples
ที่สาธิตวิธีใช้ไลบรารีเพื่อสร้างชุดข้อมูลตามหัวข้อต่างๆ
หากต้องการเรียกใช้ตัวอย่าง:
ตรวจสอบให้แน่ใจว่าคุณได้เริ่มต้น Ollama ด้วยการเรียกใช้ ollama serve
ตรวจสอบว่าดาวน์โหลดโมเดลที่ต้องการแล้ว (เช่น llama3.2:latest
)
ตั้งค่า model_name
ในไฟล์ตัวอย่างที่เลือกให้เป็นโมเดลที่คุณดาวน์โหลด
engine = LocalDataEngine( args=LocalEngineArguments( Instructions="สร้างพรอมต์การเขียนเชิงสร้างสรรค์และการตอบกลับตัวอย่าง", system_prompt="คุณเป็นผู้สอนการเขียนเชิงสร้างสรรค์ที่จัดเตรียมการแจ้งการเขียนและการตอบกลับตัวอย่าง", model_name="llama3.2:latest", อุณหภูมิ =0.9, # อุณหภูมิที่สูงขึ้นสำหรับรูปแบบที่สร้างสรรค์มากขึ้น max_retries=2,
เรียกใช้ไฟล์ตัวอย่างที่คุณเลือก:
ตัวอย่างหลาม/creative_writing.py
ชุดข้อมูลที่สร้างขึ้นจะถูกบันทึกลงในไฟล์ JSONL เป็นสิ่งที่ตั้งค่าไว้ภายใน dataset.save()
{ "ข้อความ": [ { "role": "system", "content": "คุณได้รับมอบหมายให้ออกแบบประสบการณ์ความเป็นจริงเสมือนอันน่าดื่มด่ำที่จะพาผู้ใช้ไปสู่โลกแห่งความมหัศจรรย์ที่น่าอัศจรรย์" - { "role": "user", "content": "สร้างข้อความบรรยายเกี่ยวกับตัวละครที่ค้นพบความสามารถที่ซ่อนอยู่ของพวกเขา" - { "role": "assistant", "content": "ขณะที่เธอจ้องมองผืนผ้าใบ นิ้วของ Emma ก็ลอยอยู่เหนือพู่กัน ราวกับลังเลที่จะปลดปล่อยสีสันที่ล็อคอยู่ภายในตัวเธอ ลายเส้นเริ่มต้นด้วยการละทิ้งอย่างกล้าหาญและหมุนวน สีน้ำเงินและสีเขียวผสานกันเป็นแสงและเงาที่ชวนให้หลงใหล ในแต่ละช่วงเวลาที่ผ่านไป เธอรู้สึกว่าตัวเองกลายเป็นงานศิลปะ - แก่นแท้ของเธอซึมซาบบนผืนผ้าใบราวกับสีน้ำในพายุฤดูใบไม้ผลิ เหลือเพียงความมีชีวิตชีวา ซิมโฟนีแห่งสีสันและการสร้างสรรค์” - - -
ชุดข้อมูล : คลาสสำหรับจัดการชุดข้อมูลที่สร้างขึ้น
LocalDataEngine : เอ็นจิ้นหลักที่รับผิดชอบในการโต้ตอบกับไคลเอนต์ LLM และสร้างชุดข้อมูล
LocalEngineArguments : คลาสการกำหนดค่าที่กำหนดคำแนะนำ พรอมต์ของระบบ อุณหภูมิชื่อโมเดล การลองใหม่ และเทมเพลตพร้อมต์ที่ใช้สำหรับการสร้างข้อมูล
OllamaClient : คลาสไคลเอ็นต์สำหรับการโต้ตอบกับ Ollama API
HFUploader : คลาสยูทิลิตี้สำหรับการอัปโหลดชุดข้อมูลไปยัง Hugging Face (ส่งผ่านเส้นทางไปยังชุดข้อมูลและโทเค็น)
หากคุณพบข้อผิดพลาดใดๆ ขณะเรียกใช้สคริปต์ ต่อไปนี้คือขั้นตอนการแก้ปัญหาทั่วไปบางประการ:
รีสตาร์ท Ollama :
killall ollama && ollama เสิร์ฟ
ตรวจสอบการติดตั้งโมเดล :
โอลามะ ดึง {model_name}
ตรวจสอบบันทึก Ollama :
ตรวจสอบบันทึกเพื่อหาข้อความแสดงข้อผิดพลาดที่อาจให้บริบทเพิ่มเติมเกี่ยวกับสิ่งที่ผิดพลาด ซึ่งสามารถพบได้ในไดเร็กทอรี ~/.ollama/logs
ไลบรารีควรใช้งานได้กับโมเดล LLM ส่วนใหญ่ จนถึงขณะนี้ได้รับการทดสอบกับรุ่นต่อไปนี้:
LLaMA3 : ไลบรารี่ได้รับการออกแบบให้ทำงานกับโมเดล LLaMA โดยเฉพาะ llama3:latest
Mistral : ห้องสมุดเข้ากันได้กับรุ่น Mistral ซึ่งเป็นทางแยกของรุ่น GPT-3
หากคุณทดสอบอีกต่อไป โปรดส่งคำขอเพื่ออัปเดตรายการนี้!
หากสามารถปรับปรุงบางสิ่งที่นี่ โปรดเปิดประเด็นหรือส่งคำขอดึง
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต Apache 2 ดูไฟล์ LICENSE
สำหรับรายละเอียดเพิ่มเติม