Qwen Abliterated: เปลี่ยนไคลเอนต์ของคุณในสามบรรทัด
เชื่อมต่อไคลเอนต์ OpenAI SDK ที่มีอยู่ของคุณกับเอนด์พอยต์แบบไม่เซ็นเซอร์ของเราภายในหนึ่งนาที แทนที่ Base URL และคีย์ API แล้วเรียกใช้การเรียกใช้ chat-completions มาตรฐานของคุณโดยไม่ต้องแก้ไข
การตรวจสอบสิทธิ์และ URL พื้นฐาน
API ของเราใช้รูปแบบมาตรฐานของ OpenAI คุณมีเพียงสองสิ่งที่ต้องใช้: Base URL และคีย์ API ที่ถูกต้อง Base URL คือ https://api.qwenabliterated.top/v1 คุณไม่จำเป็นต้องนำเข้าไลบรารีพิเศษหรือเปลี่ยนโครงสร้างโค้ด เพียงอัปเดตการตั้งค่าไคลเอนต์ของคุณให้ชี้ไปที่ URL นี้และระบุคีย์ที่คุณสร้างในหน้า Get API key ระบบใช้การตรวจสอบสิทธิ์แบบ bearer token มาตรฐาน ดังนั้น SDK ที่เข้ากันได้กับ OpenAI ที่มีอยู่จึงใช้งานได้ทันที
curl https://api.qwenabliterated.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."}]
}'รักษาความปลอดภัยของคีย์ของคุณ ต่างจากผู้ให้บริการบางราย เราไม่ติดตามตัวตนของคุณนอกเหนือจากอีเมลที่คุณใช้เพื่อเข้าสู่ระบบ พรอมต์ไม่ถูกใช้สำหรับข้อมูลการฝึกสอน หากคุณทำคีย์หาย ให้สร้างคีย์ใหม่ มันจะแทนที่คีย์ใช้งานเก่าทันที
คำขอการสร้างผลลัพธ์ครั้งแรก
ส่งข้อความแรกของคุณโดยใช้เอนด์พอยต์มาตรฐาน /v1/chat/completions ส่งผ่านโมเดล ID เป็น "uncensored" โมเดลนี้เป็นโมเดลแบบเปิดน้ำหนัก ปรับแต่งสำหรับการผลิตเนื้อหาดิบ และไม่ใช้การปฏิเสธทั่วไปที่พบในโมเดลทั่วไป จัดการกับหัวข้อผู้ใหญ่ โต้แย้ง หรือทางเทคนิคได้โดยไม่มีความรบกวนเพิ่มเติม โดยที่เนื้อหาไม่เกี่ยวข้องกับเด็ก
from openai import OpenAI
client = OpenAI(base_url="https://api.qwenabliterated.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)การตอบกลับจะส่งคืนข้อความที่สร้างขึ้นในฟิลด์ choices[0].message.content หากคำขอล้มเหลวเนื่องจากคีย์ไม่ถูกต้อง คุณจะรับข้อผิดพลาด 401 หากเครดิตแบบเติมเงินล่วงหน้าของคุณหมด คุณจะรับข้อผิดพลาด 402 ข้อผิดพลาดไม่ใช้ยอดโทเคนของคุณ ดังนั้นคุณสามารถลองใหม่ได้โดยไม่มีการลงโทษ
การตอบแบบสตรีมมิง
สำหรับแอปพลิเคชันแบบเรียลไทม์ ให้เปิดใช้งานสตรีมมิงโดยการตั้งค่า stream: true API จะส่งคืนสตรีมเหตุการณ์ที่ส่งโดยเซิร์ฟเวอร์ (SSE) แต่ละชิ้นประกอบด้วยโทเคนบางส่วน ชิ้นสุดท้ายรวมถึงการใช้งานโทเคนทั้งหมดสำหรับคำขอ ทำให้คุณสามารถติดตามต้นทุนได้อย่างแม่นยำ สิ่งนี้เหมาะสำหรับส่วนติดต่อแชทหรือเครื่องมือที่ทำงานบนเทอร์มินัลซึ่งความหน่วงสำคัญ
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
เมื่อคุณต้องการข้อมูลที่มีโครงสร้าง ให้ใช้ response_format: {"type": "json_object"} โมเดลได้รับคำสั่งให้ส่งออก JSON ที่ถูกต้อง สิ่งนี้มีประโยชน์สำหรับการวิเคราะห์การกำหนดค่า การสร้างโครงสร้างโค้ด หรือป้อนข้อมูลไปยังบริการต่อเนื่อง แม้ว่าจะไม่รับประกันว่าสมบูรณ์แบบ แต่โมเดลแบบไม่เซ็นเซอร์จัดการโครงสร้างที่ซับซ้อนได้ดีกว่าโมเดลมาตรฐานที่อาจปฏิเสธที่จะส่งออก JSON ดิบเนื่องจากเหตุผลด้านความปลอดภัย
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwenabliterated.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);ตรวจสอบผลลัพธ์เสมอที่ฝั่งของคุณ หาก JSON ผิดรูปแบบ API จะไม่ลองใหม่โดยอัตโนมัติ คุณสามารถปรับอุณหภูมิเพื่อส่งผลต่อความสม่ำเสมอ อุณหภูมิต่ำให้โครงสร้าง JSON ที่คาดเดาได้มากขึ้น ในขณะที่อุณหภูมิสูงเพิ่มความคิดสร้างสรรค์แต่มีความเสี่ยงต่อข้อผิดพลาดในการจัดรูปแบบ
การเรียกใช้ฟังก์ชัน
การสนับสนุนเครื่องมือมีอยู่แล้ว กำหนดฟังก์ชันของคุณในพารามิเตอร์ tools และตั้งค่า tool_choice ตามต้องการ โมเดลจะส่งคืนอาร์เรย์ tool_calls หากตัดสินใจเรียกใช้ฟังก์ชัน คุณต้องเรียกใช้ฟังก์ชันและส่งผลลัพธ์กลับในข้อความถัดไปด้วย role: "tool" สิ่งนี้ปฏิบัติตามรูปแบบการใช้งานเครื่องมือมาตรฐานของ OpenAI
คุณสมบัตินี้ทำงานกับ OpenAI-compatible SDK ใดก็ได้ โมเดลแบบไม่เซ็นเซอร์จัดการคำจำกัดความเครื่องมือได้อย่างชัดเจน โดยไม่ปฏิเสธที่จะส่งออกชื่อฟังก์ชันเนื่องจากตัวกรองเนื้อหา เหมาะสำหรับสร้างเอเจนต์หรือทำให้เวิร์กโฟลว์อัตโนมัติที่ต้องการการเรียก API ภายนอก
พารามิเตอร์ ขีดจำกัด และข้อผิดพลาด
หน้าต่างบริบทมีขนาด 100,000 โทเคน รวมถึงทั้งพรอมต์และการเสร็จสิ้น ไม่มีขีดจำกัดผลลัพธ์แยกต่างหาก (หาก max_tokens ไม่ถูกกำหนด การตอบกลับสามารถดำเนินไปจนสุดหน้าต่างบริบท) คุณสามารถควบคุมการสร้างด้วย temperature, top_p, stop, seed และพารามิเตอร์ค่าปรับ
ขีดจำกัดอัตราคือ 300 คำขอต่อนาทีและ 8 คำขอพร้อมกันต่อคีย์ หากคุณเกินเหล่านี้ คุณจะรับข้อผิดพลาด 429 ร่างคำขอต้องไม่เกิน 8 MB ขีดจำกัดเหล่านี้รับประกันประสิทธิภาพที่เสถียรสำหรับผู้ใช้ปริมาณสูง ไม่มีข้อจำกัดที่ซ่อนอยู่เกี่ยวกับประเภทเนื้อหาที่คุณสามารถผลิตได้ ยกเว้นขีดจำกัดแข็งเกี่ยวกับเนื้อหาทางเพศที่เกี่ยวข้องกับเด็ก
ข้อมูลจำเพาะทางเทคนิค
ขีดจำกัดและความสามารถจริงทั้งหมดของ API ในที่เดียว ตรวจสอบก่อนเติมเงิน
| รายการ | ค่า |
|---|---|
| รูปแบบ API | รองรับ OpenAI: ใช้ OpenAI SDK ใดก็ได้ แค่เปลี่ยน base URL และคีย์ |
| เอนด์พอยต์ | POST /v1/chat/completions · GET /v1/models |
| การยืนยันตัวตน | Authorization: Bearer YOUR_KEY |
| ID โมเดล | uncensored |
| Base URL | https://api.qwenabliterated.top/v1 |
| เอาต์พุตสูงสุด | ได้ถึงส่วนที่เหลือของหน้าต่าง 100,000 โทเคน; max_tokens ไม่บังคับ (ไม่มีเพดานแยก) |
| หน้าต่างบริบท | 100,000 โทเคน (อินพุตรวมเอาต์พุต) |
| สตรีมมิง | รองรับ — server-sent events ชิ้นสุดท้ายมีจำนวนโทเคนที่ใช้ |
| พารามิเตอร์ | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| โหมด JSON | response_format: {"type": "json_object"} |
| การเรียกใช้ฟังก์ชัน | รองรับ — tools, tool_choice คำตอบมี tool_calls รวมถึงตอนสตรีม ส่งผลลัพธ์กลับด้วย role: tool |
| ขีดจำกัดอัตรา | 300 คำขอต่อนาทีต่อคีย์ |
| เฮดเดอร์ของคำตอบ | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| ขนาดคำขอ | ไม่เกิน 8 MB |
| คำขอพร้อมกัน | สูงสุด 8 คำขอพร้อมกันต่อคีย์ |
| ราคา | $0.15 ต่อ 1 ล้านโทเคนอินพุต · $0.50 ต่อ 1 ล้านโทเคนเอาต์พุต |
| โบนัส | +5% เมื่อเติมตั้งแต่ $50, +10% ตั้งแต่ $100, +15% ตั้งแต่ $200 |
| การคิดเงิน | เครดิตแบบเติมเงินล่วงหน้าตามการใช้งานจริง ข้อผิดพลาดและการปฏิเสธไม่คิดเงิน |
| อายุเครดิต | เครดิตที่ซื้อไม่มีวันหมดอายุ ไม่มีการสมัครรายเดือน |
| เครดิตทดลองใช้ฟรี | $0.50 ใช้ได้ 7 วัน ไม่ต้องใช้บัตร · คีย์ทดลอง: 2 คำขอพร้อมกัน, 60 ครั้งต่อนาที; ขีดจำกัดเต็ม (8 และ 300) หลังเติมเงินครั้งแรก |
| เติมเงิน | USDT (TRC20) หรือ USDC (Base) จำนวนเต็มใดก็ได้ตั้งแต่ $20 ถึง $500 |
| คีย์ | หนึ่งบัญชีมีคีย์ที่ใช้งานได้หนึ่งคีย์ คีย์ใหม่จะแทนคีย์เดิม |
| เข้าสู่ระบบ | Google หรืออีเมลและรหัสผ่าน |
| เนื้อหา | อนุญาตเนื้อหาสำหรับผู้ใหญ่ ปฏิเสธเนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ |
รหัสข้อผิดพลาด
ข้อผิดพลาดส่งกลับเป็น JSON พร้อม type ที่คงที่ คำขอที่ล้มเหลวหรือถูกปฏิเสธไม่คิดเงิน
| รหัส | ประเภท | ความหมาย |
|---|---|---|
400 | bad_request | JSON ไม่ถูกต้อง ข้อความว่าง พารามิเตอร์ผิด หรือเกินหน้าต่างบริบท |
401 | missing_key · invalid_key · key_revoked | ไม่มีคีย์ คีย์ผิด หรือคีย์ถูกแทนที่แล้ว |
402 | no_credit | เครดิตหมด เติมเงินแล้วใช้งานต่อได้ทันที |
403 | content_blocked | เนื้อหาทางเพศเกี่ยวกับผู้เยาว์ ถูกปฏิเสธ ไม่คิดเงิน |
404 | not_found | ไม่รู้จักเอนด์พอยต์ |
413 | request_too_large | ขนาดเกิน 8 MB |
429 | rate_limited · concurrency | เกิน 300/นาที หรือ 8 พร้อมกัน รอแล้วลองใหม่ |
503 | upstream_busy | โมเดลไม่ว่าง ลองใหม่ในไม่กี่วินาที |
ถาม-ตอบ
นี่คือโมเดล Qwen แบบทางการหรือไม่?
ไม่ใช่ เราใช้โมเดลแบบเปิดน้ำหนักที่ปรับแต่งสำหรับการผลิตเนื้อหาแบบไม่เซ็นเซอร์ ไม่ใช่ GPT, Claude, Gemini, Grok หรือโมเดลของผู้จัดจำหน่ายรายอื่น เป็นอิสระและรองรับกรณีการใช้งานเฉพาะของเราสำหรับการสร้างเนื้อหาดิบ
ฉันสามารถใช้คีย์ API OpenAI ที่มีอยู่แล้วได้หรือไม่?
ไม่ใช่ คุณต้องสร้างคีย์จากแพลตฟอร์มของเรา รูปแบบคีย์เป็นมาตรฐาน แต่ผูกกับบัญชีเครดิตแบบเติมเงินล่วงหน้าของคุณที่นี่ ไม่ใช่กับผู้ให้บริการรายอื่น คีย์จะแสดงทันทีหลังการสมัคร
เกิดอะไรขึ้นหากฉันได้รับข้อผิดพลาด 402?
ข้อผิดพลาด 402 หมายถึงเครดิตแบบเติมเงินล่วงหน้าของคุณหมดแล้ว เติมเงินผ่านคริปโต (USDT บน TRC20 หรือ USDC บน Base) เพื่อดำเนินการต่อ ข้อผิดพลาดและการปฏิเสธไม่ใช้เครดิต ดังนั้นคุณจึงจ่ายเฉพาะการใช้งานโทเคนที่สำเร็จเท่านั้น
คีย์ของคุณอยู่ห่างแค่แบบฟอร์มเดียว
สร้างบัญชี คัดลอกคีย์ และเปลี่ยน base URL นั่นคือการตั้งค่าทั้งหมด
รับคีย์ API