VI ▾

Bắt đầu với tín dụng dùng thử

Email và mật khẩu, khóa hiện ngay trên màn hình.

https://api.uncensoredllmhub.com/v1

Uncensored LLM Hub: Một endpoint cho chat và agent

uncensored llm hub là một API văn bản được lưu trữ, tương thích OpenAI với một mô hình và một base URL duy nhất. Trang này hướng dẫn bạn thiết lập thực tế cho một ứng dụng chat và một agent dựa trên nó.

Cập nhật

Trung tâm phát sáng được kết nối bởi các luồng ánh sáng đến cửa sổ chat, một agent và tài liệu

Điểm chính

  • Một base URL và một model ID, uncensored, hoạt động với bất kỳ SDK hoặc client OpenAI nào.
  • Truyền phát, gọi hàm và chế độ JSON được hỗ trợ, với cửa sổ ngữ cảnh 100.000 token.
  • Một khóa đầy đủ cho phép 8 yêu cầu đồng thời và 300 yêu cầu mỗi phút, vì vậy hãy lên kế hoạch cho một hàng đợi nhỏ cho các ứng dụng bận rộn.
  • Thanh toán là $0.15 cho mỗi 1M token đầu vào và $0.50 cho mỗi 1M token đầu ra từ tín dụng trả trước, và các prompt không được sử dụng để huấn luyện.

Những gì bạn nhận được từ một endpoint

Người dùng tìm kiếm uncensored llm hub khi họ muốn một mô hình trả lời mà không từ chối nội dung cho mục đích người trưởng thành hợp pháp, nhưng không muốn chạy GPU. Dịch vụ là một API HTTPS đơn giản. Bạn trỏ một client OpenAI vào https://api.uncensoredllmhub.com/v1, gửi model ID uncensored, và xác thực với Authorization: Bearer YOUR_KEY. Có hai phương thức: POST /v1/chat/completions cho các cuộc hội thoại và GET /v1/models để liệt kê.

Nó giúp làm rõ những gì nằm sau endpoint đó. Đó là một mô hình trọng số mở, do một nhà cung cấp độc lập chạy và được tinh chỉnh để bỏ qua các từ chối nội dung. Nó không phải là API chính thức của bất kỳ nhà cung cấp lớn nào, và nó không phải là bộ định tuyến chọn giữa các mô hình. Nó chỉ xử lý văn bản: không có ảnh, âm thanh, video, embeddings hoặc fine-tuning. Một quy tắc cứng duy nhất áp dụng không ngoại lệ: không có nội dung tình dục liên quan đến người chưa thành niên.

Phạm vi hẹp đó là điểm mạnh. Một endpoint ổn định duy nhất dễ dàng xây dựng xung quanh. Các phần bên dưới hiển thị một backend chat nhỏ, sau đó là vòng lặp agent, rồi các giới hạn bạn cần thiết kế.

Bước 1: kết nối một client hiện có

Vì API tuân theo định dạng OpenAI, bạn hiếm khi phải viết mã client mới. Mở SDK hoặc công cụ của bạn, thay đổi base URL và key, rồi đặt mô hình thành uncensored. Đầu tiên, bạn đăng ký trên trang khóa API (bằng Google, hoặc email và mật khẩu), sau đó nhận tín dụng dùng thử $0.50 chỉ với một cú nhấp chuột. Gói dùng thử không cần thẻ, kéo dài 7 ngày và giới hạn một lần cho mỗi người.

Một yêu cầu tối thiểu bằng Python:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.uncensoredllmhub.com/v1",
    api_key="YOUR_API_KEY",
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You are a concise assistant for a writing tool."},
        {"role": "user", "content": "Give me three opening lines for a mystery set on a ferry."},
    ],
    temperature=0.9,
    top_p=0.95,
)
print(resp.choices[0].message.content)

Các cài đặt lấy mẫu như temperature, top_p, stop, seed và các hình phạt tần suất và hiện diện được chuyển tiếp đến mô hình, vì vậy các nút điều khiển bạn quen thuộc từ các nhà cung cấp khác hoạt động giống nhau. Cuộc gọi tương tự hoạt động trong các công cụ chấp nhận endpoint tương thích OpenAI tùy chỉnh, ví dụ SillyTavern hoặc Open WebUI: dán base URL, thêm khóa, nhập model ID bằng tay.

Bước 2: truyền phát câu trả lời vào giao diện chat

Các ứng dụng chat cảm thấy chậm nếu người dùng nhìn vào một hộp trống cho đến khi câu trả lời đầy đủ xuất hiện. Streaming khắc phục điều đó. Đặt stream: true và API gửi câu trả lời dưới dạng sự kiện gửi từ máy chủ, với việc sử dụng được báo cáo ở cuối luồng. Đây là một phiên bản Node chuyển tiếp các token khi chúng đến:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.uncensoredllmhub.com/v1",
  apiKey: process.env.API_KEY,
});

