เริ่มต้น: บูรณาการ LLM Proxy
ผสานพร็อกซี LLM แบบไม่เซ็นเซอร์ของเราด้วยการเปลี่ยน URL พื้นฐานเพียงครั้งเดียว ความเข้ากันได้แบบ Drop-in กับ OpenAI หมายความว่าโค้ดที่มีอยู่ของคุณทำงานได้โดยไม่ต้องแก้ไข
URL พื้นฐานและการตรวจสอบสิทธิ์
แทนที่ URL พื้นฐาน OpenAI มาตรฐานของคุณด้วยเอนด์พอยต์ของเรา การตรวจสอบสิทธิ์ดำเนินการผ่านโทเคน Bearer ในส่วนหัว Authorization วิธีนี้ทำงานกับไลบรารีไคลเอนต์ที่เข้ากันได้กับ OpenAI ใดก็ได้ คุณไม่จำเป็นต้องเปลี่ยนตรรกะโค้ดของคุณ เพียงค่าการกำหนดค่าเท่านั้น API ของเราเลียนแบบโครงสร้างอินเทอร์เฟซ OpenAI มาตรฐาน ทำให้มั่นใจว่าโค้ดการผสานรวมที่มีอยู่ของคุณยังคงถูกต้อง สิ่งนี้ลดเวลาการผสานรวมเหลือเพียงนาทีแทนที่จะเป็นวัน คุณสามารถสร้างคีย์ใหม่ได้ทุกเมื่อจากแดชบอร์ดของคุณ ซึ่งจะทำให้คีย์เก่าหมดอายุทันที สิ่งนี้ให้ความปลอดภัยโดยไม่ต้องใช้ตรรกะการหมุนโทเคนที่ซับซ้อนในแอปพลิเคชันของคุณ
คำขอแรก
ส่งคำขอ chat completion มาตรฐานเพื่อทดสอบการเชื่อมต่อ เอนด์พอยต์ยอมรับ JSON payloads ที่มีตัวระบุโมเดลและประวัติข้อความ ID โมเดลของเราคือ "uncensored" ตัวระบุนี้บอกให้พร็อกซีจัดเส้นทางคำขอของคุณไปยังโมเดลที่ไม่เซ็นเซอร์ โครงสร้างการตอบสนองสะท้อนรูปแบบ OpenAI โดยมีข้อความของผู้ช่วยเป็นเนื้อหา คุณสามารถตรวจสอบการตอบสนองได้โดยตรวจสอบฟิลด์ content ในผลลัพธ์ JSON สิ่งนี้ยืนยันว่าการตรวจสอบสิทธิ์และโครงสร้าง payload ของคุณถูกต้อง เอนด์พอยต์รองรับทั้งโหมดสตรีมมิงและแบบไม่สตรีมมิงสำหรับคำขอมาตรฐาน
curl https://api.llmproxyapi.com/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."}]
}'
การผสานรวม SDK Python
ใช้ไลบรารี Python ทางการของ OpenAI เพื่อเชื่อมต่อกับ API ของเรา ตั้งค่า api_key เป็นคีย์พร็อกซีของคุณ และตั้งค่า base_url เป็นเอนด์พอยต์ของเรา พฤติกรรมอื่น ๆ ของไลบรารีจะเหมือนกับการใช้งาน OpenAI มาตรฐาน รวมถึงการรองรับไคลเอนต์แบบ async การลองใหม่ (retries) และการจัดการข้อผิดพลาดมาตรฐาน คุณสามารถส่งพารามิเตอร์เดียวกันกับที่คุณใช้ปกติ เช่น temperature และ max tokens พร็อกซีจะจัดการการเปลี่ยนเส้นทางไปยังโมเดลแบบไม่เซ็นเซอร์เบื้องหลัง สิ่งนี้ช่วยให้คุณรักษาโค้ด Python ที่มีอยู่ได้ขณะเข้าถึงความสามารถของโมเดลของเรา
from openai import OpenAI
client = OpenAI(base_url="https://api.llmproxyapi.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)
การผสานรวม SDK Node
SDK ของ Node.js ทำงานร่วมกับ API ของเราโดยการแทนที่ base URL เริ่มต้น เริ่มต้นไคลเอนต์ด้วยคีย์ API พร็อกซีของคุณและเอนด์พอยต์ที่ถูกต้อง วิธีการอื่น ๆ เช่น chat.completions.create จะทำงานตามที่คาดไว้ รวมถึงการจัดการวัตถุการตอบกลับและประเภทข้อผิดพลาดมาตรฐาน คุณสามารถใช้โครงสร้างข้อความและพารามิเตอร์เดียวกับที่คุณใช้กับ OpenAI ได้ พร็อกซีจะรับประกันว่าคำขอจะถูกประมวลผลโดยโมเดลแบบไม่เซ็นเซอร์ ความเข้ากันได้นี้ช่วยให้ผู้พัฒนาสามารถเปลี่ยนผู้ให้บริการได้อย่างรวดเร็วโดยไม่ต้องเขียนลอจิกไคลเอนต์ใหม่ เหมาะอย่างยิ่งสำหรับไมโครเซอร์วิสที่ใช้รูปแบบ SDK ของ OpenAI อยู่แล้ว
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.llmproxyapi.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 เป็น true ในคำขอของคุณ API จะส่งคืนสตรีมของ Server-Sent Events (SSE) แต่ละชิ้นส่วนจะอัปเดตโทเคนบางส่วน ทำให้สามารถแสดงผลการตอบกลับแบบเรียลไทม์ได้ สิ่งนี้สำคัญมากสำหรับอินเทอร์เฟซแชทและแอปพลิเคชันที่ต้องการการตอบกลับทันที สตรีมจะสิ้นสุดด้วยชิ้นส่วนสุดท้ายที่มีเมตาดาต้าของการตอบกลับเต็มรูปแบบ คุณสามารถแยกวิเคราะห์ชิ้นส่วนเหล่านี้โดยใช้ไลบรารี SSE มาตรฐานในภาษาที่คุณต้องการ ฟีเจอร์นี้ทำงานร่วมกับ SDK ของ OpenAI ได้อย่างราบรื่น ซึ่งจัดการลอจิกการแยกวิเคราะห์โดยอัตโนมัติ มอบประสบการณ์ผู้ใช้ที่ลื่นไหลโดยไม่ต้องรอให้การตอบกลับทั้งหมดสร้างเสร็จ
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 คำขอต่อนาทีต่อคีย์ หากเกินขีดจำกัดนี้ คุณจะรับรหัสสถานะ 429 ให้แน่ใจว่าคุณนำตรรกะการลองซ้ำพร้อม exponential backoff ไปใช้สำหรับกรณีเหล่านี้ ขนาด body ของคำขอถูกจำกัดไว้ที่ 8 MB ข้อจำกัดนี้ใช้กับ JSON payload ทั้งหมด รวมถึงพรอมต์และหน้าต่างบริบท การคิดค่าบริการตามการใช้งาน: $0.25 ต่อล้านโทเคนอินพุตและ $1.00 ต่อล้านโทเคนเอาต์พุต เครดิตแบบเติมเงินล่วงหน้าและไม่หมดอายุ หากยอดเงินไม่เพียงพอ คำขอจะส่งกลับข้อผิดพลาด 402 ข้อผิดพลาดการตรวจสอบสิทธิ์ส่งกลับสถานะ 401 ไม่มีเส้นทางที่ซับซ้อนหรือการเลือกผู้ให้บริการ โมเดลถูกกำหนดไว้ตายตัว
ข้อมูลจำเพาะ API
ขีดจำกัดและความสามารถจริงทั้งหมดของ API ในที่เดียว ตรวจสอบก่อนเติมเงิน
| รายการ | ค่า |
|---|---|
| รูปแบบ API | รองรับ OpenAI: ใช้ OpenAI SDK ใดก็ได้ แค่เปลี่ยน base URL และคีย์ |
| เอนด์พอยต์ | POST /v1/chat/completions · GET /v1/models |
| ID โมเดล | uncensored |
| การยืนยันตัวตน | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.llmproxyapi.com/v1 |
| โหมด JSON | response_format: {"type": "json_object"} |
| หน้าต่างบริบท | 64,000 โทเคน (อินพุตรวมเอาต์พุต) |
| พารามิเตอร์ | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| การเรียกใช้ฟังก์ชัน | รองรับ — tools, tool_choice คำตอบมี tool_calls รวมถึงตอนสตรีม ส่งผลลัพธ์กลับด้วย role: tool |
| เอาต์พุตสูงสุด | ได้ถึงส่วนที่เหลือของหน้าต่าง 64,000 โทเคน; max_tokens ไม่บังคับ (ไม่มีเพดานแยก) |
| สตรีมมิง | รองรับ — server-sent events ชิ้นสุดท้ายมีจำนวนโทเคนที่ใช้ |
| คำขอพร้อมกัน | สูงสุด 8 คำขอพร้อมกันต่อคีย์ |
| ขีดจำกัดอัตรา | 300 คำขอต่อนาทีต่อคีย์ |
| เฮดเดอร์ของคำตอบ | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| ขนาดคำขอ | ไม่เกิน 8 MB |
| เติมเงิน | USDT (TRC20) หรือ USDC (Base) จำนวนเต็มใดก็ได้ตั้งแต่ $10 ถึง $500 |
| โบนัส | +5% เมื่อเติมตั้งแต่ $50, +10% ตั้งแต่ $100 |
| อายุเครดิต | เครดิตที่ซื้อไม่มีวันหมดอายุ ไม่มีการสมัครรายเดือน |
| ราคา | $0.25 ต่อ 1 ล้านโทเคนอินพุต · $1.00 ต่อ 1 ล้านโทเคนเอาต์พุต |
| การคิดเงิน | เครดิตแบบเติมเงินล่วงหน้าตามการใช้งานจริง ข้อผิดพลาดและการปฏิเสธไม่คิดเงิน |
| เครดิตทดลองใช้ฟรี | $0.50 ใช้ได้ 7 วัน ไม่ต้องใช้บัตร · คีย์ทดลอง: 2 คำขอพร้อมกัน, 60 ครั้งต่อนาที; ขีดจำกัดเต็ม (8 และ 300) หลังเติมเงินครั้งแรก |
| เนื้อหา | อนุญาตเนื้อหาสำหรับผู้ใหญ่ ปฏิเสธเนื้อหาทางเพศที่เกี่ยวข้องกับผู้เยาว์ |
| เข้าสู่ระบบ | 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 | โมเดลไม่ว่าง ลองใหม่ในไม่กี่วินาที |
ถาม-ตอบ
มีบริการ embeddings หรือสร้างภาพหรือไม่?
ไม่ เราไม่มีบริการ embeddings ภาพ เสียง หรือวิดีโอ API ของเราใช้สำหรับการสนทนาข้อความเท่านั้น หากต้องการ embeddings ต้องใช้บริการหรือโมเดลอื่น เราเน้นการประมวลผลข้อความประสิทธิภาพสูงด้วยโมเดลไม่เซ็นเซอร์
นี่คือบริการทางการของ OpenAI หรือไม่?
ไม่ เราเป็นบริการอิสระ เราเข้ากันได้กับรูปแบบ API ของ OpenAI แต่เราโฮสต์โมเดลไม่เซ็นเซอร์ของเราเอง ไม่ใช่ GPT-4, GPT-3.5 หรือโมเดล OpenAI อื่นๆ คุณสามารถใช้ SDK เดิมได้ แต่โมเดลพื้นฐานแตกต่างกัน
เกิดอะไรขึ้นหากเครดิตหมด?
คำขอจะส่งข้อผิดพลาด 402 Payment Required คุณสามารถเติมเงินบัญชีได้ตลอดเวลาด้วยคริปโต (USDT หรือ USDC) เครดิตไม่หมดอายุ คุณสามารถเติมเงินเมื่อสะดวก ไม่มีค่าธรรมเนียมรายเดือน มีเพียงการใช้งานแบบจ่ายตามจริง
คีย์ของคุณอยู่ห่างแค่แบบฟอร์มเดียว
สร้างบัญชี คัดลอกคีย์ เปลี่ยน URL พื้นฐาน นั่นคือการตั้งค่าทั้งหมด