Developer guide

ยืนยันตัวตนด้วยคีย์ API

เฮดเดอร์ที่ใส่คีย์ API และ base URL ที่ตั้งค่าใน SDK

เกตเวย์ CLEVI รองรับการยืนยันตัวตนสำหรับเส้นทางที่เข้ากันได้กับ OpenAI และเส้นทางที่เข้ากันได้กับ Anthropic ด้วยคีย์ API เดียว
ค่าที่ต้องตั้งค่าที่ไคลเอ็นต์มีสองรายการ ได้แก่ เฮดเดอร์การยืนยันตัวตนที่ใส่คีย์ และ base URL ของ SDK โดยรูปแบบเฮดเดอร์และ base URL ที่อนุญาตจะแตกต่างกันตามข้อกำหนด
หลังจากตั้งค่าแล้ว ให้เรียกดูรายการโมเดลเพื่อยืนยันสถานะการยืนยันตัวตนได้ทันที
หากการยืนยันตัวตนล้มเหลว ระบบจะส่งคืน 401 และหากยืนยันตัวตนผ่านแล้วแต่ไม่ตรงตามเงื่อนไขสิทธิ์หรือโควตา ระบบจะส่งคืน 403

ออกคีย์ API ได้จากหน้าคีย์ API ในคอนโซล คุณสามารถเพิกถอนคีย์และจัดการขอบเขตการใช้งานได้จากหน้าเดียวกัน

เฮดเดอร์การยืนยันตัวตน

ข้อกำหนดทั้งสองใช้เฮดเดอร์คำขอหนึ่งรายการเพื่อใส่คีย์ API โดยใช้เฮดเดอร์ X-API-Key หรือ Authorization อย่างใดอย่างหนึ่ง และรูปแบบที่อนุญาตจะแตกต่างกันตามข้อกำหนด

เฮดเดอร์เข้ากันได้กับ OpenAIเข้ากันได้กับ Anthropic
X-API-Key: <คีย์>ใช้ได้ใช้ได้
Authorization: Bearer <คีย์>ใช้ได้ใช้ได้
Authorization: <คีย์> (ไม่มี Bearer)ปฏิเสธใช้ได้

เมื่อใช้เฮดเดอร์ Authorization ในเส้นทางที่เข้ากันได้กับ OpenAI จำเป็นต้องมีคำนำหน้า Bearer หากส่งเฉพาะคีย์โดยไม่มีคำนำหน้า เกตเวย์จะปฏิเสธคำขอ

ชื่อเฮดเดอร์ไม่แยกความแตกต่างระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ดังนั้นเฮดเดอร์ x-api-key ที่ Anthropic SDK ส่งมาก็ทำงานได้เช่นเดิม หากระบุเฮดเดอร์ทั้งสองรายการ ระบบจะใช้ค่า X-API-Key เป็นลำดับแรก

base URL

SDK ที่ใช้อยู่เดิมสามารถใช้งานต่อได้โดยเปลี่ยนเฉพาะ base URL เป็นที่อยู่ด้านล่าง ที่อยู่ทั้งสองแตกต่างกันตรงที่มี /v1 รวมอยู่ด้วยหรือไม่ ดังนั้นให้ระบุที่อยู่ที่ตรงกับข้อกำหนดนั้น ๆ โดยไม่เปลี่ยนแปลง

ข้อกำหนดbase URLกฎเส้นทาง
เข้ากันได้กับ OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1รวม /v1 ไว้ใน base URL
เข้ากันได้กับ Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicAnthropic SDK จะเพิ่ม /v1 ลงในเส้นทางคำขอโดยตรง ดังนั้นจึงสิ้นสุดก่อน /v1

ตรวจสอบการยืนยันตัวตน

หลังจากตั้งค่า API key และ base URL แล้ว ให้เรียกดูรายการโมเดลเพื่อยืนยันว่าการยืนยันตัวตนสำเร็จหรือไม่ ตัวอย่างด้านล่างเรียกใช้คำขอเดียวกันด้วย curl, OpenAI SDK และ Anthropic SDK แทนที่ sk-... ด้วยคีย์ที่ออกให้จากหน้าจอ API key

เมื่อเรียกดูด้วย curl ให้ระบุพาธเต็มจนถึง /v1/models สำหรับทั้งสองรูปแบบ คำสั่งแรกใช้เฮดเดอร์ X-API-Key กับพาธที่เข้ากันได้กับ OpenAI ส่วนคำสั่งที่สองใช้เฮดเดอร์ Authorization กับพาธที่เข้ากันได้กับ Anthropic

curl https://platform.clevi.net/api/v2/aiservice/openai/v1/models \
  -H "X-API-Key: sk-..."

curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/models \
  -H "Authorization: Bearer sk-..." \
  -H "anthropic-version: 2023-06-01"

OpenAI SDK ให้ระบุที่อยู่ที่รวม /v1 ไว้ใน base_url

from openai import OpenAI

client = OpenAI(
    api_key="sk-...",
    base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)

