URL ฐานและการตรวจสอบสิทธิ์
เชื่อมต่อ API โดยใช้ URL พื้นฐานและคีย์โทเค็นแบบเติมเงินที่ระบุ คุณสามารถยืนยันตัวตนโดยการส่งคีย์ API ของคุณในหัวขอ (header) ของคำขอ เพื่อให้แน่ใจว่าเฉพาะบัญชีของคุณเท่านั้นที่สามารถเข้าถึงเครดิตของคุณได้ สมัครสมาชิกผ่าน Google หรืออีเมลเพื่อรับคีย์ของคุณทันทีโดยไม่ต้องยืนยันด้วยหมายเลขโทรศัพท์
curl https://api.kimicodeapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current rate limit for free tier users?"}]
}'คำขอของคุณกำหนดเป้าหมายไปยังจุดปลายที่เข้ากันได้กับ OpenAI มาตรฐาน การออกแบบนี้ช่วยให้คุณสลับมาใช้บริการของเราได้โดยไม่ต้องเขียนโค้ดไคลเอนต์ใหม่ของคุณใหม่ โดยคุณต้องอัปเดต URL พื้นฐานและข้อมูลประจำตัว
จุดจบ API Chat Completions
ส่งข้อความไปยังโมเดลโดยใช้ POST /v1/chat/completions endpoint. คุณต้องระบุ model ID เป็น uncensored เพื่อเข้าถึงโมเดลภาษาขนาดใหญ่ที่ปรับแต่งให้เหมาะสมที่ทำงานบนเซิร์ฟเวอร์ของเรา ระบบรับบทบาทข้อความมาตรฐานเช่นผู้ใช้หรือผู้ช่วยสำหรับการสนทนาหลายรอบ
from openai import OpenAI
client = OpenAI(base_url="https://api.kimicodeapi.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)เอนด์พอยต์นี้รับข้อความป้อนเข้าและส่งกลับข้อความที่สร้าง ไม่รองรับ embedding รูปภาพ หรือเสียง เน้นที่โครงสร้างของ prompt เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดจากโมเดลแบบไม่มีเซนเซอร์
การตอบกลับแบบสตรีมมิ่ง (SSE)
เปิดใช้งานการส่งโทเค็นแบบเรียลไทม์โดยการตั้งค่าพารามิเตอร์ stream เป็น true ในคำขอของคุณ API จะส่ง chunk ของ Server-Sent Events (SSE) ทำให้แอปพลิเคชันของคุณสามารถแสดงข้อความขณะที่กำลังสร้างข้อความอยู่ chunk สุดท้ายจะประกอบด้วยสถิติการใช้โทเค็นทั้งหมดสำหรับการเรียกเก็บเงิน
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)การสตรีมลดการรับรู้ความล่าช้าสำหรับผู้ใช้งาน คุณสามารถประมวลผลแต่ละโทเค็นเมื่อได้รับ ซึ่งเหมาะสำหรับอินเทอร์เฟซแชท โปรดจำไว้ว่าการสตรีมไม่เปลี่ยนพฤติกรรมของโมเดลพื้นฐานหรือราคาโทเค็น
Function Calling และเครื่องมือ
กำหนดเครื่องมือในคำขอเพื่อให้โมเดลส่งการเรียกใช้ฟังก์ชันที่มีโครงสร้าง API รองรับพารามิเตอร์ tool_choice ซึ่งอนุญาตให้คุณบังคับให้โมเดลใช้เครื่องมือเฉพาะหรือตัดสินใจด้วยตนเอง คุณสมบัตินี้ทำงานกับรูปแบบเครื่องมือมาตรฐานของ OpenAI ทำให้การผสานรวมเป็นเรื่องง่าย
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.kimicodeapi.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);ใช้ฟังก์ชันคอลลิงเพื่อดึงข้อมูลหรือกระตุ้นการดำเนินการในแอปพลิเคชันของคุณ โมเดลจะตีความคำจำกัดความของเครื่องมือและส่งคืนวัตถุ JSON ที่มีอาร์กิวเมนต์ที่จำเป็น คุณสมบัตินี้ขยาย API ไปเกินกว่าการสร้างข้อความธรรมดา
โหมด JSON และพารามิเตอร์
บังคับใช้ผลลัพธ์ JSON แบบเข้มงวดโดยการตั้งค่า response_format เพื่อ {"type": "json_object"}สิ่งนี้ช่วยให้โมเดลส่งคืน JSON ซึ่งสำคัญสำหรับการแยกวิเคราะห์แบบโปรแกรมmatic คุณยังสามารถปรับพารามิเตอร์เช่น อุณหภูมิ top_p และลำดับหยุด เพื่อควบคุมความคิดสร้างสรรค์และความยาวของผลลัพธ์
โมเดลรองรับหน้าต่างบริบทขนาด 100,000 token สิ่งนี้ช่วยให้คุณส่งบริบทปริมาณมากในการเรียกใช้หนึ่งครั้ง ผลลัพธ์สูงสุดคือ 16,000 token ต่อการเรียกใช้ หรือ 2,048 หากไม่ได้ระบุ max_tokens
ข้อจำกัด, ข้อผิดพลาด และบริบท
ตรวจสอบขีดจำกัดการเรียกใช้ API ของคุณเพื่อหลีกเลี่ยงการหยุดชะงักของบริการ API อนุญาตให้เรียกใช้ได้ 300 ครั้งต่อนาทีต่อคีย์ และสูงสุด 8 การเรียกใช้พร้อมกัน ร่างกายคำขอของคุณต้องอยู่ภายใต้ 8 MB หากเกินขีดจำกัดเหล่านี้ คุณจะรับข้อผิดพลาดจำกัดอัตราความเร็ว 429
Authentication failures return a 401 error if the key is invalid. A 402 error indicates insufficient prepaid credit. Errors during generation do not consume your tokens. The context window includes both prompt and completion tokens. Unused credit never expires, ensuring your prepaid balance remains available for future projects.