认证:使用您的 API 密钥
您的 API 密钥对您发送到我们服务器的每个请求进行身份验证。我们为每个账户提供一个密钥,您可通过仪表板生成。将此密钥通过 Authorization 使用 Bearer 方案的 header。如果您发送无效的密钥,我们将返回 401 错误。如果您的预付费信用耗尽,我们将返回 402 错误,要求您通过加密货币充值后才能继续。
基础 URL 和端点结构
将所有请求直接发送至我们用于聊天补全的单一基础 URL。我们不提供嵌入、图像生成或微调端点。请使用标准 POST /v1/chat/completions 路径以发送您的提示。您还可以查询 GET /v1/models 验证可用的模型标识符。此结构确保与现有 OpenAI SDK 客户端兼容,无需自定义路由逻辑。
快速开始:使用 ablated AI 发起您的第一个请求
发送简单的文本请求以立即测试 uncensored 模型。使用官方 OpenAI 库或任何 HTTP 客户端 POST 您的消息。模型会返回文本回复,且不过滤合法的成人内容。将占位符密钥替换为您从仪表板获取的实际凭据。
curl https://api.aiablated.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "what is the current version of the api"}]
}'
此请求演示了基本交互流程。您从消融模型获得直接答案。调整系统提示以定义特定用例的角色或上下文。
Python SDK 集成
使用官方 OpenAI Python 库将 API 集成到您的应用中。在客户端配置中设置 base URL 和 API 密钥。这种方法会自动处理序列化和错误解析。您可以流式传输响应或同步获取它们。客户端库为您管理连接生命周期。
from openai import OpenAI
client = OpenAI(base_url="https://api.aiablated.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)
此代码片段正确初始化客户端。它指向我们的特定基础 URL。确保安装最新的 openai 包,以完全兼容流式传输和函数调用功能。
Node.js SDK 集成
使用标准 SDK 将 API 集成到您的 JavaScript 或 TypeScript 项目中。配置基础 URL 以指向我们的服务。这允许您使用熟悉的方法,如 chat.completions.create. SDK 处理请求头和响应解析。您可以轻松添加针对速率限制或身份验证失败的处理逻辑。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.aiablated.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);
此配置可确保您的 Node 应用正确通信。覆盖基础 URL 是关键步骤。若不这样做,SDK 将尝试连接 OpenAI 云端,而非我们的服务器。
流式响应与 Token 用量
通过服务器发送事件 (SSE) 逐个令牌接收响应。这降低了长输出的感知延迟。数据流的最后一个数据块包含该请求的总令牌使用量。您可以实时跟踪预付费额度的消耗。设置 stream: true 在请求负载中以启用此模式。这非常适合聊天界面和实时文本生成。
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)
这种流式处理方式提供了流畅的用户体验。最后一个数据块包含使用统计信息。监控这些数字以有效管理您的预付费余额。SDK 会优雅地处理流式传输过程中的错误。