Base URL và Xác thực
URL cơ sở cho tất cả các yêu cầu là https://api.veniceaiapipricing.com/v1. Bạn xác thực bằng cách truyền khóa API của bạn trong Authorization header dưới dạng bearer token. Cấu hình này hoạt động với bất kỳ SDK OpenAI tiêu chuẩn nào. Thay thế YOUR_API_KEY với khóa được tạo từ bảng điều khiển tài khoản của bạn.
- Điểm cuối:
POST /v1/chat/completions - Tiêu đề:
Authorization: Bearer YOUR_API_KEY
curl https://api.veniceaiapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return server status code 200"}]
}'
Điểm cuối /v1/chat/completions
Gửi lịch sử hội thoại của bạn đến /v1/chat/completions sử dụng uncensored model ID. API chấp nhận các đối tượng tin nhắn tiêu chuẩn với role và content trường. Token đầu vào có giá $0.15 mỗi triệu, và token đầu ra có giá $0.50 mỗi triệu. Lỗi và từ chối không tiêu thụ tín dụng.
Điểm cuối này hỗ trợ tạo văn bản thuần túy. Điểm cuối này không xử lý hình ảnh, âm thanh hoặc embedding. Bạn có thể stream phản hồi hoặc lấy toàn bộ văn bản trong một đối tượng JSON duy nhất.
from openai import OpenAI
client = OpenAI(base_url="https://api.veniceaiapipricing.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)
Phản hồi luồng (SSE)
Bật phát trực tiếp bằng cách đặt stream: true trong thân yêu cầu của bạn. API trả về Sự kiện được gửi bởi máy chủ (SSE) cho mỗi token được tạo. Chunk cuối cùng chứa thống kê sử dụng token tổng cộng. Phương pháp này giảm độ trễ cảm nhận đối với các phản hồi dài.
Xử lý luồng rất quan trọng đối với các ứng dụng thời gian thực. Bạn có thể xử lý các token khi chúng đến thay vì chờ đợi toàn bộ kết quả hoàn tấ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)
Function Calling và chế độ JSON
API hỗ trợ đầu ra có cấu trúc và định nghĩa công cụ. Sử dụng response_format: {"type": "json_object"} để bắt buộc đầu ra JSON. Bạn cũng có thể truyền tools cho gọi hàm, cho phép mô hình trả về dữ liệu có cấu trúc cho logic ứng dụng của bạn.
Tính năng này hữu ích cho việc trích xuất dữ liệu hoặc kích hoạt các hành động. Mô hình trả về các cuộc gọi công cụ ở định dạng chuẩn hóa. Bạn sau đó có thể thực hiện các hàm của mình và đưa kết quả trở lại vào cuộc trò chuyện.
Tham số: Nhiệt độ, Top P và Seeds
Kiểm soát sự sáng tạo với temperature và top_p. The seed tham số đảm bảo các đầu ra xác định cho việc kiểm tra. Các tham số này tuân theo các quy ước tiêu chuẩn của OpenAI. Việc điều chỉnh chúng ảnh hưởng đến tính ngẫu nhiên của văn bản được tạo ra.
Đặt temperature đến 0.7 cho sự cân bằng sáng tạo. Sử dụng seed để có kết quả có thể tái lập. API bỏ qua các tham số không được hỗ trợ một cách nhẹ nhàng.
Giới hạn tốc độ và Ràng buộc
Bạn bị giới hạn 300 yêu cầu mỗi phút cho mỗi khóa. Tối đa 8 yêu cầu đồng thời được cho phép cho mỗi khóa. Kích thước thân yêu cầu được giới hạn ở 8 MB. Cửa sổ ngữ cảnh là 100.000 token cho cả đầu vào và đầu ra cộng lại. Đầu ra tối đa mỗi yêu cầu là 16.000 token.
Vượt quá các giới hạn này trả về lỗi 429. Đảm bảo máy khách của bạn xử lý các lần thử lại một cách phù hợp. Khóa API là duy nhất cho mỗi tài khoản; tạo khóa mới sẽ thay thế khóa cũ.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.veniceaiapipricing.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);