API Ollama: Chuyển đổi client của bạn trong ba dòng
Bắt đầu sử dụng API chat không kiểm duyệt, tương thích OpenAI của chúng tôi trong vài phút. Chuyển đổi cấu hình client của bạn sang một mô hình duy nhất với cửa sổ ngữ cảnh 100k và bắt đầu tạo nội dung ngay lập tức.
- URL gốc
https://api.ollamaapi.com/v1- Mô hình
uncensored
Yêu cầu tiên quyết và URL cơ sở
Để sử dụng API LLM không kiểm duyệt này, bạn cần một tài khoản có khóa API và đã cài đặt SDK tương thích OpenAI trong môi trường của bạn. URL cơ sở cho tất cả các yêu cầu là https://api.ollamaapi.com/v1. Endpoint này được thiết kế để thay thế trực tiếp cho các máy khách OpenAI hiện có, nghĩa là bạn chỉ cần cập nhật URL cơ sở và khóa API trong cấu hình của mình. API hỗ trợ hoàn thành văn bản đầu vào/đầu ra với truyền phát (streaming) qua Server-Sent Events (SSE) và gọi hàm. API không hỗ trợ embedding, tạo ảnh hoặc tinh chỉnh. Hãy đảm bảo phiên bản SDK của bạn hỗ trợ các tính năng này để có trải nghiệm tốt nhất. Bạn sẽ sử dụng ID mô hình uncensored cho tất cả các lần hoàn thành.
Xác thực và yêu cầu đầu tiên
Xác thực được xử lý qua mã thông báo Bearer trong tiêu đề Authorization. Đăng ký trên trang web để nhận khóa của bạn ngay lập tức; không cần thẻ tín dụng cho bản dùng thử. Sử dụng lệnh cURL sau để gửi tin nhắn đầu tiên của bạn. Thay thế YOUR_API_KEY bằng khóa thực tế của bạn. Yêu cầu nhắm vào endpoint hoàn thành hội thoại tiêu chuẩn. Nếu thành công, bạn sẽ nhận được phản hồi văn bản từ mô hình không kiểm duyệt. Hãy đảm bảo bạn đặt trường model thành uncensored để sử dụng mô hình ngôn ngữ lớn cụ thể được lưu trữ trên các máy chủ GPU của chúng tôi.
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."}]
}'
Hãy nhớ rằng các prompt không được sử dụng để huấn luyện dữ liệu của bạn. API áp dụng giới hạn cứng đối với nội dung tình dục liên quan đến người chưa thành niên, nhưng nói chung cho phép các chủ đề người trưởng thành hợp pháp và gây tranh cãi mà không từ chối.
Tích hợp SDK Python
Sử dụng SDK Python chính thức của OpenAI là cách đơn giản nhất để tích hợp. Cài đặt thư viện qua pip, sau đó khởi tạo máy khách với URL cơ sở tùy chỉnh và khóa API của bạn. Cấu hình này cho phép bạn sử dụng cùng mã máy khách mà bạn có thể dùng cho GPT-4, nhưng được định hướng vào mô hình không kiểm duyệt của chúng tôi. Mã dưới đây minh họa một yêu cầu hoàn thành hội thoại đơn giản. Bạn có thể điều chỉnh các tham số max_tokens và temperature khi cần. Đối tượng phản hồi sẽ chứa văn bản được tạo trong 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)
Cách tiếp cận này hoạt động vì API của chúng tôi hoàn toàn tương thích với OpenAI. Bạn không cần thư viện client riêng biệt cụ thể cho dịch vụ của chúng tôi.
Cài đặt SDK Node.js
Đối với các dự án JavaScript hoặc TypeScript, SDK Node.js của OpenAI hoạt động liền mạch với endpoint của chúng tôi. Cài đặt gói và cấu hình client với baseURL trỏ đến miền của chúng tôi. Truyền khóa API của bạn trong trường apiKey. Cấu trúc yêu cầu giống hệt định dạng OpenAI. Điều này cho phép bạn đưa API của chúng tôi vào các ứng dụng Node.js hiện có mà không cần tái cấu trúc đáng kể. ID mô hình vẫn là uncensored. Bạn có thể quản lý khóa API của mình qua bảng điều khiển nếu bạn cần tạo lại nó.
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);
Đảm bảo các biến môi trường của bạn được đặt chính xác để tránh làm lộ khóa của bạn trong kiểm soát nguồn. Khóa API được hiển thị ngay lập tức khi đăng ký.
Phản hồi truyền phát
Đối với các ứng dụng yêu cầu tạo token theo thời gian thực, API hỗ trợ Sự kiện gửi qua máy chủ (SSE). Đặt tham số stream thành true trong yêu cầu của bạn. Máy chủ sẽ gửi một loạt các chunk, mỗi chunk chứa một phần delta của phản hồi. Điều này lý tưởng cho các giao diện chat nơi bạn muốn hiển thị văn bản khi nó được tạo. Hành vi truyền phát giống hệt với API truyền phát OpenAI, vì vậy logic truyền phát hiện có nên hoạt động với những thay đổi tối thiểu. Xử lý luồng cho đến khi chunk cuối cùng cho biết phản hồi đã hoàn tất.
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)
Truyền phát không ảnh hưởng đến giá token hoặc giới hạn cửa sổ ngữ cảnh.
Giới hạn, lỗi và ngữ cảnh
API có cửa sổ ngữ cảnh 100.000 token, kết hợp prompt và hoàn thành. Điều này cho phép xử lý tài liệu chuyên sâu hoặc các cuộc hội thoại dài. Giới hạn tốc độ được đặt ở mức 300 yêu cầu mỗi phút trên mỗi khóa. Nếu bạn vượt quá giới hạn này, bạn sẽ nhận được lỗi 429. Lỗi xác thực trả về trạng thái 401, thường do khóa không hợp lệ hoặc đã bị thu hồi. Không đủ tiền dẫn đến lỗi 402. Thân yêu cầu được giới hạn ở 8 MB. Không có gói đăng ký; bạn trả tiền theo mức sử dụng với tín dụng trả trước không bao giờ hết hạn. Bạn có thể nạp tiền bắt đầu từ 20 USD. Tín dụng không bao giờ hết hạn, vì vậy bạn có thể tạm dừng sử dụng vô thời hạn mà không mất số dư.
Hỏi đáp
API này có hỗ trợ tạo ảnh hoặc âm thanh không?
Không, API này chỉ dành cho hoàn thiện văn bản. Nó không hỗ trợ embedding, tạo ảnh, âm thanh hoặc video. Nó tập trung vào một mô hình ngôn ngữ lớn không kiểm duyệt duy nhất cho tương tác văn bản sang văn bản.
Cơ chế giá cả hoạt động như thế nào?
Giá cả theo hình thức trả tiền theo mức sử dụng với tín dụng trả trước không bao giờ hết hạn. Token đầu vào giá $0,15 cho mỗi triệu token, và token đầu ra giá $0,50 cho mỗi triệu token. Bạn có thể nạp tiền bằng tiền điện tử (USDT hoặc USDC), và tín dụng thưởng có sẵn cho các khoản gửi lớn.
Dữ liệu của tôi có được dùng để huấn luyện không?
Không, các prompt gửi đến API không được dùng để huấn luyện. Dịch vụ được thiết kế cho quyền riêng tư, chỉ yêu cầu email và mật khẩu để tạo tài khoản.
Khóa của bạn chỉ cách một biểu mẫu
Tạo tài khoản, sao chép khóa, thay đổi URL cơ sở. Đó là toàn bộ quá trình thiết lập.
Thông số kỹ thuật
Toàn bộ giới hạn và tính năng thực tế của API ở một nơi — hãy kiểm tra trước khi nạp tiền.
| Mục | Giá trị |
|---|---|
| Định dạng | tương thích OpenAI: mọi SDK OpenAI đều chạy được, chỉ cần đổi base URL và khóa |
| Xác thực | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.ollamaapi.com/v1 |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| ID mô hình | uncensored |
| Tham số | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Cửa sổ ngữ cảnh | 100.000 token (đầu vào + đầu ra) |
| Streaming | có — server-sent events; phần cuối chứa lượng token đã dùng |
| Đầu ra tối đa | tối đa phần còn lại của cửa sổ 100.000 token; max_tokens tùy chọn (không giới hạn riêng) |
| Chế độ JSON | response_format: {"type": "json_object"} |
| Gọi hàm | có — tools, tool_choice; phản hồi có tool_calls, kể cả khi streaming; kết quả gửi lại bằng role: tool |
| Giới hạn tốc độ | 300 yêu cầu mỗi phút cho mỗi khóa |
| Kích thước yêu cầu | tối đa 8 MB |
| Header phản hồi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Yêu cầu đồng thời | tối đa 8 cùng lúc cho mỗi khóa |
| Dùng thử miễn phí | $0,50 trong 7 ngày, không cần thẻ · Khóa dùng thử: 2 yêu cầu song song, 60 yêu cầu/phút; hạn mức đầy đủ (8 và 300) sau lần nạp đầu |
| Thưởng | +5% từ $50, +10% từ $100, +15% từ $200 |
| Giá | $0,15 cho 1 triệu token đầu vào · $0,50 cho 1 triệu token đầu ra |
| Tính phí | tín dụng trả trước theo mức dùng thực tế; lỗi và từ chối miễn phí |
| Thời hạn | tín dụng đã trả không hết hạn, không đăng ký định kỳ |
| Nạp tiền | USDT (TRC20) hoặc USDC (Base), số tiền nguyên bất kỳ từ $20 đến $500 |
| Nội dung | cho phép nội dung người lớn; từ chối nội dung tình dục liên quan đến trẻ vị thành niên |
| Khóa | mỗi tài khoản một khóa đang hoạt động; khóa mới thay thế khóa cũ |
| Đăng nhập | Google hoặc email và mật khẩu |
Mã lỗi
Lỗi trả về dạng JSON với type cố định; yêu cầu lỗi hoặc bị từ chối không bị tính phí.
| Mã | Loại | Ý nghĩa |
|---|---|---|
400 | bad_request | JSON sai, tin nhắn trống, tham số sai hoặc vượt cửa sổ ngữ cảnh |
401 | missing_key · invalid_key · key_revoked | thiếu khóa, sai khóa hoặc khóa đã bị thay |
402 | no_credit | hết tín dụng — nạp tiền là dùng tiếp ngay |
403 | content_blocked | nội dung tình dục liên quan trẻ vị thành niên — từ chối, không tính phí |
404 | not_found | endpoint không tồn tại |
413 | request_too_large | nội dung lớn hơn 8 MB |
429 | rate_limited · concurrency | vượt 300/phút hoặc 8 đồng thời — chờ rồi thử lại |
503 | upstream_busy | mô hình đang bận — thử lại sau vài giây |