Ollama API:三行代码切换客户端
几分钟即可开始使用我们兼容 OpenAI 的无审查聊天 API。将客户端配置切换至具有 100k 上下文窗口的单一模型,即可立即开始生成内容。
- Base URL
https://api.ollamaapi.com/v1- 模型
uncensored
前置条件和基础 URL
要使用此无审查 LLM API,你需要一个带有 API 密钥的账户,并在环境中安装兼容 OpenAI 的 SDK。所有请求的基础 URL 为 https://api.ollamaapi.com/v1。该接口旨在作为现有 OpenAI 客户端的即插即用替代品,这意味着你只需在配置中更新基础 URL 和 API 密钥即可。API 支持通过服务器发送事件 (SSE) 进行文本输入、文本输出的流式补全以及函数调用。它不支持嵌入、图像生成或微调。请确保你的 SDK 版本支持这些功能以获得最佳体验。所有补全请求将使用模型 ID uncensored。
认证与首次请求
认证通过 Authorization 头中的 Bearer token 处理。在网站上注册即可立即获取密钥;试用无需信用卡。使用以下 cURL 命令发送第一条消息。将 YOUR_API_KEY 替换为你的实际密钥。请求目标是标准的 chat completions 接口。如果成功,你将收到来自无审查模型的文本回答。请确保将 model 字段设置为 uncensored 以使用特定的大型语言模型。
curl https://api.ollamaapi.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."}]
}'
请记住,提示词不会用于训练你的数据。API 对涉及未成年人的性内容设有硬性限制,但除此之外,允许合法成人内容和争议性话题,不会拒绝。
Python SDK 集成
使用官方 OpenAI Python SDK 是最直接的方式。通过 pip 安装库,然后使用自定义基础 URL 和 API 密钥初始化客户端。此设置允许你使用可能用于 GPT-4 的相同客户端代码,但指向我们的无审查模型。以下代码演示了一个简单的聊天补全请求。你可以根据需要调整 max_tokens 和 temperature 参数。响应对象将在 response.choices[0].message.content 中包含生成的文本。
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaapi.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)
这种方法有效是因为我们的 API 完全兼容 OpenAI。你不需要为服务单独安装客户端库。
Node.js SDK 设置
对于 JavaScript 或 TypeScript 项目,OpenAI Node SDK 可与我们的接口无缝配合。安装该包并使用指向我们域名的 baseURL 配置客户端。在 apiKey 字段中传入你的 API 密钥。请求结构与 OpenAI 格式完全一致。这允许你将我们的 API 即插即用式地放入现有的 Node.js 应用中,而无需大量重构。模型 ID 仍为 uncensored。如果需要重新生成密钥,可通过仪表板管理你的 API 密钥。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ollamaapi.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 密钥。
流式响应
对于需要实时 token 生成的应用,API 支持服务器发送事件 (SSE)。在请求中将 stream 参数设置为 true。服务器将发送一系列数据块,每个数据块包含响应的部分增量。这对于希望在生成时显示文本的聊天界面非常理想。流式行为与 OpenAI 流式 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)
流式输出不影响 token 定价或上下文窗口限制。
限制、错误与上下文
API 具有 100,000 token 的上下文窗口,结合提示词和补全。这允许进行广泛的文档处理或长对话。速率限制设置为每个密钥每分钟 300 个请求。如果超过此限制,你将收到 429 错误。认证错误返回 401 状态,通常是由于密钥无效或已撤销。资金不足会导致 402 错误。请求体限制为 8 MB。没有订阅;你按使用量付费,使用预付额度,且永不过期。你可以从 $10 开始充值。额度不会过期,因此你可以无限期暂停使用而不会丢失余额。
问答
此 API 支持图像或音频生成吗?
不支持,此 API 专用于文本补全。它不支持嵌入、图像生成、音频或视频。它专注于单一无审查大型语言模型,用于文本到文本的交互。
定价机制是怎样的?
定价采用按量付费模式,预付额度永不失效。输入 token 每百万个 0.15 美元,输出 token 每百万个 0.50 美元。你可以使用加密货币(USDT 或 USDC)充值,大额存款可获得额外额度。
我的数据用于训练吗?
不,发送到 API 的提示词不用于训练。该服务专为隐私设计,注册账户仅需邮箱和密码。
技术规格
所有限制、功能与价格一览。
| 项目 | 说明 |
|---|---|
| 接口格式 | 兼容 OpenAI:任何 OpenAI SDK 或客户端只需更换 base URL 和密钥 |
| 认证 | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.ollamaapi.com/v1 |
| 接口 | POST /v1/chat/completions · GET /v1/models |
| 模型 ID | uncensored |
| 采样参数 | temperature、top_p、stop、seed、presence_penalty、frequency_penalty |
| 上下文窗口 | 100,000 tokens(输入与输出合计) |
| 流式输出 | 支持 SSE,最后一块包含 token 用量 |
| 最大输出 | 不单独限制输出;提示+回复共 100,000 个 token 窗口内,max_tokens 可选 |
| JSON 模式 | response_format: {"type": "json_object"} |
| 函数调用 | 支持 tools、tool_choice;回复包含 tool_calls(流式同样支持),结果以 role: tool 消息返回 |
| 速率限制 | 每个密钥每分钟 300 次请求 |
| 请求大小 | 每次请求不超过 8 MB |
| 响应头 | X-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency |
| 并发 | 每个密钥同时最多 8 个请求 |
| 免费试用 | $0.50,有效期 7 天,无需银行卡 · 试用密钥:2 个并发请求,每分钟 60 次;首次充值后恢复完整限额(8 和 300) |
| 赠送额度 | 满 $50 送 5%,满 $100 送 10%,满 $200 送 15% |
| 价格 | 输入 $0.15 / 百万 tokens · 输出 $0.50 / 百万 tokens |
| 计费 | 预付额度,按实际 token 用量扣费;错误和拒绝不收费 |
| 额度有效期 | 付费额度永不过期,无订阅 |
| 充值 | USDT(TRC20)或 USDC(Base),$20–$500 任意整数金额 |
| 内容政策 | 允许成人内容;涉及未成年人的性内容一律拒绝 |
| 密钥 | 每个账户一个有效密钥;生成新密钥后旧密钥失效 |
| 登录 | Google 或邮箱 + 密码 |
错误代码
错误以 JSON 返回,type 字段固定;失败或被拒绝的请求不计费。
| 状态码 | 类型 | 含义 |
|---|---|---|
400 | bad_request | JSON 无效、消息为空、参数错误或超出上下文窗口 |
401 | missing_key · invalid_key · key_revoked | 缺少密钥、密钥错误或已被新密钥替换 |
402 | no_credit | 余额不足——充值后立即恢复 |
403 | content_blocked | 涉及未成年人的性内容——拒绝且不计费 |
404 | not_found | 未知接口 |
413 | request_too_large | 请求体超过 8 MB |
429 | rate_limited · concurrency | 超过每分钟 300 次或 8 个并发——稍后重试 |
503 | upstream_busy | 模型繁忙——几秒后重试 |