for model in client.models.list():
    print(model.id)

Anthropic SDK ให้ระบุ base_url ให้ลงท้ายก่อนถึง /v1
สำหรับการยืนยันตัวตน ให้ใช้เฮดเดอร์ x-api-key ที่ SDK ส่งมาโดยตรง

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-...",
    base_url="https://platform.clevi.net/api/v2/aiservice/anthropic",
)

for model in client.models.list(limit=20).data:
    print(model.id)

หากการตอบกลับของตัวอย่างใดก็ตามเป็น 200 แสดงว่าการยืนยันตัวตนสำเร็จ และ data ในการตอบกลับจะมีรายการโมเดลที่สามารถเรียกใช้ด้วยคีย์นี้ หากเป็น 401 ให้ตรวจสอบสาเหตุตามลำดับในหัวข้อถัดไป

การยืนยันตัวตนล้มเหลว

หากส่งคีย์ที่ไม่มีอยู่ หมดอายุ หรือถูกเพิกถอน ระบบจะส่งคืน 401 เมื่อเรียกใช้พาธที่เข้ากันได้กับ OpenAI โดยไม่มีคีย์ ระบบจะส่งคืนเนื้อหาด้านล่าง ส่วนพาธที่เข้ากันได้กับ Anthropic จะมี error.type เป็น authentication_error

{
  "error": {
    "message": "API key is required.",
    "type": "invalid_request_error"
  }
}

หากได้รับ 401 ให้ตรวจสอบตามลำดับต่อไปนี้

  1. ตรวจสอบสถานะคีย์ในหน้าจอ API key หากคีย์หมดอายุหรือถูกเพิกถอน ให้ขอคีย์ใหม่
  2. ตรวจสอบว่าชื่อเฮดเดอร์เป็น X-API-Key หรือ Authorization
  3. หากใช้เฮดเดอร์ Authorization กับพาธที่เข้ากันได้กับ OpenAI ให้ตรวจสอบว่ามีคำนำหน้า Bearer

หลังจากแก้ไขแล้ว ให้เรียกดูรายการโมเดลในหัวข้อการยืนยันตัวตนอีกครั้ง และตรวจสอบว่าได้รับ 200 หรือไม่

เฮดเดอร์ที่ใช้ร่วมกัน

เฮดเดอร์ต่อไปนี้เป็นตัวเลือกทั้งหมด เราขอแนะนำให้กำหนด X-Request-Id ไว้เพื่อให้ติดตามปัญหาได้

เฮดเดอร์วัตถุประสงค์หากละเว้น
X-Request-Idตัวระบุสำหรับติดตามคำขอ เส้นทางที่เข้ากันได้กับ Anthropic จะส่งคืนค่าเดียวกันในเฮดเดอร์ request-id ของการตอบกลับเซิร์ฟเวอร์เป็นผู้ออกให้
X-Region-Codeกำหนดรีเจียนที่เรียกใช้คือ global
X-Product-Sku (สามารถระบุด้วย query product_sku ได้เช่นกัน)ระบุ Product SKU ที่จะใช้เรียกเก็บเงินโดยตรง เฮดเดอร์มีลำดับความสำคัญเหนือ query และใช้เป็นหลักในเส้นทางเสียงและวอยซ์ไม่สามารถละเว้นได้ในเส้นทางวอยซ์ ส่วน audio/speech และ audio/transcriptions จะเลือก Product ด้วยค่า model ในเนื้อหาคำขอ
anthropic-version / anthropic-betaส่งต่อโดยตรงในเส้นทางที่เข้ากันได้กับ Anthropicเวอร์ชันคือ 2023-06-01

หากเกิด 5xx ซ้ำ ๆ โปรดแจ้งผ่านความช่วยเหลือและช่องทางติดต่อ พร้อมระบุ X-Request-Id หากเป็นค่าที่ระบุโดยตรง จะสามารถตรวจสอบเทียบกับบันทึกของไคลเอนต์ได้ทันที

ภาษาและภูมิภาค

ภาษาที่แปลโดยเครื่องแปลจะถูกแปลโดย clevi/cip-5.5-im และมีการระบุว่าเป็นภาษาที่แปลโดยเครื่องแปล ใช้กับภาษาที่มีชุดเว็บไซต์เผยแพร่แล้ว

137 ภาษา

แนะนำ

1

เอเชียตะวันออก

7

เอเชียตะวันออกเฉียงใต้

11

เอเชียใต้

18

เอเชียกลาง

5

ตะวันออกกลางและคอเคซัส

10

ยุโรปตะวันตกและยุโรปใต้

17

สหราชอาณาจักรและไอร์แลนด์

4

ยุโรปเหนือ

10

ยุโรปกลางและบอลข่าน

14

ยุโรปตะวันออก

5

แอฟริกาตะวันออก

8

แอฟริกาตะวันตกและแอฟริกากลาง

9

แอฟริกาตอนใต้

8

อเมริกา

5

โอเชียเนีย

5