th ▾

Ollama APIs: ข้อผิดพลาดทั่วไปและการแก้ไข

นักพัฒนาส่วนใหญ่ทำให้การตั้งค่า LLM ในเครื่องล้มเหลวโดยละเลยข้อจำกัดของบริบทหรือกำหนดค่าการสตรีมผิด ซึ่งนำไปสู่การสูญเสียข้อมูลแบบเงียบ คู่มือนี้แก้ไขข้อผิดพลาดเหล่านั้นในเวิร์กโฟลว์ API ของ ollama ของคุณ เพื่อให้แน่ใจว่าจำนวน tokens ของคุณถูกต้องและโค้ดของคุณทำงานโดยไม่มีการปฏิเสธที่ไม่คาดคิด

อัปเดตล่าสุด

ทำความเข้าใจข้อจำกัดหน้าต่างบริบท

จำกัดอินพุตของคุณให้เหลือพื้นที่หน้าต่างที่มีอยู่ทันที

นักพัฒนาหลายคนมักคิดว่าหน้าต่างบริบทใช้กับความยาวของการสร้างข้อความเท่านั้น แต่ไม่ใช่ หน้าต่างครอบคลุมทั้ง prompt และข้อความที่สร้างร่วมกัน หากคุณส่ง prompt ขนาด 90,000 โทเค็น คุณจะมีโทเค็นเหลือเพียง 10,000 โทเค็นสำหรับการตอบกลับ ซึ่งนำไปสู่เอาต์พุตที่ตัดทอนหรือข้อผิดพลาด API เมื่อโมเดลพยายามสร้างข้อความเกินขีดจำกัดของมัน การตั้งค่าท้องถิ่นหลายแห่งใช้ VRAM ไม่เพียงพอก่อนถึงขีดจำกัดโทเค็น ทำให้การอนุมานล้มเหลวแบบเงียบ คุณต้องติดตามจำนวนโทเค็นสะสมของประวัติการสนทนาของคุณ หากคุณกำลังสร้างแอปพลิเคชันแชท คุณต้องการกลยุทธ์หน้าต่างเลื่อน (sliding window) ตัดข้อความเก่าออกเมื่อยอดรวมเข้าใกล้ค่าสูงสุด เพื่อป้องกันคำขอล้มเหลวระหว่างสตรีมมิ่ง บาง uncensored llm implementations allow larger windows, but they require more hardware. Always verify the specific limit of your chosen model before sending large payloads. Misjudging this limit is the most common reason for unexpected API behavior.

การจัดการสตรีมและการนับโทเค็น

อ่านทุกส่วนเพื่อให้ได้จำนวนโทเค็นที่แม่นยำ การสตรีมจะส่งข้อมูลเป็นชิ้นเล็กๆ ไม่ใช่ก้อนใหญ่ หากคุณอ่านเฉพาะส่วนสุดท้าย คุณจะพลาดข้อมูลเมตาการใช้งานโทเค็น ส่วนสุดท้ายมักจะมี usage object พร้อมจำนวน input และ output tokens การเพิกเฉยต่อข้อมูลนี้จะนำไปสู่การเรียกเก็บเงินที่ผิดพลาดหรือปัญหาอัตราจำกัดในแอปพลิเคชันของคุณ คุณต้องจัดการสตรีม SSE (Server-Sent Events) ให้ถูกต้อง อ่านบรรทัดแต่ละบรรทัดและรวมข้อความ ตรวจสอบ [DONE] ส่งสัญญาณเพื่อปิดการเชื่อมต่ออย่างเรียบร้อย สิ่งนี้สำคัญมากสำหรับการดีบัก หากสตรีมตัดออกก่อนเวลาอันควร คุณจะรู้ทันทีว่าคำขอล้มเหลว นอกจากนี้ยังช่วยให้คุณติดตามความล่าช้าได้ การตอบสนองแบบเรียลไทม์ให้ประสบการณ์ผู้ใช้ที่ดีกว่าการรอคำตอบเต็มรูปแบบ ใช้ไลบรารีที่จัดการการแยกวิเคราะห์ SSE โดยอัตโนมัติ ซึ่งลดโอกาสในการพลาดข้อมูลบางส่วน ตรวจสอบให้แน่ใจว่าทดสอบกับบริบทขนาดใหญ่เพื่อให้แน่ใจว่าสตรีมสามารถรองรับภาระงานได้

