เริ่มต้นอย่างรวดเร็วสำหรับผู้ใช้ Qwen
เชื่อมต่อไคลเอนต์ที่เข้ากันได้กับ OpenAI ที่มีอยู่ของคุณกับเอนด์พอยต์แบบไม่เซ็นเซอร์ของเรา เปลี่ยน URL พื้นฐาน แทรกคีย์ของคุณ และเริ่มส่งคำขอ
uncensoredhttps://api.qwenapi.cc/v1
ในหน้านี้
การตรวจสอบสิทธิ์และ URL พื้นฐาน
API ของเราใช้การตรวจสอบสิทธิ์โทเคน Bearer มาตรฐาน คุณจะได้รับคีย์ทันทีหลังจากลงทะเบียนผ่าน Google หรืออีเมล เก็บคีย์นี้ให้ปลอดภัยเนื่องจากให้สิทธิ์เข้าถึงเครดิตแบบเติมเงินล่วงหน้าของคุณ URL พื้นฐานสำหรับคำขอทั้งหมดคือ https://api.qwenapi.cc/v1 อัปเดตการกำหนดค่าไคลเอนต์ของคุณให้ชี้ไปที่เอนด์พอยต์นี้แทน URL OpenAI มาตรฐาน
การตรวจสอบสิทธิ์ทำโดยการส่ง Authorization เฮดเดอร์ ในทุกคำขอ หากไม่มีคีย์ API โมเดลจะไม่สามารถตรวจสอบยอดเครดิตของคุณได้ และจะเกิดข้อผิดพลาด 401 ไม่มีเฮดเดอร์ซ่อนหรือระบบตรวจสอบสิทธิ์แบบกำหนดเอง
คำขอแรก
ส่งคำขอการเสร็จสิ้นการสนทนามาตรฐานเพื่อทดสอบการเชื่อมต่อ แทนที่ YOUR_API_KEY ด้วยคีย์จริงของคุณ เอนด์พอยต์ยอมรับโหลด JSON มาตรฐานที่มีฟิลด์ model, messages และ content
- ตัวระบุโมเดล:
uncensored - เอนด์พอยต์:
POST /v1/chat/completions - รูปแบบ: JSON
คำขอนี้จะบริโภคโทเคนอินพุตจากยอดคงเหลือของคุณ ตรวจสอบให้แน่ใจว่าไคลเอนต์ของคุณจัดการการตอบสนอง JSON อย่างถูกต้องเพื่อยืนยันว่าการเชื่อมต่อทำงานอยู่
การผสานรวม Python SDK
ใช้ไลบรารี Python ทางการของ OpenAI ต้องกำหนดค่าเพียงเล็กน้อยเพื่อเปลี่ยนเส้นทาง traffic ไปยังเอนด์พอยต์ของเรา เริ่มต้นไคลเอนต์ด้วยคีย์และ base URL ที่ถูกต้อง วิธีนี้ใช้โค้ดเบสที่มีอยู่โดยไม่ต้องเขียนใหม่ในส่วนของคำขอ
ส่งผ่านตัวระบุโมเดล uncensored เมื่อสร้างการตอบสนอง ไลบรารีจัดการการทำให้เป็นลำดับชั้นและการทำให้ไม่เป็นลำดับชั้นโดยอัตโนมัติ วิธีการนี้แนะนำสำหรับการผสานรวมแบ็กเอนด์ส่วนใหญ่และเวิร์กโฟลว์ที่ขับเคลื่อนด้วยสคริปต์
การผสานรวม Node SDK
สำหรับสภาพแวดล้อม JavaScript หรือ TypeScript ให้ใช้ @anthropic-ai/sdk หรือแพ็คเกจ Node OpenAI มาตรฐาน กำหนดค่า URL พื้นฐานให้ชี้ไปยัง API ของเรา สิ่งนี้ช่วยให้คุณนำบริการของเราไปใช้ในแอปพลิเคชัน Node ที่มีอยู่โดยไม่ต้องปรับโครงสร้างใหม่จำนวนมาก
ตรวจสอบให้แน่ใจว่าคุณกำลังใช้เวอร์ชันล่าสุดของ SDK ที่รองรับ URL พื้นฐานแบบกำหนดเอง ส่งผ่านตัวระบุโมเดล uncensored เพื่อเลือกโมเดลแบบไม่เซ็นเซอร์ของเรา การตั้งค่านี้ทำงานได้อย่างราบรื่นกับเส้นทาง Express หรือฟังก์ชันแบบไร้เซิร์ฟเวอร์
การตอบสนองแบบสตรีมมิง
เปิดใช้งานสตรีมมิงโดยการตั้งค่า stream: true ในคำขอของคุณ API จะส่งเหตุการณ์ที่ส่งโดยเซิร์ฟเวอร์ (SSE) เมื่อโมเดลสร้างข้อความ ซึ่งช่วยลดความหน่วงสำหรับผู้ใช้ปลายทางและอนุญาตให้แสดงผลผลลัพธ์แบบเรียลไทม์
สถิติการใช้โทเคนรวมอยู่ในชิ้นส่วนสุดท้ายของการสตรีม ประมวลผลแต่ละส่วนที่เพิ่มขึ้นแบบเพิ่มเพื่อสร้างการตอบสนองที่สมบูรณ์ คุณสมบัตินี้จำเป็นสำหรับอินเทอร์เฟซการสนทนาและแอปพลิเคชันที่ต้องการการตอบสนองทันที
ขีดจำกัด ข้อผิดพลาด และบริบท
เคารพขีดจำกัดอัตราเพื่อหลีกเลี่ยงการหยุดชะงักของบริการ API อนุญาต 300 คำขอต่อนาทีและ 8 คำขอพร้อมกันต่อคีย์ ขนาดร่างกายคำขอสูงสุดคือ 8 MB หากเกินขีดจำกัดเหล่านี้ คุณจะรับข้อผิดพลาด 429
ข้อผิดพลาดการตรวจสอบสิทธิ์จะส่ง 401 ซึ่งหมายถึงคีย์ไม่ถูกต้องหรือหายไป ข้อผิดพลาดด้านยอดเงินจะส่ง 402 ซึ่งหมายถึงเครดิตแบบเติมเงินล่วงหน้าของคุณหมดแล้ว หน้าต่างบริบทรองรับโทเคนรวม 100,000 โทเคน พร้อมผลลัพธ์สูงสุด 32,000 โทเคนต่อคำขอ ข้อผิดพลาดและการปฏิเสธไม่ใช้เครดิต
cURL
curl https://api.qwenapi.cc/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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.qwenapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwenapi.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);สตรีมมิง
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 กำหนดขีดจำกัดอัตรา 300 คำขอต่อนาที และ 8 คำขอพร้อมกันต่อคีย์ หากเกินขีดจำกัดนี้ API จะส่งรหัสสถานะ 429 กลับมา ให้ใช้ exponential backoff ในไคลเอนต์เพื่อจัดการการเรียกซ้ำอย่างราบรื่น
API รองรับฟังก์ชันการเรียกใช้ฟังก์ชันหรือไม่?
ใช่ API รองรับ function calling ผ่านรูปแบบ tools มาตรฐาน คุณสามารถระบุ tools และ tool_choice ในคำขอเพื่อเปิดใช้งานโครงสร้างผลลัพธ์หรือการผสานเครื่องมือภายนอก ฟีเจอร์นี้ทำงานกับสคีมาที่เข้ากันได้กับมาตรฐาน OpenAI
เกิดอะไรขึ้นหากฉันเกินหน้าต่างบริบทของฉัน?
โมเดลรองรับหน้าต่างบริบทรวม 100,000 โทเคน รวมถึงทั้งพรอมต์และการสร้างผลลัพธ์ หากเกินขีดจำกัดนี้ คำขอจะล้มเหลว ตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณติดตามการใช้โทเคนเพื่อให้อยู่ภายในขอบเขตเหล่านี้
คีย์ของคุณอยู่ห่างแค่แบบฟอร์มเดียว
สร้างบัญชี คัดลอกคีย์ เปลี่ยน URL พื้นฐาน นั่นคือการตั้งค่าทั้งหมด
ข้อมูลจำเพาะ API
ขีดจำกัดและความสามารถจริงทั้งหมดของ API ในที่เดียว ตรวจสอบก่อนเติมเงิน
| รายการ | ค่า |
|---|---|
| รูปแบบ API | รองรับ OpenAI: ใช้ OpenAI SDK ใดก็ได้ แค่เปลี่ยน base URL และคีย์ |
| ID โมเดล | uncensored |
| Base URL | https://api.qwenapi.cc/v1 |
| เอนด์พอยต์ | POST /v1/chat/completions · GET /v1/models |
| การยืนยันตัวตน | Authorization: Bearer YOUR_KEY |
| เอาต์พุตสูงสุด | ได้ถึงส่วนที่เหลือของหน้าต่าง 100,000 โทเคน; max_tokens ไม่บังคับ (ไม่มีเพดานแยก) |
| การเรียกใช้ฟังก์ชัน | รองรับ — tools, tool_choice คำตอบมี tool_calls รวมถึงตอนสตรีม ส่งผลลัพธ์กลับด้วย role: tool |
| สตรีมมิง | รองรับ — server-sent events ชิ้นสุดท้ายมีจำนวนโทเคนที่ใช้ |
| หน้าต่างบริบท | 100,000 โทเคน (อินพุตรวมเอาต์พุต) |
| พารามิเตอร์ | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| โหมด JSON | response_format: {"type": "json_object"} |
| คำขอพร้อมกัน | สูงสุด 8 คำขอพร้อมกันต่อคีย์ |
| เฮดเดอร์ของคำตอบ | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| ขีดจำกัดอัตรา | 300 คำขอต่อนาทีต่อคีย์ |
| ขนาดคำขอ | ไม่เกิน 8 MB |
| เครดิตทดลองใช้ฟรี | $0.50 ใช้ได้ 7 วัน ไม่ต้องใช้บัตร · คีย์ทดลอง: 2 คำขอพร้อมกัน, 60 ครั้งต่อนาที; ขีดจำกัดเต็ม (8 และ 300) หลังเติมเงินครั้งแรก |
| การคิดเงิน | เครดิตแบบเติมเงินล่วงหน้าตามการใช้งานจริง ข้อผิดพลาดและการปฏิเสธไม่คิดเงิน |
| ราคา | $0.25 ต่อ 1 ล้านโทเคนอินพุต · $1.00 ต่อ 1 ล้านโทเคนเอาต์พุต |
| โบนัส | +5% เมื่อเติมตั้งแต่ $50, +10% ตั้งแต่ $100 |
| อายุเครดิต | เครดิตที่ซื้อไม่มีวันหมดอายุ ไม่มีการสมัครรายเดือน |
| เติมเงิน | USDT (TRC20) หรือ USDC (Base) จำนวนเต็มใดก็ได้ตั้งแต่ $10 ถึง $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 | โมเดลไม่ว่าง ลองใหม่ในไม่กี่วินาที |