export async function streamReply(history, onToken, signal) {
  const stream = await client.chat.completions.create(
    { model: "uncensored", messages: history, stream: true },
    { signal }
  );
  let text = "";
  for await (const chunk of stream) {
    const piece = chunk.choices[0]?.delta?.content ?? "";
    if (piece) {
      text += piece;
      onToken(piece);
    }
  }
  return text;
}

Hai thói quen này giúp tránh rắc rối sau này. Đầu tiên, luôn truyền một tín hiệu hủy và hủy nó khi người dùng đóng tab hoặc nhấn dừng. Một yêu cầu streaming chiếm khe đồng thời của nó cho đến khi luồng kết thúc, vì vậy các luồng bị bỏ rơi sẽ ăn vào khoản cho phép của bạn. Thứ hai, giữ nguyên toàn bộ văn bản bạn đã tổng hợp, vì bạn sẽ thêm nó vào lịch sử dưới dạng tin nhắn của trợ lý cho lượt tiếp theo.

Nếu bạn thấy các lỗi mơ hồ trong giao diện người dùng của mình trong khi streaming, ghi chú của chúng tôi về việc chẩn đoán các lỗi streaming bao gồm các nguyên nhân thường gặp, chẳng hạn như base URL sai, proxy đệm các sự kiện và hai mã 429.

Bước 3: sử dụng ngữ cảnh dài một cách có chủ đích

Cửa sổ ngữ cảnh là 100.000 token, dùng chung cho prompt và phần hoàn thành. Đối với một công cụ viết truyện, chat nhân vật hoặc trợ lý tài liệu, đó là chỗ cho lịch sử dài, prompt hệ thống lớn và tài liệu tham khảo cùng một lúc. Bạn không cần đặt max_tokens; phần hoàn thành có thể sử dụng bất kỳ phần còn lại nào.

Ngữ cảnh dài rẻ để thử với những giá này. Điền đầy cửa sổ với đầu vào tốn 0,1 × $0,15 = $0,015 cho 100.000 token đầu vào. Thêm câu trả lời 2.000 token (0,002 × $0,50 = $0,001) và một cuộc gọi gần như đầy đủ tốn $0,016. Bạn vẫn muốn quản lý cửa sổ, vì ba lý do: độ trễ tăng theo kích thước prompt, mỗi lượt gửi lại lịch sử nên chi phí tích lũy qua một phiên, và lịch sử rất dài làm loãng các hướng dẫn ở đầu.

Một chính sách đơn giản hoạt động tốt:

  1. Giữ prompt hệ thống và bất kỳ văn bản tham chiếu cố định nào ở đầu.
  2. Giữ các lượt gần đây nhất nguyên văn.
  3. Khi lịch sử vượt qua một ngưỡng bạn chọn, ví dụ 60.000 token, yêu cầu mô hình tóm tắt phần cũ nhất thành một ghi chú ngắn và thay thế các lượt đó bằng nó.
  4. Đọc usage.prompt_tokens từ mỗi phản hồi để biết kích thước của yêu cầu tiếp theo sẽ là bao nhiêu, thay vì ước tính bằng ký tự.

Bước 4: công cụ và đầu ra có cấu trúc cho agent

Agent cần hai thứ từ một mô hình: một cách để gọi hàm và đầu ra bạn có thể phân tích cú pháp. Cả hai đều được hỗ trợ. Gọi hàm sử dụng các tham số tiêu chuẩn tools và tool_choice, các cuộc gọi hàm có thể được truyền phát, và kết quả quay lại dưới dạng các tin nhắn với role: "tool". Một lượt đi đơn giản trông như thế này:

import json
from openai import OpenAI

client = OpenAI(
    base_url="https://api.uncensoredllmhub.com/v1",
    api_key="YOUR_API_KEY",
)

tools = [{
    "type": "function",
    "function": {
        "name": "lookup_order",
        "description": "Find an order by its number.",
        "parameters": {
            "type": "object",
            "properties": {"order_id": {"type": "string"}},
            "required": ["order_id"],
        },
    },
}]

messages = [{"role": "user", "content": "Where is order A-1042?"}]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
msg = first.choices[0].message

if msg.tool_calls:
    call = msg.tool_calls[0]
    args = json.loads(call.function.arguments)
    result = {"order_id": args["order_id"], "status": "shipped"}  # your real lookup goes here
    messages.append(msg)
    messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps(result)})
    final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
    print(final.choices[0].message.content)