ทำไม 'Ollama' ถึงไม่ใช่ตัวโมเดลเอง

Ollama คือ Runtime ไม่ใช่โมเดล มันคือ Wrapper ที่จัดการไฟล์โมเดลและการอนุมาน คุณอาจคิดว่ากำลังใช้โมเดลเฉพาะตัว แต่ Ollama เพียงแค่โหลดมันเข้ามา โมเดลที่แตกต่างกันมีขีดความสามารถที่แตกต่างกัน A dolphin ai model ทำงานแตกต่างจาก Qwen รูปแบบ คุณต้องระบุชื่อโมเดลอย่างชัดเจนในการร้องขอของคุณ หากคุณละเว้น Ollama จะใช้ค่าเริ่มต้น ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ ความสับสนนี้นำไปสู่ผลลัพธ์ที่ไม่สอดคล้องกัน โมเดลบางตัวต้องการ mirostat การปรับแต่ง โมเดลอื่นๆ ทำงานได้ดีที่สุดเมื่อใช้โหมด JSON แบบเข้มงวด ตรวจสอบชื่อระบุโมเดลในการเรียก API เสมอ อย่าสันนิษฐานว่าโมเดล Ollama ทั้งหมดรองรับฟีเจอร์เดียวกัน การรันโมเดลในเครื่องให้คุณควบคุมได้ แต่คุณยังคงต้องเคารพสถาปัตยกรรมของโมเดล ความแตกต่างนี้สำคัญมากสำหรับการแก้ไขพฤติกรรมที่ไม่คาดคิด

การจัดการความเข้ากันได้ของ Function Calling

จับคู่สคีมาฟังก์ชันให้ตรงกับโมเดลอย่างแม่นยำ การเรียกใช้ฟังก์ชันต้องการสคีมา JSON ที่เข้มงวด หากสคีมาของคุณไม่ถูกต้อง โมเดลจะไม่สามารถเรียกใช้ฟังก์ชันได้ คุณอาจได้รับข้อผิดพลาด JSON หรือการตอบสนองที่เพ้อเจ้อ ควรตรวจสอบสคีมาของคุณก่อนส่งเสมอ ใช้เครื่องมือเช่น jsonschema เพื่อให้แน่ใจว่าความถูกต้อง โมเดลคาดหวังชื่อฟิลด์เฉพาะ อย่าเปลี่ยนชื่อพวกเขาโดยพลการ หากโมเดลไม่รองรับการเรียกใช้ฟังก์ชัน คุณต้องจัดรูปแบบคำแนะนำด้วยตนเอง สิ่งนี้พบได้ทั่วไปกับโมเดลรุ่นเก่าหรือขนาดเล็ก ตรวจสอบเอกสารโมเดลเพื่อดูสถานะการรองรับ หากคุณกำลังใช้ uncensored coding ai, ตรวจสอบให้แน่ใจว่าคำจำกัดความของฟังก์ชันชัดเจน คำอธิบายที่คลุมเครือนำไปสู่การเลือกฟังก์ชันที่ไม่ดี ทดสอบกับสคีมาที่รู้ว่าเป็นที่ดีก่อน สิ่งนี้จะแยกปัญหาในโค้ดของคุณออกจากปัญหาในโมเดล การจัดรูปแบบที่เหมาะสมเป็นกุญแจสำคัญสำหรับการใช้เครื่องมือที่เชื่อถือได้

การหลีกเลี่ยงการสูญเสียโทเค็นในการสนทนาหลายรอบ

