เริ่มต้นอย่างรวดเร็ว
ตั้งค่า endpoint กำหนดค่า API Key เชื่อมต่อ client แล้วส่งคำขอแรก
เลือกเอนด์พอยต์
เลือกรูปแบบเอนด์พอยต์ที่ไคลเอนต์ของคุณต้องการ มีเส้นทางที่เข้ากันได้กับ Chat Completions, Responses และ Messages ให้ใช้งาน
Base URL: https://api.llm-token.cn/v1เตรียม API Key
ใช้ API Key ที่ใช้งานได้จากสภาพแวดล้อมฝั่งเซิร์ฟเวอร์ หลีกเลี่ยงการเปิดเผยคีย์ในโค้ดฝั่งเบราว์เซอร์
Authorization: Bearer sk-your-api-keyเชื่อมต่อไคลเอนต์
ใช้ SDK ที่เข้ากันได้หรือเรียก REST API โดยตรงด้วย base_url ที่กำหนดเอง
client = OpenAI(base_url='https://api.llm-token.cn/v1')เริ่มเรียกใช้งาน
ส่งคำขอและรับการตอบกลับจาก AI รองรับการสตรีมเพื่อการตอบสนองที่เร็วขึ้น
POST /v1/chat/completionsการยืนยันตัวตน
ทุกคำขอ API ต้องมี API Key ของคุณในเฮดเดอร์ HTTP Authorization
รูปแบบการยืนยันตัวตน
เพิ่ม API Key ของคุณในเฮดเดอร์ Authorization ในทุกคำขอ
/v1/chat/completionsตัวอย่างคำขอที่มีการยืนยันตัวตน
curl https://api.llm-token.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello!"}]
}'{
"id": "chatcmpl_123",
"object": "chat.completion",
"choices": [{
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
}
}]
}https://api.llm-token.cn/v1ใช้สำหรับไคลเอนต์ส่วนใหญ่https://gpt-agent.ccใช้เฉพาะเมื่อไคลเอนต์ปฏิเสธ /v1 ระหว่างการตรวจสอบ/v1/chat/completionsสำหรับไคลเอนต์ที่ต้องการ Chat Completions/v1/responsesใช้ก่อนสำหรับไคลเอนต์ที่รองรับ Responses/v1/messagesใช้ก่อนสำหรับไคลเอนต์ที่เข้ากันได้กับ MessagesChat Completions API
endpoint Chat Completions ที่เข้ากันได้กับ OpenAI สำหรับระบบนิเวศโมเดลที่หลากหลาย
from openai import OpenAI
# Initialize the client
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.llm-token.cn/v1"
)
# Send a chat request
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Introduce yourself in one sentence."}
]
)
print(response.choices[0].message.content)พารามิเตอร์คำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
model | string | ใช่ | ID ของโมเดล เช่น gpt-4o-mini |
messages | array | ใช่ | อาเรย์ของข้อความแชท |
temperature | number | ไม่ | อุณหภูมิการสุ่มตั้งแต่ 0 ถึง 2 ค่าเริ่มต้น 1 |
max_tokens | integer | ไม่ | จำนวน token สูงสุดที่จะสร้าง |
stream | boolean | ไม่ | เปิดใช้งานการสตรีมเอาต์พุตหรือไม่ |
top_p | number | ไม่ | ค่าการสุ่มแบบ nucleus ค่าเริ่มต้น 1 |
ฟิลด์การตอบกลับ
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
id | string | ตัวระบุเฉพาะของการตอบกลับ |
object | string | ประเภทออบเจ็กต์ โดยทั่วไปคือ chat.completion |
created | integer | ประทับเวลาที่สร้าง |
model | string | ID ของโมเดลที่ใช้ตอบกลับ |
choices | array | ตัวเลือกการตอบกลับที่สร้างขึ้น |
usage | object | สถิติการใช้ token |
Streaming
เปิดใช้ streaming เพื่อรับ token ที่สร้างขึ้นแบบเรียลไทม์และลดความหน่วงที่ผู้ใช้รู้สึก
- ลดความหน่วงที่รู้สึกได้ - ผู้ใช้เห็นผลลัพธ์ได้ทันทีโดยไม่ต้องรอการตอบกลับทั้งหมด
- ประสบการณ์ข้อความยาวที่ดีขึ้น - คำตอบยาว ๆ จะแสดงทีละส่วนคล้ายการพิมพ์สด
- ต้นทุนเท่าเดิม - streaming คิดราคาเท่ากับการส่งออกแบบซิงโครนัส ต่างกันแค่วิธีส่งข้อมูล
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.llm-token.cn/v1"
)
# Enable streaming
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Introduce yourself in one sentence."}
],
stream=True
)
# Print each streamed token as it arrives
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
print() # New lineข้อผิดพลาด
ข้อผิดพลาด API ที่พบบ่อยและขั้นตอนการจัดการที่แนะนำ
| สถานะ HTTP | ชื่อข้อผิดพลาด | คำอธิบาย | การดำเนินการที่แนะนำ |
|---|---|---|---|
400 | INVALID_REQUEST | รูปแบบคำขอผิดหรือพารามิเตอร์ไม่ถูกต้อง | ตรวจสอบรูปแบบและพารามิเตอร์ของเนื้อหาคำขอ |
401 | UNAUTHORIZED | API Key ไม่ถูกต้องหรือหมดอายุ | ตรวจสอบว่า API Key ถูกต้องหรือไม่ |
429 | RATE_LIMIT | เกินขีดจำกัดอัตราคำขอ | ลองใหม่ด้วยกลยุทธ์หน่วงเวลาแบบเอ็กซ์โพเนนเชียล |
500 | INTERNAL_ERROR | ข้อผิดพลาดภายในของบริการ | ลองใหม่ภายหลัง |
503 | SERVICE_UNAVAILABLE | บริการไม่พร้อมใช้งานชั่วคราว | ลองใหม่ภายหลัง |
การจำกัดอัตรา
คำขอ API ถูกจำกัดอัตราเพื่อรักษาเสถียรภาพของบริการ
- API Key แต่ละตัวมีการจำกัดอัตราคำขอแยกกัน
- เมื่อได้รับการตอบกลับ 429 โปรดลองใหม่ด้วยกลยุทธ์หน่วงเวลาแบบเอ็กซ์โพเนนเชียล
- คำขอแบบสตรีมและไม่สตรีมใช้โควตาการจำกัดอัตราเดียวกัน
- ขีดจำกัดจริงขึ้นอยู่กับการตั้งค่าปัจจุบันของ Key