前提条件:SDK 与环境
首先安装您首选的 OpenAI 兼容 SDK。您只需要一个有效的 API 密钥和我们服务的基础 URL。
将密钥导出到您的环境变量中,以便脚本可以安全地访问它。通过 Google 或电子邮件创建新账户以立即获取密钥。此步骤无需电话号码验证。
确保您的环境支持标准 HTTP 库。API 期望所有请求都使用标准的 JSON 负载。您不需要安装特定供应商的驱动程序。
设置 base URL
将您的 SDK 客户端指向我们用于无审查推理的专用端点。基础 URL 将替换配置中的标准 OpenAI 端点。
使用 HTTPS://api.apikeymistral.com/v1 作为您的基础 URL。这确保所有请求都通过我们的高吞吐量服务器路由。如果您的 SDK 默认使用 /chat/completions,则无需更改端点路径。
将 API 密钥保存在内存或安全保险库中。该密钥对您发送到该 URL 的每个请求进行身份验证。
发起首次 POST 请求
发送标准聊天补全请求以获取文本输出。使用模型 ID "uncensored" 访问我们调优的模型。
指定温度和其他参数以控制创造性。端点接受带有消息数组的标准 JSON 主体。
以下是测试连通性的基本 curl 命令:
curl https://api.apikeymistral.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "return json object with keys name age"}]
}'验证响应包含生成的文本。检查状态码是否为 200 以确认成功。
Python SDK 集成
配置 Python 客户端以使用我们的 base URL。使用您的 API 密钥和自定义端点初始化客户端。
调用 chat.completions.create 方法并传入您的提示词。响应对象在 choices[0].message.content 中包含生成的文本。
优雅地处理潜在错误,如速率限制或无效密钥。如果需要成本跟踪,请记录 token 使用情况。
from openai import OpenAI
client = OpenAI(base_url="https://api.apikeymistral.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)此方法适用于任何 OpenAI 兼容库。您可以以最小的改动复用现有代码。
Node SDK 集成
使用自定义基础 URL 初始化 Node.js 客户端。在配置对象中传入您的 API 密钥。
使用您所需的参数调用 chat.completions.create 函数。响应遵循标准的 OpenAI 格式。
根据需要处理流或最终响应。错误处理应捕获网络问题或身份验证失败。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apikeymistral.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 应用中。
处理流式响应
通过在请求中将 stream=true 来启用流式传输。API 以生成时的数据块形式返回数据。
处理每个数据块以向用户显示实时输出。累积内容以获取完整响应。
在流的最后一个数据块中监控令牌用量。这有助于您准确跟踪成本。
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)流式传输降低了长响应的感知延迟。它非常适合聊天界面和交互式应用程序。
限制、错误和上下文窗口
理解技术限制以避免服务中断。上下文窗口支持 100,000 个 Token,用于提示词和补全的总和。
每次请求最大输出为 16,000 个 Token。设置 max_tokens 以避免达到 2,048 的默认值。
每个密钥每分钟允许 300 次请求。您可以同时发起 8 个并发请求。
通过检查密钥有效性来处理 401 错误。402 错误表示余额不足。429 错误表示达到速率限制。
请求超过 8 MB 的主体大小限制时将失败。请相应地规划您的负载。