อัปเดต
คีย์ API DeepSeek ไม่ทำงาน: สาเหตุและวิธีแก้ไข
เมื่อปรากฏข้อผิดพลาดว่าคีย์ API ของ DeepSeek ไม่ทำงาน คีย์มักไม่ใช่สาเหตุหลักน้อยกว่าที่คุณคิด ความล้มเหลวส่วนใหญ่มาจาก base URL, ยอดเงินเป็นศูนย์, ชื่อโมเดลผิด หรือไคลเอนต์ที่ส่งคีย์ในตำแหน่งผิด


เริ่มด้วยการทดสอบแบบบรรทัดเดียว
ก่อนเปลี่ยนสิ่งใดในแอปของคุณ ให้ตัดไคลเอนต์ออกจากการพิจารณา การเรียก curl ครั้งเดียวบอกคุณได้ว่าคีย์ URL และชื่อโมเดลทำงานร่วมกันหรือไม่ แทนที่ค่าในเครื่องหมายคำพูดด้วยค่าจากแดชบอร์ดและเอกสารของผู้ให้บริการ
curl -i https://YOUR-PROVIDER/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR-MODEL","messages":[{"role":"user","content":"ping"}]}'
แฟลก -i จะพิมพ์บรรทัดสถานะและส่วนหัว ซึ่งสำคัญกว่าเนื้อหา หาก curl ทำงานได้แต่แอปของคุณไม่ทำงาน แสดงว่าปัญหาอยู่ที่การตั้งค่าแอป หาก curl ล้มเหลวเช่นกัน ปัญหาคือคีย์ บัญชี หรือเอนด์พอยต์
อ่านรหัสสถานะก่อน
| สถานะ | ความหมายทั่วไป | สิ่งที่ต้องตรวจสอบ |
|---|---|---|
| 401 | คีย์ถูกปฏิเสธ | ข้อผิดพลาดจากการคัดลอก ช่องว่างเพิ่มเติม คีย์ที่ถูกเพิกถอนหรือถูกลบ คีย์จากผู้ให้บริการอื่น |
| 402 หรือข้อความเกี่ยวกับยอดเงิน | ไม่มีเครดิตเหลือ | หน้ายอดเงินและการเรียกเก็บเงินของบัญชี |
| 404 | เส้นทางหรือโมเดลผิด | Base URL, /v1 ท้ายสุด, การสะกดชื่อโมเดล |
| 429 | คำขอเกินจำนวน | คำขอต่อนาที การเรียกใช้งานพร้อมกัน Header การลองซ้ำ |
| 5xx หรือหมดเวลา | ฝั่งผู้ให้บริการหรือเครือข่าย | หน้าสถานะของผู้ให้บริการ ลองใหม่ในภายหลัง การกำหนดเส้นทางระดับภูมิภาค |
นี่คือความหมายทั่วไปของผู้ให้บริการสไตล์ OpenAI ผู้ให้บริการแต่ละรายบันทึกสถานะเฉพาะของตัวเอง ดังนั้นตรวจสอบเอกสารปัจจุบันของพวกเขาเพื่อดูรายละเอียด
ตัวคีย์เอง
คีย์เป็นสตริงยาว และมักเกิดข้อผิดพลาดในรูปแบบที่เรียบง่าย วางคีย์ลงในโปรแกรมแก้ไขข้อความธรรมดาและมองหาช่องว่างหรือบรรทัดใหม่ท้ายสุด เครื่องหมายคำพูดนำหน้า หรือการขึ้นบรรทัดใหม่ที่เพิ่มโดยแอปแชท ตรวจสอบให้แน่ใจว่าส่วนหัวอ่านว่า Authorization: Bearer KEY โดยมีช่องว่างเดียวหลังคำว่า Bearer หากคุณตั้งค่าคีย์ในตัวแปรสภาพแวดล้อม ให้แสดงความยาวของมันในแอปของคุณ (ไม่ใช่ค่าของมัน) เพื่อยืนยันว่าโหลดสำเร็จ
อีกสองกรณีที่เป็นไปได้คือ ประการแรก คุณสร้างคีย์ ปิดหน้าเว็บ แล้วคัดลอกเวอร์ชันที่ซ่อนไว้ แดชบอร์ดส่วนใหญ่แสดงคีย์เพียงครั้งเดียว ดังนั้นให้สร้างคีย์ใหม่ ประการที่สอง คุณกำลังใช้คีย์จากบริการหนึ่งกับ URL ของบริการอื่น คีย์จะใช้งานได้เฉพาะกับผู้ให้บริการที่ออกคีย์นั้นเท่านั้น
ยอดเงิน การเรียกเก็บเงิน และเครดิตฟรี
คีย์ API หลายรายการใช้งานได้เฉพาะเมื่อบัญชีมีเครดิต ยอดเงินว่างอาจดูเหมือนคีย์เสีย เปิดหน้าการเรียกเก็บเงินของผู้ให้บริการและยืนยันว่าคุณมีเงิน และยอดเงินเติมเข้าแล้วจริงๆ และเครดิตโปรโมชันยังไม่หมดอายุ การเติมเงินด้วยคริปโตอาจใช้เวลาสักครู่ในการปรากฏ
หากคุณต้องการเปรียบเทียบว่าบริการเติมเงินแบบอื่นจัดการเรื่องนี้อย่างไร โมเดลของเราเรียบง่าย: คุณซื้อเครดิต การเรียกใช้ลดเครดิตลงที่ $0.15 ต่อ 1M input tokens และ $0.50 ต่อ 1M output tokens คำขอที่ล้มเหลวหรือถูกปฏิเสธจะไม่ถูกเรียกเก็บเงิน และเครดิตไม่หมดอายุ คุณสามารถอ่านยอดเงินด้วย GET /v1/balance หรือจาก X-Balance-USD header ในการตอบกลับแต่ละครั้ง
Base URL และชื่อโมเดล
สาเหตุที่พบบ่อยที่สุดในการใช้เครื่องมือเช่น SillyTavern, Janitor AI และส่วนเสริมของ editor คือ base URL ที่พิมพ์ผิดเล็กน้อย ความผิดพลาดทั่วไป: ขาด /v1, /v1/v1 ซ้ำ, ใช้ http แทน https, หรือวางเส้นทางเต็ม /chat/completions ลงในฟิลด์ที่เพิ่มอยู่แล้ว ฟิลด์โมเดลเป็นกับดักอีกอย่างหนึ่ง มันต้องตรงกับ model ID ที่ผู้ให้บริการระบุ แสดงรายการด้วย GET /v1/models หากผู้ให้บริการรองรับ หรืออ่านเอกสารปัจจุบัน
คู่มือการตั้งค่าสำหรับเครื่องมือเฉพาะมีอยู่ในเว็บไซต์นี้: การใช้คีย์ใน SillyTavern, ใน Janitor AI และ ใน VS Code
ขีดจำกัดอัตราและคำขอพร้อมกัน
การพุ่งขึ้นของคำขอพร้อมกันสามารถกระตุ้น 429 ได้แม้บนคีย์ที่ถูกต้อง มองหา Retry-After header และลดความถี่ การ retry ขั้นต่ำใน Python มีลักษณะดังนี้:
import time
from openai import OpenAI, RateLimitError
client = OpenAI(base_url="https://api.deepseekapikey.com/v1", api_key="YOUR_KEY")
def ask(prompt):
for attempt in range(4):
try:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": prompt}],
)
return r.choices[0].message.content
except RateLimitError:
time.sleep(5 * (attempt + 1))
raise RuntimeError("still rate limited")
ที่ endpoint ของเรา คีย์เต็มรูปแบบอนุญาตให้ 8 คำขอพร้อมกันและ 300 คำขอต่อนาที คำขอแบบ streaming ถือตำแหน่งของมันจนกว่าสตรีมจะเสร็จ รหัสข้อผิดพลาดคือ rate_limited หรือ concurrency และการ overload ชั่วคราวส่งกลับ 429 ด้วย Retry-After: 5
ปัญหาเครือข่ายและภูมิภาค
หาก curl ค้างหรือรีเซ็ต ปัญหาอาจอยู่ระหว่างคุณและผู้ให้บริการ: proxy ขององค์กร, VPN, DNS, หรือการบล็อกระดับภูมิภาค ลองใช้เครือข่ายอื่น ตรวจสอบว่า proxy ของคุณส่งผ่าน Authorization headers และเพิ่ม timeout ไคลเอนต์ของคุณสำหรับการสร้างข้อความยาว การตอบกลับแบบ streaming ยังสามารถถูกตัดโดย proxy ที่ buffer; ทดสอบด้วย stream: false เพื่อแยกปัญหาทั้งสอง
รายการตรวจสอบที่คุณสามารถรันได้ในห้านาที
- รันการทดสอบ curl และบันทึก status code
- สร้างคีย์ใหม่และทดสอบ หากคีย์ใหม่ใช้งานได้ แสดงว่าคีย์เก่าคัดลอกผิดหรือถูกเพิกถอน
- ตรวจสอบยอดเงินและวันที่หมดอายุของเครดิต
- เปรียบเทียบ base URL และ model ID กับเอกสารของผู้ให้บริการ ตัวอักษรต่อตัวอักษร
- ส่งคำขอหนึ่งคำขอโดยไม่มี streaming, ไม่มี tools และพรอมต์สั้น เพิ่มฟีเจอร์กลับทีละอย่าง
- ตรวจสอบการเรียกแบบคู่ขนาน หากแอปของคุณยิงคำขอหลายคำขอพร้อมกัน ลด concurrency
- ลองใช้เครือข่ายอื่นหรือปิด VPN
- ดูส่วนหัวของคำตอบ รวมถึง request ID ใด ๆ ทีมสนับสนุนสามารถพบการเรียกของคุณจาก ID นั้น
ขั้นตอนที่ห้าพบข้อบกพร่องที่น่าประหลาดใจ จำนวนมาก นิยามเครื่องมือที่ไม่ถูกต้องเล็กน้อย ค่า max_tokens ที่ใหญ่เกินไป หรือ body ที่เกินขนาดจำกัดสามารถส่งกลับข้อผิดพลาดที่ดูเหมือนปัญหาคีย์ ที่ endpoint ของเรา ขนาด body คือ 8 MB และการตอบกลับทุกการตอบกลับมี X-Request-Id header คุณสามารถอ้างอิงไปยังการสนับสนุน
ตั้งค่า backup endpoint
ระบบล่มและขีดจำกัดเกิดขึ้นกับผู้ให้บริการใดๆ ดังนั้นให้เก็บ OpenAI-compatible endpoint ตัวที่สองไว้ใน config ของคุณ โมเดลของเราเป็นโมเดลแบบเปิดน้ำหนักที่โฮสต์และปรับแต่งเพื่อตอบโดยไม่มีการปฏิเสธเนื้อหาสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย มันไม่ใช่ API ทางการของ DeepSeek และไม่ใช่ router ดังนั้นจึงคาดหวังคำตอบและพฤติกรรมที่แตกต่างกัน การสลับใช้เวลาเพียงสองการตั้งค่า: base URL https://api.deepseekapikey.com/v1 และ model uncensored
curl https://api.deepseekapikey.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}]}'
ผู้ใช้ใหม่สามารถรับเครดิตทดลองใช้ $0.50 ด้วยคลิกเดียวบน หน้าคีย์ API ใช้ได้เป็นเวลา 7 วัน การเติมเงินมีตั้งแต่ $20 ถึง $500 ด้วยคริปโต; ดู หน้าราคา และ เอกสาร สำหรับรายละเอียด
คู่มือเพิ่มเติม
ถาม-ตอบ
ทำไมคีย์ของฉันถึงทำงานใน curl แต่ไม่ทำงานในแอปของฉัน?
แอปพลิเคชันน่าจะมี base URL ผิด, ชื่อโมเดลผิด หรือสำเนาของคีย์ API เก่าเกินไป เปรียบเทียบการตั้งค่าของแอปกับคำสั่ง curl ที่ทำงานได้ของคุณทีละอักขระ
คีย์ที่ถูกต้องรับประกันว่าคำขอจะสำเร็จหรือไม่
ไม่ การมียอดเงินเป็นศูนย์ ขีดจำกัดอัตรา หรือชื่อโมเดลที่ไม่รู้จัก ล้วนทำให้คำขอล้มเหลวได้แม้จะมีคีย์ที่ใช้งานได้ดี
ฉันสามารถใช้โค้ดเดียวกันกับผู้ให้บริการรายอื่นได้หรือไม่
หากทั้งสองรายเข้ากันได้กับ OpenAI ใช่ เปลี่ยน base URL คีย์ และ ID โมเดล
เอนด์พอยต์ของคุณใช้โมเดลเดียวกับ DeepSeek หรือไม่
ไม่ มันเป็นโมเดลแบบเปิดน้ำหนักที่ดำเนินการโดยผู้ให้บริการอิสระ และไม่ใช่ API ทางการของผู้จัดจำหน่ายรายใด
คีย์ของคุณอยู่ห่างแค่ขั้นตอนการกรอกแบบฟอร์ม
สร้างบัญชี คัดลอกคีย์ และเปลี่ยน base URL นั่นคือการตั้งค่าทั้งหมด