การตรวจสอบสิทธิ์
การตรวจสอบสิทธิ์ทำผ่านคีย์ API เพียงตัวเดียว คุณสามารถสมัครผ่าน Google หรือรหัสผ่านอีเมลที่หน้า รับคีย์ API คีย์จะแสดงทันทีและผูกกับเครดิตแบบเติมเงินล่วงหน้าของคุณ ต่างจากผู้ให้บริการรายใหญ่ ไม่มีบริการรายเดือนหรือต้องการบัตรเครดิตสำหรับการทดลองใช้ ใช้ส่วนหัว Authorization: Bearer YOUR_API_KEY สำหรับคำขอทั้งหมด คีย์ของคุณเป็นข้อมูลรับรองที่ใช้งานเพียงอย่างเดียวในบัญชีนี้ การสร้างคีย์ใหม่จะทำให้คีย์ก่อนหน้าหมดอายุ
การสร้างผลลัพธ์พื้นฐาน
ส่งคำขอสร้างข้อความแชทมาตรฐานไปยังเอนด์พอยต์ที่เข้ากันได้กับ OpenAI รหัสโมเดลคือ uncensored โมเดลนี้เป็นโมเดลแบบเปิดน้ำหนักและปรับแต่งเพื่อตอบคำถามโดยไม่มีการปฏิเสธเนื้อหาสำหรับการใช้งานผู้ใหญ่ที่ถูกต้องตามกฎหมาย ไม่ใช่ GPT, Claude หรือโมเดลของผู้จัดจำหน่ายรายอื่น URL ฐานสำหรับบริการนี้ระบุไว้ด้านล่าง
curl https://api.ornith.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'แทนที่ YOUR_API_KEY ด้วยคีย์ของคุณจากแดชบอร์ด การตอบสนองรวมถึงข้อความที่สร้างขึ้นใน choices[0].message.content ข้อผิดพลาดเช่น 401 บ่งชี้ว่าคีย์ไม่ถูกต้อง ในขณะที่ 402 หมายความว่าเครดิตแบบเติมเงินล่วงหน้าของคุณหมดแล้ว
Python SDK
ใช้แพ็กเกจ Python openai อย่างเป็นทางการ ชี้ไปที่ URL พื้นฐานของ Ornith และระบุคีย์ API ของคุณ สิ่งนี้ทำให้เข้ากันได้กับโครงสร้างไคลเอนต์ OpenAI มาตรฐาน คุณสามารถส่งข้อความเป็นรายการของดิกชันนารีที่มี role และ content ไคลเอนต์จัดการคำขอ HTTP โดยอัตโนมัติ วิธีนี้ใช้ได้ทั้งการสร้างข้อความแบบง่ายและการโต้ตอบที่ซับซ้อนยิ่งขึ้นโดยใช้เครื่องมือหรือโหมด JSON
from openai import OpenAI
client = OpenAI(base_url="https://api.ornith.top/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)วัตถุการตอบสนองสะท้อนโครงสร้างมาตรฐานของ OpenAI คุณสามารถเข้าถึงข้อความที่สร้างขึ้นได้จากวัตถุการตอบสนองโดยตรง วิธีนี้เหมาะสำหรับบริการแบ็กเอนด์หรือสคริปต์ที่คุณต้องการเข้าถึงผลลัพธ์ของโมเดลแบบโปรแกรม
Node SDK
ติดตั้งแพ็กเกจ npm openai เริ่มต้นไคลเอนต์ด้วย URL ฐานของ Ornith และคีย์ API ของคุณ โครงสร้างของคำขอเหมือนกันกับ Python SDK ใช้วิธีการ chat.completions.create วิธีนี้เหมาะสำหรับสภาพแวดล้อม JavaScript ไม่ว่าจะเป็นการสร้างเว็บแบ็กเอนด์หรือเครื่องมือ CLI ไคลเอนต์จัดการการแปลงข้อมูลและการแปลงกลับของการตอบสนอง
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ornith.top/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);จัดการข้อผิดพลาดอย่างเหมาะสม ข้อผิดพลาดของเครือข่ายหรือ API จะทำให้เกิดข้อยกเว้น ตรวจสอบรหัสสถานะเพื่อแยกความแตกต่างระหว่างความล้มเหลวในการตรวจสอบสิทธิ์ ขีดจำกัดอัตรา หรือข้อผิดพลาดของเซิร์ฟเวอร์ การตอบสนองมีรายละเอียดการสร้างผลลัพธ์ในรูปแบบเดียวกันกับ Python SDK
การตอบสนองแบบสตรีมมิง
เปิดใช้งานสตรีมมิงโดยการตั้งค่า stream: true ในคำขอของคุณ สิ่งนี้จะส่งสตรีมของโทเคนเมื่อสร้างเสร็จ ใช้สำหรับการอัปเดต UI แบบเรียลไทม์หรือแสดงข้อความอย่างต่อเนื่อง สตรีมจะสิ้นสุดด้วยชิ้นสุดท้ายที่มีข้อมูลการใช้โทเคนรวม สิ่งนี้ช่วยให้คุณติดตามต้นทุนแบบเรียลไทม์โดยไม่ต้องรอการตอบสนองทั้งหมด มีประสิทธิภาพสำหรับบริบทยาวที่คุณต้องการแสดงความคืบหน้า
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)วนซ้ำผ่านสตรีมเพื่อประมวลผลแต่ละชิ้น ชิ้นสุดท้ายรวมถึงฟิลด์ usage สิ่งนี้มีประโยชน์สำหรับการโปร่งใสด้านการเรียกเก็บเงิน ตรวจสอบให้แน่ใจว่าไคลเอนต์ของคุณจัดการสตรีมได้อย่างถูกต้องเพื่อหลีกเลี่ยงปัญหาหน่วยความจำกับการตอบสนองขนาดใหญ่
ขีดจำกัด ข้อผิดพลาด และบริบท
หน้าต่างบริบทมี 100,000 โทเคนสำหรับพรอมต์และการสร้างข้อความรวมกัน ผลลัพธ์สูงสุดต่อคำขอคือ 32,000 โทเคน (2,048 หาก max_tokens ไม่ถูกกำหนด) คุณจำกัดอยู่ที่ 300 คำขอต่อนาทีและ 8 คำขอพร้อมกันต่อคีย์ ร่างคำขอต้องมีขนาดต่ำกว่า 8 MB หากคุณเกินขีดจำกัดอัตรา คุณจะรับข้อผิดพลาด 429 การปฏิเสธเนื้อหาที่เกี่ยวข้องกับเด็กถูกกำหนดไว้ล่วงหน้าและใช้เสมอ ข้อผิดพลาดไม่ใช้เครดิต เครดิตเป็นแบบเติมเงินล่วงหน้าและไม่มีวันหมดอายุ