เอกสาร API
ใส่โมเดลแบบไม่มีเซนเซอร์ลงในโค้ดเบสของคุณโดยไม่มีภาระการกำหนดค่า คู่มือนี้ครอบคลุมจุดสิ้นสุดที่เข้ากันได้กับ OpenAI การตรวจสอบสิทธิ์ และการตั้งค่าสตรีมเพื่อการผสานรวมทันที
เริ่มต้นใช้งาน: การผสานรวมด้วย Python
ขั้นตอนแรกคือการติดตั้ง OpenAI SDK อย่างเป็นทางการและกำหนดค่า URL พื้นฐาน เพื่อให้แน่ใจว่าไคลเอนต์ของคุณจะส่งคำขอไปยังจุดสิ้นสุด LLM แบบไม่มีเซนเซอร์ของเราโดยไม่ต้องแก้ไขตรรกะที่มีอยู่
- ติดตั้งแพ็กเกจผ่าน pip
- ตั้งค่าคีย์ API และ URL ฐาน
- ส่งคำขอ chat completion มาตรฐาน
การตั้งค่านี้ใช้งานได้ทั้งสำหรับสคริปต์ในเครื่องและเซิร์ฟเวอร์การผลิต
การตรวจสอบสิทธิ์และ Base URL
คีย์ API ของคุณจะยืนยันตัวตนทุกคำขอไปยัง URL พื้นฐาน HTTPS://api.chatbotsemfiltro.com/v1 คีย์จะถูกสร้างทันทีเมื่อสมัครสมาชิกและจะมีอายุจนกว่าคุณจะเพิกถอน
เก็บคีย์ในตัวแปรสภาพแวดล้อมเพื่อหลีกเลี่ยงการเขียนรหัสลับแบบตายตัว SDK จะจัดการการฉีดเฮดเดอร์โดยอัตโนมัติ
จุดจบ API Chat Completions
เอนด์พอยต์หลักยอมรับคำขอ POST ไปยัง /v1/chat/completions มันคาดหวัง body แบบ JSON ที่มี messages และพารามิเตอร์ของโมเดล
- กำหนดบทบาท (system, user, assistant)
- ระบุโมเดลเป็น "uncensored".
- รับผลลัพธ์ข้อความ
โครงสร้างนี้สะท้อนรูปแบบมาตรฐานของ OpenAI เพื่อให้มั่นใจถึงความเข้ากันได้
การสตรีมและการเรียกใช้ฟังก์ชัน
เปิดใช้งานการสตรีมโดยตั้งค่า stream เป็น true API จะส่งคืนชิ้นส่วน Server-Sent Events (SSE) ส่งมอบโทเค็นเมื่อถูกสร้างขึ้น
รองรับ Function Calling ผ่านพารามิเตอร์ tools โมเดลจะส่งคืนการเรียกเครื่องมือในรูปแบบ JSON ซึ่งคุณสามารถแยกวิเคราะห์และเรียกใช้งานได้
พารามิเตอร์: Temperature และ Top P
ปรับอุณหภูมิเพื่อความสร้างสรรค์หรือความกำหนดได้ ค่าระหว่าง 0 ถึง 2 ควบคุมความสุ่ม Top P กรองคำตามความน่าจะเป็นสะสม
ผสานพารามิเตอร์เหล่านี้เพื่อปรับแต่งสไตล์ของผลลัพธ์ ใช้ seed สำหรับผลลัพธ์ที่ทำซ้ำได้ระหว่างการทดสอบ
หน้าต่างบริบทและข้อจำกัด
โมเดลรองรับหน้าต่างบริบทขนาด 100,000 tokens Output สูงสุดคือ 16,000 tokens ต่อคำขอ
อัตราจำกัดการเรียกใช้คือ 300 ครั้งต่อนาที หากเกินนี้จะเกิดข้อผิดพลาด 429 จัดการการเรียกใช้พร้อมกันเพื่อหลีกเลี่ยงการจำกัดความเร็ว
การจัดการข้อผิดพลาดและโทเค็น
จัดการข้อผิดพลาด HTTP อย่างสุภาพ 401 หมายถึงคีย์ไม่ถูกต้อง 402 หมายถึงเครดิตไม่เพียงพอ 429 บ่งชี้ถึงการจำกัดอัตราการใช้งาน
การใช้งานโทเค็นถูกเรียกเก็บเงินอย่างแม่นยำ ข้อผิดพลาดไม่ใช้เครดิต ตรวจสอบการใช้งานผ่านแดชบอร์ด
cURL
curl https://api.chatbotsemfiltro.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top ten libraries for Rust async programming"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.chatbotsemfiltro.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.chatbotsemfiltro.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)คำถามที่พบบ่อย
นี่คือ API จาก OpenAI อย่างเป็นทางการหรือไม่?
ไม่ใช่ เป็น API ที่เข้ากันได้กับ OpenAI ซึ่งให้บริการโมเดลไม่มีเซ็นเซอร์ที่แยกจากกัน ใช้ SDK เดิม แต่ ID ของโมเดลและ URL พื้นฐานจะแตกต่างกัน
ฉันจัดการกับข้อผิดพลาดสตรีมมิ่งได้อย่างไร?
ตรวจสอบประเภทเหตุการณ์ SSE หากเป็นเหตุการณ์ข้อผิดพลาด ให้วิเคราะห์ข้อความและจัดการโดยไม่ใช้โทเค็น
เกิดอะไรขึ้นหากฉันเกินขีดจำกัดอัตราการใช้งาน?
API ส่งรหัสสถานะ 429 รอแล้วลองใหม่ด้วยการถอยหลังแบบเอกซ์โพเนนเชียลเพื่อหลีกเลี่ยงความล้มเหลวซ้ำ
รับคีย์ API ของคุณทันที
ลงทะเบียน รับคีย์ของคุณ และอัปเดต URL พื้นฐานของคุณ นั่นคือการตั้งค่าที่สมบูรณ์