การติดตั้งและการตั้งค่า
เริ่มต้นด้วยการสร้างบัญชีเพื่อรับคีย์ API ลงทะเบียนโดยใช้บัญชี Google หรือชุดอีเมลและรหัสผ่าน ระบบจะแสดงคีย์เฉพาะของคุณบนหน้าจอทันที ไม่ต้องตรวจสอบหมายเลขโทรศัพท์สำหรับขั้นตอนนี้ คุณสามารถสร้างคีย์ใหม่ได้ทุกเวลา แต่จะมีคีย์ที่ใช้งานได้นี้เพียงคีย์เดียวต่อบัญชี คีย์ใหม่จะแทนที่คีย์ก่อนหน้าทันที เก็บคีย์นี้ให้ปลอดภัยเนื่องจากมันให้สิทธิ์เข้าถึงเครดิตที่เติมเงินของคุณ ใช้ข้อมูลรับรองเหล่านี้กับ SDK ที่เข้ากันได้กับ OpenAI มาตรฐานใดๆ เพื่อเริ่มการผสานรวม
การกำหนดค่าพื้นฐาน
ชี้ไคลเอนต์ของคุณไปยัง URL ฐานเฉพาะสำหรับคำขอ uncensored ใช้มาตรฐาน BASE_URL พารามิเตอร์เพื่อจัดเส้นทางจราจรได้อย่างถูกต้อง โครงสร้างของเอนด์พอยต์จะเลียนแบบมาตรฐานของ OpenAI เพื่อความสะดวกในการสลับใช้งาน คุณต้องระบุคีย์ API ของคุณใน Authorization header. ตั้งค่า ID โมเดลเป็น uncensored ในวัตถุการกำหนดค่าของคุณ วิธีนี้ทำให้แน่ใจว่าคำขอกำหนดเป้าหมายไปยังโมเดลภาษาขนาดใหญ่แบบไม่เซ็นเซอร์ที่ถูกต้อง ตรวจสอบการเชื่อมต่อของคุณโดยแสดงรายการโมเดลที่มีอยู่ผ่าน /v1/models endpoint นี้ยืนยันว่าระบบตรวจสอบสิทธิ์ของคุณถูกต้องก่อนส่ง payload ขนาดใหญ่
ส่งคำขอ
ส่งคำขอ POST มาตรฐานไปยังจุดจบ chat completions payload ของคุณต้องรวม model field set to uncensored. ส่งข้อความของคุณในอาร์เรย์ภายใต้ messages key ระบบยอมรับคำจำกัดความของบทบาทมาตรฐานเช่น user และ assistant. โทเค็นอินพุตคิดอัตราที่โปร่งใสที่ $0.15 ต่อหนึ่งล้านโทเค็น โทเค็นเอาต์พุตราคา $0.50 ต่อหนึ่งล้านโทเค็น ข้อผิดพลาดไม่ใช้เครดิตที่เติมเงินของคุณ โมเดลการเรียกเก็บเงินนี้ช่วยให้คุณจ่ายเฉพาะข้อความที่สร้างจริง ใช้คำสั่ง cURL ต่อไปนี้เพื่อส่งข้อความแรกของคุณ
การตอบกลับแบบสตรีมมิ่ง
เปิดใช้งานการสตรีมโดยตั้งค่า stream ตั้งค่าเป็น true ในคำขอ เซิร์ฟเวอร์จะส่งสตรีม Server-Sent Events (SSE) แต่ละ chunk มีข้อความที่สร้างเสร็จบางส่วน chunk สุดท้ายรวมสถิติการใช้งาน token ทั้งหมด ซึ่งช่วยให้คุณแสดงข้อความให้ผู้ใช้แบบเรียลไทม์ การสตรีมทำงานเหมือนกันในทุก SDK ที่รองรับ ตรวจสอบให้แน่ใจว่าไคลเอนต์ของคุณจัดการบัฟเฟอร์ข้อความบางส่วนได้ถูกต้อง ใช้วิธีนี้สำหรับการสร้างเนื้อหาแบบยาวหรืออินเทอร์เฟซแชทโต้ตอบ ตัวอย่างต่อไปนี้แสดงวิธีการจัดการสตรีมใน Python
Function Calling
กำหนดเครื่องมือในคำขอโดยใช้ tools พารามิเตอร์ โมเดลส่งคืนการเรียกใช้เครื่องมือที่มีโครงสร้างเมื่อเหมาะสม คุณสามารถระบุ tool_choice เพื่อบังคับพฤติกรรมเฉพาะ ส่งการตอบสนองของเครื่องมือกลับไปยังโมเดลสำหรับการประมวลผลเพิ่มเติม ซึ่งรองรับเวิร์กโฟลว์ที่ซับซ้อนซึ่งต้องการการโต้ตอบกับ API ภายนอก โมเดลจัดการรูปแบบ JSON โดยอัตโนมัติเมื่อจำเป็น ตรวจสอบให้แน่ใจว่าคำจำกัดความของฟังก์ชันของคุณตรงกับสคีมาที่คาดหวัง ฟีเจอร์นี้ทำงานร่วมกับการตั้งค่าอุณหภูมิและ top-p มาตรฐาน ใช้ Node.js เพื่อจัดการเครื่องมือได้อย่างมีประสิทธิภาพ
โหมด JSON และขีดจำกัด
กำหนดค่าเพื่อขอผลลัพธ์ JSON แบบเข้มงวดโดยตั้งค่า response_format เพื่อ {"type": "json_object"}. โมเดลรับประกันโครงสร้าง JSON ที่ถูกต้องในการตอบกลับ ซึ่งเหมาะสำหรับการแยกวิเคราะห์ข้อมูลในตรรกะแอปพลิเคชันของคุณ โปรดทราบถึงขีดจำกัดหน้าต่างบริบท 100,000 โทเค็น ซึ่งครอบคลุมทั้งคำขอและคำตอบรวมกัน โทเค็นสูงสุดต่อคำขอคือ 16,000 โทเค็น หากคุณไม่ได้ระบุ max_tokens, ค่าเริ่มต้นคือ 2,048 Requests จำกัดอยู่ที่ 300 ต่อนาทีต่อ key Concurrent requests ถูกจำกัดที่แปดพร้อมกัน Request body ต้องไม่เกิน 8 MB จัดการ errors อย่างสุภาพตามที่แสดงในตัวอย่าง stream ต่อไปนี้
cURL
curl https://api.modelsuncensoredopenrouter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list three json keys"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.modelsuncensoredopenrouter.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.modelsuncensoredopenrouter.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)