前提条件:SDK 设置
在配置连接之前,为您首选的语言安装官方客户端库。该库自动处理 JSON 序列化、重试和流式传输协议。
对于 Python,通过 pip 安装包。对于 Node.js,使用 npm 或 yarn 将依赖项添加到您的项目中。
请确保使用最新版本的 SDK,以支持函数调用和 JSON 模式等功能。
配置:基础 URL & 密钥
将您的 SDK 客户端指向我们的特定基础 URL,并提供您在注册期间获取的 API 密钥。
基础 URL 为 HTTPS://api.claudellmapi.com/v1。这确保所有请求都发送到我们的无审查模型服务器,而不是默认提供商。
将 API 密钥设置为环境变量或直接传递给客户端构造函数。无需其他标头。
发送您的第一个请求
发送简单的聊天完成请求以验证连接和响应质量。使用模型 ID 'uncensored' 访问无限制模型。
请求结构与标准的 OpenAI 格式一致,便于替换现有集成。
预计返回包含模型对您提示的回答的文本响应。
处理流式响应
启用流式传输以按生成顺序接收 Token,从而降低长输出的感知延迟。
在请求中将 stream 参数设置为 true。SDK 将在可用时生成文本 chunks。
这对于期望在模型仍在思考时获得即时反馈的聊天界面非常理想。
实现函数调用
在请求中定义工具以让模型返回结构化数据而非纯文本。
指定函数模式并将 tool_choice 设置为 'auto' 或特定函数名称。
该模型将返回一个函数调用对象,您可以在代码中执行它。这与我们 uncensored 模型无缝配合。
错误处理 & 限制
优雅地处理常见的 HTTP 错误,以保持流畅的用户体验。401 状态码表示 API 密钥无效或缺失。402 状态码表示您的预付费余额已耗尽。429 状态码表示您已超过每分钟 300 次请求的速率限制。
您的上下文窗口为 100,000 个令牌(提示和完成总和)。超过 8 MB 主体限制的请求也将失败。
cURL
curl https://api.claudellmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What are the current rate limits for large context windows"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.claudellmapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.claudellmapi.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);流式传输
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)