ตัดประวัติที่ไม่จำเป็นเพื่อประหยัดโทเค็น ข้อความทุกข้อในประวัติจะนับรวมอยู่ในหน้าต่างบริบท (context window) การส่งประวัติการสนทนาทั้งหมดทุกครั้งนั้นไม่คุ้มค่า คุณเสียโทเค็นไปกับบริบทเก่าที่ไม่เกี่ยวข้อง ซึ่งเพิ่มความล่าช้าและค่าใช้จ่าย ควรใช้การสรุปย่อหรือหน้าต่างแบบเลื่อน (sliding window) เก็บเฉพาะการสนทนาล่าสุดไว้เท่านั้น เพื่อให้บริบทยังคงสดใหม่และเกี่ยวข้อง นักพัฒนาบางคนเก็บข้อความทั้งหมดเพื่อความแม่นยำ ซึ่งก็ใช้ได้หากคุณมีทรัพยากรเพียงพอ แต่สำหรับ uncensored model api การใช้งาน ประสิทธิภาพเป็นเรื่องสำคัญ คุณต้องการเพิ่มจำนวน tokens ที่ใช้ได้จริงสำหรับงานหลักให้มากที่สุด ลบ system prompts ที่ไม่มีการเปลี่ยนแปลงออก เก็บข้อความ user และ assistant ที่เกี่ยวข้องไว้ สิ่งนี้จะลดจำนวน input tokens ลงอย่างมาก นอกจากนี้ยังช่วยเพิ่มความเร็วในการตอบสนองเสมอ ควรคำนวณจำนวน tokens ก่อนส่งข้อมูล วิธีนี้ช่วยให้คุณอยู่ภายในขีดจำกัดได้ การจัดการประวัติอย่างมีประสิทธิภาพเป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับแอปพลิเคชัน LLM ใดๆ

กำลังกำหนดค่า Temperature และ Top-P อย่างถูกต้อง

ใช้อุณหภูมิต่ำสำหรับโค้ด สูงสำหรับความคิดสร้างสรรค์ อุณหภูมิควบคุมความสุ่ม ค่า 0.2 เหมาะสำหรับการสร้างโค้ด มันผลิตผลลัพธ์ที่สอดคล้องกันและกำหนดค่าได้ ค่า 0.8 เหมาะสำหรับการเขียนเชิงสร้างสรรค์ มันแนะนำความหลากหลายและความประหลาดใจ top-p ควบคุมการสุ่มตัวอย่างนิวเคลียร์ มันจำกัดมวลความน่าจะเป็นของโทเค็นถัดไป ใช้ 0.9 เพื่อสมดุลระหว่างความคิดสร้างสรรค์และความสอดคล้อง อย่าตั้งค่าทั้งสองค่าสูงเกินไป สิ่งนี้อาจนำไปสู่เอาต์พุตที่ไม่สอดคล้องกัน ลองใช้ค่าที่แตกต่างกันสำหรับกรณีการใช้งานของคุณ โมเดลบางตัวตอบสนองต่อการตั้งค่าเฉพาะได้ดีกว่า หากคุณกำลังใช้ uncensored llm, คุณอาจต้องการอุณหภูมิที่สูงขึ้นสำหรับเอาต์พุตที่หลากหลาย ทดสอบเสมอด้วย prompt ตัวอย่าง ปรับพารามิเตอร์ตามผลลัพธ์ เพื่อให้แน่ใจว่าโมเดลทำงานตามที่คาดไว้

การจัดการตัวกรองเนื้อหาและการปฏิเสธ

คาดหวังการปฏิเสธแม้ในโมเดลที่ไม่มีการเซ็นเซอร์ โมเดลใดๆ ก็ไม่ปราศจากตัวกรอง 100% โมเดลบางตัวยังคงปฏิเสธหัวข้อบางประการ ซึ่งมักเกิดจากข้อมูลที่ใช้ฝึก คุณอาจเห็นการปฏิเสธสำหรับหัวข้อทั่วไป ตรวจสอบสถานะการตอบกลับ หากเป็นการปฏิเสธ แสดงว่าโมเดลบล็อกคำขอนี้ ซึ่งแตกต่างจากข้อผิดพลาดทางเทคนิค คุณสามารถปรับคำขอเพื่อเลี่ยงตัวกรอง โดยเพิ่มบริบทหรือเขียนใหม่บางส่วน nsfw llm รูปแบบมีความยืดหยุ่นมากกว่า แต่ก็ไม่สมบูรณ์แบบ เข้าใจข้อจำกัดของโมเดล หากคุณต้องการพฤติกรรม uncensored ที่เข้มงวด ให้เลือกโมเดลที่ปรับแต่งสำหรับจุดประสงค์นั้น อย่าสันนิษฐานว่าโมเดลทั้งหมดเหมือนกัน ทดสอบโมเดลกับกรณีการใช้งานเฉพาะของคุณ สิ่งนี้ช่วยให้คุณตั้งความคาดหวังที่ถูกต้อง การปฏิเสธเป็นฟีเจอร์ ไม่ใช่ข้อบกพร่อง ในหลายกรณี

