SDK compatibility and base URL setup
เชื่อมต่อโค้ด client ที่มีอยู่ของคุณโดยชี้ไปยัง endpoint เฉพาะของเรา สิ่งนี้ openai compatible API รองรับ headers มาตรฐานและการกำหนดค่า SDK โดยไม่ต้องเปลี่ยนแปลงโค้ด คุณเพียงแค่ต้องอัปเดต base URL และให้ API key ของคุณจากแดชบอร์ด
https://api.openrouterratelimits.com/v1 เป็นจุดเริ่มต้นเดียวสำหรับการร้องขอทั้งหมด การตรวจสอบสิทธิ์ใช้ระบบโทเค็น Bearer มาตรฐานที่พบในไลบรารี LLM สมัยใหม่ส่วนใหญ่ ส่งคีย์ของคุณใน Authorization header เพื่อตรวจสอบตัวตนของคุณ การตั้งค่านี้ใช้งานได้กับไคลเอนต์ใดๆ ที่รอคอยอินเทอร์เฟซสไตล์ OpenAI ทำให้การย้ายระบบเป็นไปอย่างรวดเร็วสำหรับทีมที่หมดความอดทนกับภาวะผูกขาดกับผู้ให้บริการรายเดียว
- Base URL:
https://api.openrouterratelimits.com/v1 - Auth Header:
Authorization: Bearer YOUR_API_KEY - ID โมเดล:
uncensored
การตอบกลับแบบสตรีมด้วย SSE
เปิดใช้งานการสตรีมโดยตั้งค่า stream: true ใน payload ของคำขอของคุณ API ส่งคืน Server-Sent Events (SSE) สำหรับการส่งโทเค็นแบบเรียลไทม์ แต่ละท่อนมีข้อความที่สร้างจนกว่าท่อนสุดท้ายจะรวมสถิติการใช้งาน วิธีนี้รักษา UI ของคุณให้ตอบสนองได้แม้สำหรับหน้าต่างบริบทยาว
การสตรีมเหมาะสำหรับอินเทอร์เฟซแชทหรือสถานการณ์บทบาทสมมติที่ความหน่วงเวลาสำคัญ คุณไม่จำเป็นต้องรอให้คำตอบทั้งหมดเสร็จจึงแสดงข้อความ บล็อกสุดท้ายจะมีจำนวนโทเค็นสำหรับการเรียกเก็บเงินที่แม่นยำ ข้อผิดพลาดระหว่างการสตรีมยังคงส่งรหัสสถานะ HTTP ที่ถูกต้องสำหรับการจัดการทันที
การเรียกฟังก์ชันและโหมด JSON
ใช้เอาต์พุตที่มีโครงสร้างสำหรับการดึงข้อมูลหรือการผสานรวมเครื่องมือ เปิดใช้งาน response_format กับ {"type": "json_object"} เพื่อบังคับให้สอดคล้องกับ JSON โหมดนี้จำเป็นสำหรับการแยกวิเคราะห์โครงสร้างซ้อนที่ซับซ้อนโดยไม่ต้องใช้ตรรกะการทำความสะอาดเพิ่มเติม การเรียกใช้ฟังก์ชันทำงานร่วมกับข้อความมาตรฐานสำหรับการสร้างเวิร์กโฟลว์ของเอเจนต์แบบไดนามิก
กำหนดเครื่องมือของคุณใน tools อาร์เรย์และระบุ tool_choice สำหรับการบังคับใช้แบบเข้มงวด โมเดลส่งการเรียกฟังก์ชันในรูปแบบมาตรฐานของ OpenAI คุณลักษณะนี้รองรับทั้งการเรียกเครื่องมือเดียวและหลายเครื่องมือภายในรอบเดียว ใช้สิ่งนี้สำหรับการสร้างเอเจนต์ที่โต้ตอบกับ API หรือฐานข้อมูลภายนอกได้อย่างน่าเชื่อถือ
จัดการโทเค็นและพารามิเตอร์
ควบคุมพฤติกรรมการสร้างด้วยพารามิเตอร์มาตรฐานเช่น temperature, top_p, และ stop. หน้าต่างบริบทรองรับได้สูงสุด 100,000 tokens สำหรับ prompt และ completion รวมกัน ซึ่งอนุญาตให้ใช้บริบททางประวัติศาสตร์จำนวนมากหรือประมวลผลเอกสารขนาดใหญ่ในคำขอเดียว
ตั้งค่า max_tokens เพื่อจำกัดความยาวของผลลัพธ์ โดยค่าเริ่มต้นคือ 2,048 หากไม่ได้ระบุ โมเดลจัดการ presence_penalty และ frequency_penalty สำหรับการควบคุมสไตล์ การใช้โทเค็นจะถูกคิดค่าบริการตามจำนวนอินพุตและเอาต์พุตจริง ข้อผิดพลาดไม่ใช้โทเค็น รับประกันการเรียกเก็บเงินที่เป็นธรรมสำหรับคำขอที่ล้มเหลว
ทำความเข้าใจข้อจำกัดอัตราการใช้งานต่อคีย์
คีย์ API แต่ละคีย์รองรับ 300 คำขอต่อนาที พร้อมขีดจำกัดความพร้อมใช้งานที่ 8 คำขอพร้อมกัน ขีดจำกัดนี้ใช้ต่อคีย์ ดังนั้นการสร้างคีย์หลายคีย์จะช่วยเพิ่ม throughput ได้แบบเส้นตรง ขนาดสูงสุดของ body ในคำขอคือ 8 MB ซึ่งอยู่ใน context window สำหรับกรณีใช้งานส่วนใหญ่
อัตราจำกัดการเรียกใช้จะรีเซ็ตอย่างต่อเนื่องตามหน้าต่างแบบเลื่อน หากเกินขีดจำกัด API จะส่งข้อผิดพลาด 429 อัปเกรดเครดิตแบบชำระเงินล่วงหน้าของคุณเพื่อรักษาสิทธิ์การเข้าถึงแบบลำดับความสูง ต่างจากแพ็กเกจแบบแชร์ เซิร์ฟเวอร์แบบเฉพาะของเราไม่ได้รับผลกระทบจากเสียงรบกวนจากผู้ใช้รายอื่น ตรวจสอบแดชบอร์ดการใช้งานของคุณเพื่อให้อยู่ในขอบเขตเหล่านี้เพื่อประสิทธิภาพที่สม่ำเสมอ
การแก้ปัญหาข้อผิดพลาดทั่วไป
จัดการข้อผิดพลาดโดยการตรวจสอบรหัสสถานะ HTTP และบอดีการตอบสนอง ข้อผิดพลาด 401 บ่งชี้ว่าคีย์ API ไม่ถูกต้องหรือไม่มีอยู่ สร้างคีย์ใหม่จากแดชบอร์ดหากการตรวจสอบสิทธิ์ล้มเหลว ข้อผิดพลาด 402 หมายความว่าเครดิตเติมเงินล่วงหน้าของคุณหมดแล้ว ให้เติมเงินผ่านคริปโตเพื่อใช้บริการต่อ
รหัสข้อผิดพลาด 429 ระบุว่าคุณเกินขีดจำกัดอัตราแล้ว ลดความถี่ของคำขอหรือแบ่งภาระงานข้ามคีย์หลายคีย์ API ไม่คิดค่าโทเค็นสำหรับข้อผิดพลาดเหล่านี้ ดังนั้นคุณไม่สูญเสียเครดิตสำหรับการลองซ้ำ ตรวจสอบให้แน่ใจว่าไลบรารีไคลเอนต์ของคุณจัดการการลองซ้ำด้วยการเพิ่มเวลาแบบเอกซ์โพเนนเชียลเพื่อความแข็งแกร่ง
cURL
curl https://api.openrouterratelimits.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Process one million logs"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterratelimits.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterratelimits.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);การสตรีม
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)