คู่มือการเชื่อมต่อ uncensored completions
วาง LLM แบบไม่มีเซนเซอร์ของคุณลงในไคลเอนต์ที่เข้ากันได้กับ OpenAI โดยการสลับ URL พื้นฐานและคีย์ API คู่มือนี้ครอบคลุมขั้นตอนการผสานรวมที่แน่นอนสำหรับ Python, Node และการตอบสนองแบบสตรีมโดยไม่มีการปฏิเสธโมเดล
ข้อกำหนดเบื้องต้น: การติดตั้ง SDK และตัวแปรสภาพแวดล้อม
ติดตั้ง SDK ทางการสำหรับภาษาของคุณและส่งออกข้อมูลรับรองของคุณก่อนทำการร้องขอ คุณต้องมีคีย์ API จากพอร์ทัลของเราและไลบรารีมาตรฐานสำหรับรันไทม์ที่คุณเลือก สิ่งนี้รับประกันว่าโค้ดของคุณสามารถตรวจสอบสิทธิ์กับจุดปลายของเราได้ทันที
- Python:
pip install openai - Node.js:
npm install openai - ส่งออก
OPENAI_API_KEYพร้อมคีย์ของคุณจากแดชบอร์ด
from openai import OpenAI
client = OpenAI(base_url="https://api.gptnsfw.cc/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)
การกำหนดค่า base_url และคีย์ API
ชี้ไคลเอนต์ของคุณไปยังเอนด์พอยต์เฉพาะเพื่อข้ามข้อจำกัดของโมเดลมาตรฐาน ตั้งค่า base_url เพื่อ https://api.gptnsfw.cc/v1 และใช้คีย์ที่คุณสร้าง การเปลี่ยนแปลงเพียงครั้งเดียวนี้จะเปลี่ยนเส้นทางปริมาณการจราจรไปยังโครงสร้างพื้นฐาน uncensored ของเรา
- Base URL:
https://api.gptnsfw.cc/v1 - ID โมเดล:
uncensored
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gptnsfw.cc/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);
การส่ง POST /v1/chat/completions request ครั้งแรกของคุณ
ส่งคำขอ completion มาตรฐานพร้อม system และ user prompts ของคุณ โมเดลส่งการตอบสนองข้อความโดยไม่มีการกรองเนื้อหาตามปกติสำหรับหัวข้อผู้ใหญ่ที่ถูกต้องตามกฎหมาย ใช้ uncensored model ID ใน payload ของคุณ
curl https://api.gptnsfw.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return the full API response for the /v1/messages endpoint"}]
}'
การจัดการการตอบกลับแบบสตรีม (SSE) และการใช้งานโทเค็น
ส่งโทเค็นเมื่อสร้างเสร็จโดยใช้ Server-Sent Events เพื่อเอาท์พุตแบบเรียลไทม์ ชิ้นข้อมูลสุดท้ายจะรวมการใช้โทเค็นรวมสำหรับคำขอของคุณ วิธีนี้ช่วยลดเวลาแฝงที่รับรู้สำหรับการสร้างบทบาทสมมติหรือเรื่องราวแบบยาว
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)
กำลังบังคับใช้โหมด JSON สำหรับเอาต์พุตข้อมูลที่มีโครงสร้าง
บังคับให้โมเดลส่งออก JSON ที่ถูกต้องโดยการตั้งค่า response_format เพื่อ {"type": "json_object"}. สิ่งนี้สำคัญมากเมื่อทำการแยกวิเคราะห์ข้อมูลที่มีโครงสร้างหรือส่งผลลัพธ์ไปยังแอปพลิเคชันอื่น โมเดลจะยึดตามรูปแบบนี้โดยเคร่งครัดโดยไม่เพิ่มข้อความสนทนา
กำลังกำหนดค่า temperature, top_p และลำดับหยุด
ปรับ temperature และ top_p เพื่อควบคุมความคิดสร้างสรรค์หรือความแน่นอนในผลลัพธ์ของคุณ ใช้ stop ลำดับเพื่อหยุดการสร้างที่เครื่องหมายเฉพาะ พารามิเตอร์เหล่านี้ให้คุณควบคุมพฤติกรรมของแชทบอทแบบไม่เซ็นเซอร์ได้อย่างแม่นยำ
การสนับสนุน & คำถามที่พบบ่อย
ทำไมฉันถึงได้รับข้อผิดพลาด 401 หรือ 429?
รหัสข้อผิดพลาด 401 หมายถึงคีย์ API ของคุณไม่ถูกต้องหรือหมดอายุ รหัสข้อผิดพลาด 429 หมายถึงคุณได้เกินขีดจำกัดอัตราการใช้งานที่ 300 คำขอต่อนาที หรือขีดจำกัดคำขอพร้อมกันที่ 8 ต่อคีย์ ให้สร้างคีย์ใหม่หรือรอจนกว่าหน้าต่างเวลาจะรีเซ็ต
context window และต้นทุนเป็นอย่างไร?
หน้าต่างบริบทมีขนาด 100,000 tokens รวม prompt และการตอบกลับ คุณจ่าย $0.15 ต่อ 1M input tokens และ $0.50 ต่อ 1M output tokens Error ฟรี และเครดิตไม่หมดอายุ
นี่คือ API NSFW ของ GPT อย่างเป็นทางการหรือไม่?
ไม่ใช่ นี่คือบริการอิสระที่รันโมเดล open-weight เฉพาะ เราไม่ได้เป็นพันธมิตรกับ OpenAI หรือผู้ขายรายใหญ่รายอื่น เราให้บริการ API รูปแบบ openai-compatible ที่ใช้งานได้กับโค้ดไคลเอนต์มาตรฐาน
ดึงคีย์ API ของคุณ
Register an account, copy the key, and update your base URL. That is the entire configuration.
รับ API key