Developer guide

Xác thực bằng khóa API

Tiêu đề chứa khóa API và base URL cần cấu hình trong SDK

Cổng CLEVI xác thực các đường dẫn tương thích với OpenAI và Anthropic bằng một khóa API duy nhất.
Có hai giá trị cần cấu hình ở phía máy khách: tiêu đề xác thực chứa khóa và base URL của SDK; định dạng tiêu đề được chấp nhận và base URL khác nhau tùy theo đặc tả.
Sau khi hoàn tất cấu hình, hãy truy vấn danh sách mô hình để kiểm tra ngay trạng thái xác thực.
Nếu xác thực không thành công, hệ thống trả về 401; nếu xác thực thành công nhưng không đáp ứng điều kiện về quyền hoặc hạn mức, hệ thống trả về 403.

Phát hành khóa API trên màn hình khóa API trong bảng điều khiển. Bạn cũng có thể thu hồi khóa và quản lý phạm vi sử dụng trên cùng màn hình.

Tiêu đề xác thực

Cả hai đặc tả đều chứa khóa API trong một tiêu đề yêu cầu. Sử dụng một trong hai tiêu đề X-API-Key hoặc Authorization; định dạng được chấp nhận tùy theo đặc tả.

Tiêu đềTương thích với OpenAITương thích với Anthropic
X-API-Key: <키>Được chấp nhậnĐược chấp nhận
Authorization: Bearer <키>Được chấp nhậnĐược chấp nhận
Authorization: <키> (không có Bearer)Bị từ chốiĐược chấp nhận

Khi sử dụng tiêu đề Authorization trên đường dẫn tương thích với OpenAI, cần có tiền tố Bearer. Nếu chỉ gửi khóa mà không có tiền tố, cổng sẽ từ chối yêu cầu.

Tên tiêu đề không phân biệt chữ hoa chữ thường, vì vậy tiêu đề x-api-key do Anthropic SDK gửi cũng hoạt động như bình thường. Nếu chỉ định cả hai tiêu đề, giá trị X-API-Key sẽ được ưu tiên áp dụng.

base URL

Các SDK hiện đang sử dụng có thể tiếp tục được sử dụng chỉ bằng cách đổi base URL thành địa chỉ bên dưới. Hai địa chỉ khác nhau ở việc có bao gồm /v1 hay không, vì vậy hãy chỉ định nguyên địa chỉ phù hợp với đặc tả.

Đặc tảbase URLQuy tắc đường dẫn
Tương thích với OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Bao gồm đến /v1 trong base URL.
Tương thích với Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicAnthropic SDK tự thêm /v1 vào đường dẫn yêu cầu, vì vậy URL kết thúc trước /v1.

Kiểm tra xác thực

Sau khi thiết lập khóa và base URL, bạn có thể xác nhận trạng thái xác thực bằng cách truy vấn danh sách mô hình. Ví dụ dưới đây thực hiện cùng một truy vấn bằng curl, OpenAI SDK và Anthropic SDK. Thay sk-... bằng khóa được cấp trên màn hình API key.

Khi truy vấn bằng curl, hãy chỉ định toàn bộ đường dẫn đến /v1/models cho cả hai quy cách. Lệnh đầu tiên sử dụng tiêu đề X-API-Key cho đường dẫn tương thích với OpenAI, còn lệnh thứ hai sử dụng tiêu đề Authorization cho đường dẫn tương thích với 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"

Với OpenAI SDK, hãy chỉ định địa chỉ bao gồm /v1 trong 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)

Với Anthropic SDK, hãy chỉ định base_url là địa chỉ kết thúc trước /v1.
Để xác thực, giữ nguyên tiêu đề x-api-key do SDK gửi.

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)

Nếu phản hồi là 200 trong bất kỳ ví dụ nào, xác thực đã thành công và data trong phản hồi chứa danh sách các mô hình có thể gọi bằng khóa này. Nếu nhận 401, hãy kiểm tra nguyên nhân theo thứ tự trong phần tiếp theo.

Xác thực không thành công

Nếu không có khóa hoặc gửi khóa đã hết hạn hoặc bị thu hồi, hệ thống sẽ trả về 401. Khi gọi đường dẫn tương thích với OpenAI mà không có khóa, hệ thống trả về nội dung dưới đây; với đường dẫn tương thích với Anthropic, error.type là authentication_error.

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

Nếu nhận 401, hãy kiểm tra theo thứ tự sau.

  1. Kiểm tra trạng thái khóa trên màn hình API key. Nếu khóa đã hết hạn hoặc bị thu hồi, hãy cấp khóa mới.
  2. Kiểm tra xem tên tiêu đề có phải là X-API-Key hoặc Authorization hay không.
  3. Nếu sử dụng tiêu đề Authorization trên đường dẫn tương thích với OpenAI, hãy kiểm tra xem có tiền tố Bearer hay không.

Sau khi sửa, hãy thực hiện lại truy vấn danh sách mô hình trong phần xác nhận xác thực và kiểm tra xem có nhận được 200 hay không.

Các tiêu đề được sử dụng cùng nhau

Tất cả các tiêu đề sau đều là tùy chọn. Để có thể theo dõi sự cố, chúng tôi khuyến nghị chỉ định X-Request-Id.

Tiêu đềMục đíchNếu bỏ qua
X-Request-IdMã định danh dùng để theo dõi yêu cầu. Đường dẫn tương thích với Anthropic trả về cùng giá trị trong tiêu đề request-id của phản hồi.Do máy chủ cấp.
X-Region-CodeChỉ định khu vực gọi API.Là global.
X-Product-Sku (cũng có thể chỉ định bằng truy vấn product_sku)Chỉ định trực tiếp Product SKU được sử dụng để tính phí. Tiêu đề được ưu tiên hơn truy vấn và chủ yếu được sử dụng trong các đường dẫn thoại・voice.Không thể bỏ qua trong các đường dẫn voice. audio/speech và audio/transcriptions chọn Product bằng model trong nội dung yêu cầu.
anthropic-version / anthropic-betaĐược truyền nguyên trạng trong đường dẫn tương thích với Anthropic.Phiên bản là 2023-06-01.

Nếu lỗi 5xx lặp lại, hãy thông báo qua phần trợ giúp và liên hệ hỗ trợ, kèm theo X-Request-Id. Nếu là giá trị được chỉ định trực tiếp, có thể đối chiếu ngay với nhật ký của máy khách.

Ngôn ngữ và khu vực

Các ngôn ngữ được dịch bằng máy được dịch bởi clevi/cip-5.5-im và được đánh dấu như vậy. Điều này áp dụng cho các ngôn ngữ có gói trang web đã phát hành.

137 ngôn ngữ

Đề xuất

1

Đông Á

7

Đông Nam Á

11

Nam Á

18

Trung Á

5

Trung Đông và Kavkaz

10

Tây Âu và Nam Âu

17

Vương quốc Anh và Ireland

4

Bắc Âu

10

Trung Âu và Balkan

14

Đông Âu

5

Đông Phi

8

Tây Phi và Trung Phi

9

Miền Nam Châu Phi

8

Châu Mỹ

5

Châu Đại Dương

5