Authentication and Base URL Setup
คีย์ API ของคุณใช้ยืนยันการขอข้อมูลทุกคำขอไปยังเซิร์ฟเวอร์ของเรา เพียงสมัครสมาชิกด้วย Google หรือที่อยู่อีเมล แล้วคัดลอกคีย์จากแดชบอร์ดของคุณ วางคีย์นี้ในตัวแปรสภาพแวดล้อมของคุณเป็น DEEPSEEK_API_KEY ชี้ไคลเอนต์ของคุณไปที่ https://api.keyapideepseek.com/v1. URL พื้นฐานนี้ทำงานกับไลบรารีที่เข้ากันได้กับ OpenAI มาตรฐานใดๆ
curl https://api.keyapideepseek.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check the system health and confirm uptime status"}]
}'คุณสามารถตรวจสอบการตั้งค่าของคุณโดยการแสดงรายการโมเดลที่มีอยู่ การตอบกลับยืนยันว่าคีย์ของคุณถูกต้องและใช้งานอยู่ ขั้นตอนนี้ช่วยให้มั่นใจว่าการผสานรวมของคุณชี้ไปยัง endpoint uncensored ที่ถูกต้องก่อนที่จะส่ง prompt
จุดจบ API Chat Completions
The POST /v1/chat/completions เอนด์พอยต์รับคำขอของคุณและส่งการตอบสนองจากโมเดล คุณส่งวัตถุ JSON ที่มีข้อความ คำแนะนำระบบ และพารามิเตอร์เช่นอุณหภูมิ โมเดลไอดีคือ uncensored. โมเดลเดียวนี้จัดการความต้องการการสร้างข้อความทั้งหมดของคุณโดยไม่มีความซับซ้อนในการเปลี่ยนเส้นทาง
from openai import OpenAI
client = OpenAI(base_url="https://api.keyapideepseek.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)SDK ของ Python จัดการคำขอ HTTP โดยอัตโนมัติ คุณส่งคีย์และ URL พื้นฐานไปยังคอนสตรัคเตอร์ไคลเอนต์ โค้ดที่เหลือเลียนแบบรูปแบบมาตรฐานของ OpenAI สิ่งนี้รับประกันว่าคุณสามารถเปลี่ยนผู้ให้บริการในภายหลังโดยไม่ต้องเขียนโค้ดตรรกะแอปพลิเคชันทั้งหมดใหม่
การตอบกลับแบบสตรีมมิ่งและการใช้งานโทเค็น
เปิดใช้งานการสตรีมโดยตั้งค่า stream: true ในการร้องขอของคุณ API จะส่งคืนสตรีม Server-Sent Events (SSE) ของชิ้น แต่ละชิ้นมีข้อความบางส่วนและสถิติการใช้งาน ชิ้นสุดท้ายรวมถึงจำนวนโทเค็นรวมสำหรับการร้องขอ
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)การสตรีมช่วยลดความล่าช้าที่ผู้ใช้รู้สึกได้ คุณสามารถแสดงโทเค็นเมื่อได้รับข้อมูลนี้ สำคัญอย่างยิ่งสำหรับการสร้างเนื้อหาแบบยาวหรืออินเทอร์เฟซแชทแบบโต้ตอบ ติดตามการใช้งานโทเค็นในชิ้นสุดท้ายเพื่อติดตามการบริโภคเครดิตที่ชำระล่วงหน้าของคุณได้อย่างแม่นยำ
โหมด JSON และการเรียกใช้ฟังก์ชัน
บังคับใช้ผลลัพธ์ที่มีโครงสร้างโดยการตั้งค่า response_format เพื่อ {"type": "json_object"}. โมเดลจะคืนค่า JSON แทนข้อความแบบอิสระ สิ่งนี้เหมาะสำหรับการผสานรวม API หรืองานการสกัดข้อมูล คุณยังสามารถกำหนดคำจำกัดความของฟังก์ชันใน prompt ของคุณสำหรับการใช้เครื่องมือ
โมเดลรองรับ tool_choice พารามิเตอร์ คุณสามารถบังคับใช้ฟังก์ชันเฉพาะหรือปล่อยให้โมเดลตัดสินใจ ความยืดหยุ่นนี้ช่วยให้คุณสร้างเอเจนต์ที่ซับซ้อนได้ ตรวจสอบให้แน่ใจว่าสคีมาฟังก์ชันของคุณมีประเภทข้อมูลที่เข้มงวดเพื่อหลีกเลี่ยงข้อผิดพลาดในการแยกวิเคราะห์ในโค้ดไคลเอนต์ของคุณ
อัตราจำกัดและความพร้อมใช้งาน
คีย์ API แต่ละตัวจำกัดอยู่ที่ 300 คำขอต่อนาที คุณสามารถส่งคำขอพร้อมกันได้สูงสุด 8 คำขอ ขนาดสูงสุดของ body คำขอคือ 8 MB ขีดจำกัดเหล่านี้ช่วยป้องกันการ滥用และรับประกันประสิทธิภาพที่เสถียรสำหรับผู้ใช้ทุกคน การเกินขีดจำกัดเหล่านี้จะส่ง error 429
เพิ่มการหน่วงเวลาแบบเอ็กซ์โพเนนเชียลในไลบรารีไคลเอนต์ของคุณ ลองคำขอที่ล้มเหลวหลังจากหน่วงระยะเวลาสั้นๆ วิธีนี้จัดการปัญหาเครือข่ายชั่วคราวได้อย่างราบรื่น เครดิตที่จ่ายล่วงหน้าของคุณจะถูกหักเฉพาะสำหรับการดำเนินการที่สำเร็จเท่านั้น ไม่ใช่สำหรับการลองใหม่เนื่องจากข้อจำกัดอัตรา
การจัดการข้อผิดพลาดและการปฏิเสธ
รหัสข้อผิดพลาด 401 หมายถึงคีย์ของคุณไม่ถูกต้องหรือหมดอายุ รหัสข้อผิดพลาด 402 หมายถึงยอดเงินล่วงหน้าไม่เพียงพอ รหัสข้อผิดพลาด 429 หมายถึงคุณได้เกินขีดจำกัดอัตราการใช้งาน โมเดลจะปฏิเสธคำขอที่มีเนื้อหาทางเพศที่เกี่ยวข้องกับเด็ก แต่เนื้อหาผู้ใหญ่ที่ถูกต้องตามกฎหมายอื่นๆ อนุญาตให้ใช้งานได้
ตรวจสอบ body ของ response ข้อผิดพลาดสำหรับข้อความรายละเอียด บันทึกข้อผิดพลาดเหล่านี้เพื่อ debug ปัญหาการผสานรวม เครดิตของคุณไม่ถูกบริโภคสำหรับคำขอที่ล้มเหลว โมเดลการเรียกเก็บเงินที่โปร่งใสนี้ช่วยให้คุณคาดการณ์ต้นทุนได้อย่างแม่นยำโดยไม่มีค่าธรรมเนียมซ่อนเร้น
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.keyapideepseek.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);