中文 ▾
获取 API 密钥

NsfwLocal开发者文档

API 文档

几分钟内即可开始使用无审查 LLM API。使用标准的 OpenAI 兼容工具发送文本请求并接收直接、无过滤的响应。

快速入门您的第一个请求

通过将客户端指向我们的基础 URL 并使用生成的 API 密钥进行认证,立即开始生成文本。界面遵循标准约定,因此您可以使用现有 SDK,无需学习新协议。您将提示发送到 uncensored 模型并接收文本响应,不对合法成人用途应用典型的内容过滤器。

配置 base URL 和密钥

设置环境变量以将请求路由到我们的特定端点。用注册期间生成的密钥替换占位符密钥。这确保所有后续调用使用正确的 uncensored 模型实例。

  • 基础 URL: https://api.nsfwlocalllm.com/v1
  • Auth 标头: Authorization: Bearer YOUR_API_KEY

您可以通过检查 models 端点来验证您的密钥是否有效。有效的密钥会立即返回可用的模型 ID。

发送聊天完成请求

发送标准聊天补全负载以生成文本。系统处理您的输入并返回模型的回复。使用 uncensored 模型 ID 以确保您访问的是无过滤实例。

响应包含生成的文本和令牌使用统计信息。你可以将其直接解析到你的应用程序逻辑中。

curl https://api.nsfwlocalllm.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Send me the server uptime stats"}]
  }'

检查标准 HTTP 状态码以处理成功或失败情况。

启用流式传输以实现实时输出

流式响应以降低用户的感知延迟。通过设置启用流式传输 stream: true 在您的请求正文中。API 返回一系列包含部分 Token 的服务器发送事件 (SSE)。

在客户端聚合这些 token 以重构完整消息。这种方法非常适合需要即时反馈的聊天界面。最后一个 SSE 事件包含请求的总 token 使用量。

from openai import OpenAI

client = OpenAI(base_url="https://api.nsfwlocalllm.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 模式进行结构化数据

强制模型输出有效的 JSON 以供程序化消费。设置 response_format 到 {"type": "json_object"} 在你的请求中。这减少了解析错误并确保一致的数据结构。

用于生成结构化提示、提取实体或构建动态内容。模型遵循系统指令中提供的格式约束。这对于与其他服务的可靠集成至关重要。

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nsfwlocalllm.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);

在您的端验证输出 JSON 以捕获任何边缘情况。

实现函数调用

定义工具以扩展模型的能力。传递 tools 包含函数定义的数组到请求中。模型可以根据上下文选择调用这些函数。

这启发了复杂的工作流程,其中 LLM 决定何时获取数据或执行操作。您在回复中接收函数参数并在您的端执行它们。将结果传回模型以进行进一步推理。

设置 tool_choice 到 auto 用于灵活的决策。此功能支持需要外部数据访问的高级角色扮演场景。

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,涵盖 prompt 和 completion。这允许进行长对话和处理大型文档,而不会丢失上下文。

如果信用额度耗尽怎么办?

当您的预付费余额不足时,请求将返回 402 状态码。您可以通过加密货币充值以立即恢复服务。速率限制等错误不消耗余额。

如何处理速率限制?

API 限制每个密钥每分钟 300 次请求。如果超出此限制,你将收到 429 状态码。在客户端实现指数退避,以有效处理这些延迟。

即时检索您的 API 密钥

注册,复制令牌,更新基础 URL。配置完成。

获取 API 密钥