首页指南
如何将无审查 AI 集成到你的应用中
更新于 LLM Sin Censura
将无审查 AI 集成到你的应用中,可以从模型获取直接的回答,无需大型提供商频繁拒绝。本技术指南说明了如何连接兼容 OpenAI 的接口、管理上下文并处理流式输出,以构建流畅且无审查的用户体验。
什么是无审查 AI?
无审查 AI 指的是经过调整或配置,不会因僵化的企业政策而拒绝成人内容、争议或小众主题的 LLM。与在检测到特定模式时可能返回 400 错误或通用文本的标准商业模型不同,无审查模型会准确返回你请求的内容,只要其合法即可。
这一特性对于创意、研究或模型表达自由优先的环境至关重要。这并不意味着模型“愚蠢”或缺乏智能;它只是去除了有时会阻止有效响应的表面审查层。对于开发者而言,这简化了错误处理逻辑,因为你无需预测哪些内容会被外部过滤器拒绝。
- 可预测性: 你获得完整的文本,没有任意截断。
- 控制权: 由你决定展示什么内容,而不是 API。
- 效率: 因错误审查导致的 API 调用失败更少。
SDK 初始配置
要集成我们的无审查 AI,我们将使用标准的 OpenAI SDK,因为我们的接口 100% 兼容其协议。这使你能够使用已知的库,例如 Python 中的 openai 或 Node.js 中的 openai。你只需调整 Base URL 并提供 API 密钥即可。
这种方法的优势在于可移植性。如果将来你决定切换到也提供兼容接口的供应商,代码中的更改将非常小。以下是使用 Python 配置指向我们服务的客户端的方法:
from openai import OpenAI
client = OpenAI(base_url="https://api.llmsincensura.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)请记住,兼容性意味着我们使用相同的请求和响应 JSON 格式,这便于从其他平台迁移或使用标准模拟进行单元测试。
API 密钥认证
我们 API 的安全性通过每个账户唯一的 API 密钥进行管理。该密钥在注册后立即生成且仅显示一次。重要的是要理解,默认情况下没有多个密钥;你的账户有一个用于请求的主标识符。
如果需要撤销访问权限或出于安全原因生成新 token,你可以在账户设置中重新生成密钥。请注意,这会立即使旧密钥失效。这不是增加速率限制的方法,而是一种安全措施,以确保只有一个活动控制点。将密钥保存在环境变量中,如果你的应用是公开的,切勿在客户端代码中暴露它。
- 生成: 注册时显示。
- 重新生成: 使旧密钥失效。
- 用法: 在请求头中发送
Authorization: Bearer YOUR_KEY。
发送第一个请求
基本操作是向 /v1/chat/completions 发送 POST 请求。你必须将模型指定为 uncensored,根据需要定义系统提示词以设定语气,并提供消息历史或用户的简单查询。模型将处理输入并以 JSON 格式返回完整响应。
这是验证集成是否工作的最简单流程。确保你的应用正确处理模型响应,其中包括生成的内容和用量元数据,如消耗的 token 数量。
curl https://api.llmsincensura.com/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."}]
}'此请求是任何聊天、内容生成或文本分析应用的基础。如果模型正确响应,则你的网络配置和认证是正确的。
处理流式输出
对于聊天机器人等交互式应用,使用流式输出至关重要。这允许 token 在生成时立即发送给客户端,从而改善延迟感知。我们的 API 支持 SSE 以实现此目的。
在 SDK 中启用流式输出后,你将收到多个部分事件。你必须连接这些片段以构建完整响应。当模型生成长文本时,这特别有用,因为用户几乎可以立即看到文本。
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)流式输出消耗的 token 与非流式请求相同;它只改变数据传输方式。这是任何依赖 AI 的现代用户界面的推荐做法。
100k 上下文管理
LLM 开发中的最大挑战之一是上下文限制。我们的 API 提供 100,000 token 的上下文窗口。这足以在单个请求中加载长文档、长对话历史或大型知识库。
为了有效利用这一点,你必须在应用中管理滑动窗口。随着对话的增长,你可以从发送给模型的对话历史中删除最旧的消息,以保持在此限制内。上下文包括输入(提示词)和输出(补全)token。
- 容量: 总计 100k token。
- 策略: 为消息实现循环缓冲区。
- 成本: token 按使用量计费,因此请优化不必要的上下文发送。
工具调用
工具调用(tool calling)功能允许模型与你的外部代码交互。你可以定义如 get_weather 或 search_database 之类的函数,模型将返回结构化参数以调用这些函数。这对于需要实时数据或特定操作的应用程序至关重要。
我们的无审查 AI 以与 OpenAI 标准相同的方式支持工具调用。你在 tools 参数中定义工具,模型会返回调用 ID。你的代码执行该函数,然后将结果发送回模型,以便基于该数据生成最终响应。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.llmsincensura.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);这种方法将被动语言模型转变为能够执行复杂任务的主动代理。
限制与配额
为确保服务稳定性,我们的 API 设有速率和大小限制。每个 API 密钥每分钟限制为 300 次请求。这对大多数中等使用量的应用程序已足够,但如果你的应用有流量峰值,应考虑在客户端实现请求队列。
此外,请求体不得超过 8 MB。这限制了你可以单次发送的文本或 JSON 文件的大小。如果需要发送更多数据,请考虑将其拆分为多个请求或在发送前进行摘要。
| 资源 | 限制 |
|---|---|
| 速率 | 300 次请求/分钟 |
| 请求大小 | 8 MB |
| 模型 | 无审查 |
计费与充值
定价模式为按量付费,无需强制月度订阅。按 token 百万计费。输入 token 的成本为每 1M token $0.25,输出 token 为每 1M token $1.00。此结构透明且可预测。
你可以使用加密货币(USDT 或 USDC)以最低 $10 的金额充值账户。如果充值金额较大,你将获得奖励:充值 $50 或以上可获得额外 5%,充值 $100 或以上可获得额外 10%。额度永不失效,因此你可以随时使用,无需时间压力。
- 输入价格: $0.25 / 1M token。
- 输出价格: $1.00 / 1M token。
- 奖励: $50 起 +5%,$100 起 +10%。
常见问题
该模型是 GPT 或 Claude 的复制品吗?
不是。这是一个在自有 GPU 服务器上运行的开放权重模型,专门调整以实现无审查。它不是 GPT、Claude、Gemini 或任何外部供应商的模型,尽管它兼容其 API 格式。
如果我超过每分钟 300 次请求的限制怎么办?
API 将返回速率限制错误。你需要等待计数器重置,或在应用中实现带指数退避的重试逻辑。重新生成密钥不会增加此限制,因为限制是针对账户和密钥的。
我的提示词会被用于训练模型吗?
不会。我们的隐私政策非常严格。你发送到 API 的提示词不用于模型训练,从而确保你的数据和对话保密。
我可以将此 API 用于 NSFW 内容吗?
可以,该模型旨在不过滤合法的成人内容。然而,无论司法管辖区如何,涉及未成年人的性内容始终会被屏蔽。对于其他成人内容,模型不会基于便利性进行拒绝。
你的密钥触手可及
创建账户,复制密钥,更改基础 URL。就是这么简单。
获取 API 密钥