Yêu cầu tiên quyết
Để sử dụng API của apertus, bạn cần một tài khoản và một khóa API. Đăng ký qua Google hoặc email trên trang Lấy khóa API. Bạn nhận được khóa ngay lập tức; không cần số điện thoại. Nếu bạn muốn thử trước, mỗi tài khoản mới đều nhận được $0.50 tín dụng dùng thử có hiệu lực trong 7 ngày. Không cần thẻ cho bản dùng thử. Để sản xuất, bạn có thể nạp tiền bằng crypto (USDT trên TRC20 hoặc USDC trên Base). Tín dụng không bao giờ hết hạn và lỗi không tiêu tốn số dư. Bạn chỉ có một khóa hoạt động mỗi tài khoản; tạo khóa mới sẽ thay thế khóa cũ. Hãy giữ khóa của bạn an toàn và truyền nó trong tiêu đề Authorization dưới dạng token bearer. API hoạt động hoàn toàn trên văn bản, cung cấp một mô hình không kiểm duyệt được tối ưu hóa để trả lời mà không từ chối nội dung.
Base URL và Xác thực
Gửi tất cả yêu cầu đến https://api.apertus.cc/v1. Base URL này hoạt động với các SDK OpenAI chính thức và bất kỳ máy khách tương thích nào bằng cách chỉ thay đổi endpoint. Bao gồm khóa API của bạn trong tiêu đề: Authorization: Bearer YOUR_API_KEY. Endpoint được hỗ trợ duy nhất là POST /v1/chat/completions. Một endpoint GET /v1/models cũng có sẵn để xác minh kết nối. ID mô hình để sử dụng là uncensored. Đây là một mô hình trọng số mở chạy trên máy chủ của chúng tôi, khác biệt với GPT, Claude hoặc các nhà cung cấp khác. Nó xử lý đầu vào văn bản và trả về đầu ra văn bản. Đừng mong đợi embedding, hình ảnh hoặc âm thanh. API được thiết kế cho các nhà phát triển muốn tích hợp đơn giản mà không có độ phức tạp của việc định tuyến mô hình.
Yêu cầu đầu tiên
Gửi một yêu cầu hoàn tất cơ bản để xác minh cài đặt của bạn. Sử dụng lệnh curl để POST đến endpoint hoàn tất trò chuyện. Đặt mô hình thành uncensored và bao gồm một tin nhắn đơn giản. Điều này xác nhận khóa API của bạn hoạt động và base URL là chính xác. Bạn có thể điều chỉnh các tham số như temperature hoặc max_tokens khi cần. Phản hồi sẽ chứa đầu ra văn bản của mô hình. Nếu bạn nhận được lỗi 401, hãy kiểm tra khóa của bạn. Lỗi 402 cho biết không đủ tín dụng. Lỗi 429 có nghĩa là bạn đã đạt giới hạn tốc độ. Yêu cầu đơn giản này minh họa quyền truy cập API thô mà không có middleware nào. Đây là cách nhanh nhất để xác thực tích hợp của bạn trước khi xây dựng logic phức tạp hơn.
Tích hợp Python
Sử dụng SDK Python openai chính thức để tương tác với API. Khởi tạo máy khách với base URL https://api.apertus.cc/v1 và khóa API của bạn. Đặt mô hình thành uncensored. Gửi tin nhắn dưới dạng danh sách các từ điển. SDK xử lý tự động việc tuần tự hóa và phân tích lỗi. Cách tiếp cận này rất lý tưởng cho các dịch vụ backend hoặc tập lệnh xử lý dữ liệu. Bạn có thể truyền phát phản hồi hoặc nhận các khối đầy đủ. Mã máy khách giống hệt những gì bạn sẽ sử dụng cho OpenAI, chỉ khác base URL. Điều này giảm ma sát khi chuyển từ các nhà cung cấp khác. Đảm bảo bạn có phiên bản SDK mới nhất để tương thích tốt nhất. Việc tích hợp rất tối thiểu, chỉ yêu cầu thay đổi cấu hình trong cài đặt máy khách hiện có của bạn.
Tích hợp Node.js
Đối với môi trường JavaScript hoặc TypeScript, hãy sử dụng gói npm openai. Định cấu hình client với cùng URL cơ sở và khóa như trong Python. Gọi chat.completions.create() với mô hình uncensored. Truyền tin nhắn của bạn theo định dạng tiêu chuẩn. Điều này hoạt động tốt cho các hàm serverless hoặc backend Node.js. SDK quản lý các yêu cầu HTTP và phân tích phản hồi. Bạn có thể xử lý lỗi một cách khéo léo bằng cách kiểm tra trạng thái phản hồi. Mã nguồn vẫn di động giữa các dịch vụ tương thích OpenAI khác nhau. Điều này giúp dễ dàng thay đổi nhà cung cấp nếu cần. Tích hợp Node.js hỗ trợ cả mô hình đồng bộ và bất đồng bộ. Hãy sử dụng nó để xây dựng API, bot hoặc các quy trình tự động hóa yêu cầu tạo văn bản không kiểm duyệt.
Phản hồi truyền phát
Bật truyền phát bằng cách đặt stream: true trong yêu cầu của bạn. API trả về các đoạn văn bản khi chúng được tạo. Điều này cải thiện độ trễ cảm nhận được cho các phản hồi dài. Mỗi đoạn chứa một phần của kết quả hoàn tất. Đoạn cuối cùng bao gồm thống kê sử dụng token. Truyền phát được hỗ trợ qua Server-Sent Events (SSE). Sử dụng các tiện ích truyền phát của SDK để xử lý các đoạn dữ liệu một cách hiệu quả. Điều này hữu ích cho các giao diện trò chuyện hoặc ứng dụng thời gian thực. Lưu ý rằng truyền phát tiêu tốn cùng token với không truyền phát. Lỗi có thể xảy ra giữa chừng, vì vậy hãy xử lý các lần ngắt. Mô hình không kiểm duyệt hỗ trợ truyền phát theo mặc định. Tính năng này cho phép bạn hiển thị văn bản từng phần. Đây là một tính năng tiêu chuẩn trong các API LLM hiện đại. Đảm bảo mã máy khách của bạn xử lý các phản hồi một phần đúng cách.
Giới hạn, Lỗi và Ngữ cảnh
Cửa sổ ngữ cảnh có tổng cộng 100.000 token, bao gồm prompt và phản hồi. Đầu ra tối đa là 32.000 token mỗi yêu cầu, hoặc 2.048 nếu max_tokens không được đặt. Giới hạn tốc độ là 300 yêu cầu mỗi phút và 8 yêu cầu đồng thời mỗi khóa. Thân yêu cầu phải dưới 8 MB. Các lỗi phổ biến bao gồm 401 cho khóa không hợp lệ, 402 cho không có tín dụng và 429 cho giới hạn tốc độ. Mô hình từ chối nội dung tình dục liên quan đến trẻ vị thành niên. Nó không từ chối các chủ đề người trưởng thành hợp pháp, hư cấu hoặc gây tranh cãi khác. Giá cả minh bạch: $0.25 cho mỗi 1M token đầu vào và $1.00 cho mỗi 1M token đầu ra. Lỗi miễn phí. Tín dụng là tín dụng trả trước và không bao giờ hết hạn. Hãy sử dụng các giới hạn này để lập kế hoạch quy mô ứng dụng của bạn. API được thiết kế cho việc tạo văn bản khối lượng lớn và hiệu quả về chi phí.
cURL
curl https://api.apertus.cc/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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.apertus.cc/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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apertus.cc/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);Truyền phát
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)