ย้ายจาก ollama แบบโลคอลไปยัง API แบบโฮสต์

อัปเดต URL พื้นฐานและคีย์ API การย้ายจากแบบโลคัลไปยังแบบโฮสต์ต้องการการเปลี่ยนเอนด์พอยต์ การตั้งค่าโลคัลของคุณใช้ localhost. API ที่โฮสต์ใช้ URL ระยะไกล คุณยังต้องการคีย์ API สำหรับการตรวจสอบสิทธิ์ ซึ่งเพิ่มชั้นความปลอดภัย โมเดลในเครื่องของคุณสามารถเข้าถึงได้โดยทุกคนในเครือข่ายของคุณ API ที่โฮสต์ถูกแยกออก คุณจ่ายตามการใช้งาน แต่คุณได้รับความน่าเชื่อถือ Model apis บริการเสนอ uncensored model api พร้อมโครงสร้างราคาแบบโปร่งใส คุณสามารถเปลี่ยน base URL ของไคลเอนต์ได้อย่างง่ายดาย SDK ที่เข้ากันได้กับ OpenAI ส่วนใหญ่รองรับการเปลี่ยนแปลงนี้ คุณเพียงแค่ต้องอัปเดตการตั้งค่าเท่านั้น สิ่งนี้ช่วยให้คุณสามารถปรับขนาดแอปพลิเคชันของคุณได้ คุณไม่จำเป็นต้องจัดการฮาร์ดแวร์ของคุณเองอีกต่อไป API ที่ให้บริการโฮสต์จัดการโครงสร้างพื้นฐานแล้ว คุณจึงมุ่งเน้นไปที่ตรรกะของแอปพลิเคชันของคุณได้ นี่เป็นการอัปเกรดที่สำคัญสำหรับระบบการผลิต

คำถามที่พบบ่อย

ขีดจำกัดหน้าต่างบริบทสำหรับ API โมเดลคืออะไร?

หน้าต่างบริบทมีขนาด 100,000 tokens รวม prompt และ completion แล้ว คุณสามารถสร้างผลลัพธ์ได้สูงสุด 16,000 tokens ต่อการเรียก หากไม่ได้กำหนดพารามิเตอร์ max_tokens ขีดจำกัดคือ 2,048 tokens

ฉันจะชำระเงินสำหรับ API โมเดลแบบไม่มีเซนเซอร์ได้อย่างไร?

คุณสามารถเติมเงินเข้าบัญชีโดยใช้คริปโต เรารับ USDT บน TRC20 หรือ USDC บน Base การชำระเงินอยู่ระหว่าง $20 ถึง $500 คุณจะได้รับเครดิตโบนัสสำหรับการเติมเงินจำนวนมากขึ้น

โมเดลปฏิเสธเนื้อหาหรือไม่?

โมเดลนี้ไม่มีเซนเซอร์และไม่ปฏิเสธหัวข้อผู้ใหญ่ที่ถูกต้องตามกฎหมาย นามธรรม หรือเป็นที่ถกเถียง อย่างไรก็ตาม มันจะปฏิเสธเนื้อหาทางเพศที่เกี่ยวข้องกับเด็ก นี่เป็นข้อจำกัดแข็งข้อที่บังคับใช้เสมอ

ฉันสามารถใช้ SDK ทางการของ OpenAI กับ API นี้ได้หรือไม่?

ใช่ API เข้ากันได้กับ OpenAI คุณสามารถใช้ SDK ทางการได้โดยเปลี่ยน base URL เป็น HTTPS://api.modelapis.cc/v1 และระบุ API key ของคุณ model ID คือ "uncensored"

เข้าถึงคีย์ของคุณทันที

สมัครสมาชิก รับคีย์ของคุณ แล้วอัปเดต base URL ของคุณ แค่นั้นแหละ

สร้างคีย์ดูเอกสาร