Luôn xác thực các đối số trước khi chạy bất kỳ thứ gì có tác dụng phụ. Một mô hình có thể tạo ra một giá trị không đúng định dạng hoặc không mong đợi, và mã của bạn là dòng phòng vệ cuối cùng.

Đối với đầu ra có cấu trúc đơn giản mà không có công cụ, hãy sử dụng chế độ JSON với response_format được đặt thành {"type": "json_object"}. Mô tả hình dạng bạn muốn trong prompt, và phân tích cú pháp phản hồi bên trong một khối try để một phản hồi xấu kích hoạt việc thử lại thay vì lỗi.

curl https://api.uncensoredllmhub.com/v1/chat/completions   -H "Authorization: Bearer $API_KEY"   -H "Content-Type: application/json"   -d '{
    "model": "uncensored",
    "response_format": {"type": "json_object"},
    "messages": [
      {"role": "system", "content": "Reply with JSON: {"title": string, "tags": [string]}"},
      {"role": "user", "content": "Describe a noir story set in a rainy port city."}
    ]
  }'

Các giới hạn cần thiết kế xung quanh

Một khóa đầy đủ cho phép 8 yêu cầu đồng thời và 300 yêu cầu mỗi phút. Một khóa dùng thử cho phép 2 và 60. Thân có thể lên tới 8 MB. Mỗi phản hồi mang theo X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests và X-RateLimit-Limit-Concurrency, rất hữu ích để ghi log.

Khi bạn vượt qua một giới hạn, API trả về HTTP 429. Mã là rate_limited cho quá nhiều yêu cầu mỗi phút và concurrency cho quá nhiều cùng lúc. Quá tải tạm thời cũng trả về 429, với Retry-After: 5. Đối với một ứng dụng đa người dùng, hãy đặt một hàng đợi nhỏ phía trước API: một semaphore có kích thước dưới giới hạn đồng thời và một lần thử lại tôn trọng Retry-After. Đối với một agent phân nhánh thành các cuộc gọi công cụ song song, hãy giới hạn việc phân nhánh ở cùng một số.

Danh sách đầy đủ các tham số và định dạng lỗi có trong tài liệu API.

Chi phí, nạp tiền và xử lý dữ liệu

Giá là $0,15 cho mỗi 1 triệu token đầu vào và $0,50 cho mỗi 1 triệu token đầu ra, từ tín dụng trả trước. Không có đăng ký, tín dụng không bao giờ hết hạn, và các yêu cầu thất bại hoặc bị từ chối không được tính phí. Một lượt chat với 1.500 token đầu vào và 500 token đầu ra tốn 0,0015 × $0,15 + 0,0005 × $0,50 = $0,000225 + $0,00025 = $0,000475, vì vậy $20 tín dụng bao gồm khoảng 42.000 lượt như vậy.

Bạn có thể nạp bất kỳ khoản tiền nguyên nào từ $20 đến $500. Bonus là +5% từ $50, +10% từ $100 và +15% từ $200. Thanh toán bằng thẻ (Visa, Mastercard, Apple Pay, Google Pay) hoặc tiền mã hóa (USDT trên TRC20, USDC trên Base). Trang giá cả có bảng giá hiện tại.

Về dữ liệu: các prompt không được sử dụng để huấn luyện. Đọc chính sách bảo mật để biết toàn bộ nội dung. Bạn vẫn chịu trách nhiệm về những gì bạn xây dựng bằng mô hình, và dịch vụ này chỉ dành cho mục đích người trưởng thành hợp pháp.

Hỏi đáp

Tôi nên dùng model ID nào?

Sử dụng uncensored làm model ID trong mọi yêu cầu. Đặt base URL thành https://api.uncensoredllmhub.com/v1 và gửi khóa của bạn dưới dạng Bearer token.

Nó có hoạt động với mã OpenAI hiện tại của bạn không?

Có. Bất kỳ SDK hoặc client OpenAI nào cũng hoạt động sau khi bạn thay đổi base URL và khóa. Chat completions, streaming, gọi hàm và chế độ JSON đều được hỗ trợ.

Dịch vụ có thể tạo ảnh hay embedding không?

Không. Đây là API chỉ xử lý văn bản, không có tạo ảnh, âm thanh hoặc video, không có embeddings và không có fine-tuning.

Cuộc hội thoại có thể lớn đến mức nào?

Cửa sổ ngữ cảnh là 100.000 token, dùng chung cho prompt và câu trả lời. Thân yêu cầu có thể lên tới 8 MB.

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ộ thiết lập.

Lấy khóa API

https://api.uncensoredllmhub.com/v1