API Quickstart: Connect Your Client to Our Uncensored Model
บทแนะนำนี้แสดงวิธีชี้ไคลเอนต์ที่เข้ากันได้กับ OpenAI ไปยังโมเดลข้อความ uncensored ของเรา คุณต้องการ base URL หนึ่ง URL model id หนึ่ง id และคีย์ของคุณ
การตรวจสอบสิทธิ์และ Base URL
คำขอทั้งหมดจะถูกส่งไปยัง https://doesgrokhaveanapi.com/v1 และเก็บคีย์ของคุณไว้ใน Authorization เฮดเดอร์เป็นโทเค็น bearer คัดลอกคีย์จากหน้า Get API key; คุณจะเห็นคีย์นี้หลังจากสมัครสมาชิก และสามารถเปลี่ยนได้ตลอดเวลา
สั้นและกระชับ: URL พื้นฐานและคีย์เป็นค่าเพียงสองค่าที่เปลี่ยนแปลงเมื่อคุณย้ายไคลเอนต์ที่มีอยู่
curl https://api.doesgrokhaveanapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current API endpoint for the model?"}]
}'
Chat Completions Endpoint
ส่ง POST /v1/chat/completions พร้อมรายการข้อความ การตอบสนองมีโครงสร้างเดียวกันกับการตอบสนอง chat completions ของ OpenAI ดังนั้นโปรแกรมอ่านข้อมูลที่มีอยู่จึงยังคงใช้งานได้
- ใช้บทบาท
userสำหรับพรอมต์ของคุณและsystemสำหรับคำแนะนำ - อ่านคำตอบจาก
choices[0].message.content. - จำนวน token จะกลับมาใน
usage, และนั่นคือสิ่งที่เครดิตของคุณจะถูกหักสำหรับ
from openai import OpenAI
client = OpenAI(base_url="https://api.doesgrokhaveanapi.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)
โมเดลที่รองรับ: 'uncensored'
ตั้งค่าฟิลด์ model เป็น uncensored. นี่คือ model id เพียงอย่างเดียวที่มีให้บริการ ดังนั้นจึงไม่มีตัวเลือกอื่นให้เลือก GET /v1/models ซึ่งเป็นการยืนยันอย่างรวดเร็วว่าคีย์ใช้งานได้
โมเดลนี้เป็นโมเดลแบบ open-weight ที่รันบนเซิร์ฟเวอร์ของเราเอง ไม่มีการปฏิเสธคำขอที่เกี่ยวข้องกับผู้ใหญ่ เนื้อเรื่องสมมติ หรือเรื่องถกเถียงได้ โดยข้อจำกัดเดียวคือเนื้อหาทางเพศที่เกี่ยวข้องกับเด็ก
การสตรีมและการเรียกใช้ฟังก์ชัน
Add stream: true เพื่อรับโทเค็นในรูปแบบ server-sent events ชิ้นสุดท้ายจะรวมตัวเลขการใช้งาน คุณสามารถบันทึกต้นทุนต่อคำขอได้โดยไม่ต้องเรียกใช้ครั้งที่สอง
Function Calling ทำงานผ่านมาตรฐาน tools และ tool_choice ฟิลด์ กำหนดฟังก์ชันแต่ละตัวด้วยสคีมา JSON และอ่าน tool_calls ของคำตอบ
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)
พารามิเตอร์: อุณหภูมิ (Temperature), Top P และ Stop
พารามิเตอร์การสุ่มตัวอย่างที่รองรับคือ temperature, top_p, stop, seed, presence_penalty และ frequency_penalty. ใช้ค่า temperature ต่ำสำหรับโค้ดและการดึงข้อมูล และใช้ค่าสูงสำหรับงานเขียนเชิงสร้างสรรค์
หากคุณไม่ได้ตั้งค่า max_tokens, ค่าจำกัด output โดยเริ่มต้นคือ 2,048 tokens ค่าสูงสุดต่อ request คือ 16,000 tokens
โหมด JSON และรูปแบบการตอบกลับ
ตั้งค่า response_format เพื่อ { 'type': 'json_object' } เมื่อคุณต้องการผลลัพธ์ที่เครื่องสามารถอ่านได้ ขอ JSON ในพรอมต์ด้วย เพราะโมเดลจะปฏิบัติตามคำสั่งและรูปแบบไปพร้อมกัน
- อธิบายฟิลด์ที่คุณต้องการในข้อความระบบ
- เก็บตัวอย่างให้สั้น มีคีย์สองหรือสามคีย์
- ตรวจสอบผลลัพธ์ในโค้ดของคุณก่อนจัดเก็บ
อัตราการจำกัดและวิธีการจัดการข้อผิดพลาด
คีย์แต่ละรายการสามารถส่งคำขอได้ 300 คำขอต่อนาที และ 8 คำขอพร้อมกัน คำขอที่มี body เกิน 8 MB จะถูกปฏิเสธ รหัส 401 หมายถึงคีย์ไม่ถูกต้อง รหัส 402 หมายถึงเครดิตหมด และรหัส 429 หมายถึงคุณถึงขีดจำกัดอัตรา: ให้รอและลองใหม่โดยเพิ่มเวลาถอยหลัง
ข้อผิดพลาดและการปฏิเสธจะไม่ถูกเรียกเก็บเงิน โปรดคำนึงถึง context window ขนาด 100,000 tokens สำหรับบทสนทนาที่ยาวนาน: จำนวน prompt และ completion จะนับรวมกัน
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.doesgrokhaveanapi.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);คำถามที่พบบ่อย
ฉันควรใช้ base URL อะไร?
ใช้ https://doesgrokhaveanapi.com/v1 เป็น URL พื้นฐาน SDK ที่เข้ากันได้กับ OpenAI สามารถใช้งานได้เมื่อคุณเปลี่ยน URL พื้นฐานและคีย์ โดยไม่ต้องแก้ไขโค้ดส่วนอื่น
ฉันควรส่ง model id อะไร?
ส่งแบบ uncensored เป็นโมเดลเดียวที่มีในบริการ เรียกใช้ GET /v1/models เพื่อยืนยัน id และตรวจสอบว่าคีย์ของคุณใช้งานอยู่ก่อนดำเนินการงานขนาดใหญ่
ทำไมคำขอของฉันจึงส่งค่า 402 กลับมา?
สถานะ 402 หมายถึงเครดิตแบบเติมเงินในบัญชีหมดแล้ว สามารถเติมเงินด้วย USDT บน TRC20 หรือ USDC บน Base เริ่มต้นที่ $20 และ request ถัดไปจะดำเนินการต่อได้ request ที่ล้มเหลวจะไม่ถูกคิดเงิน
คีย์ API ของคุณอยู่ห่างออกไปเพียงขั้นตอนเดียว
ลงทะเบียน คัดลอกโทเค็นของคุณ อัปเดต endpoint นั่นคือกระบวนการทั้งหมด