VI ▾
Lấy khóa API

Xây dựng bot chat AI không bộ lọc bằng API

Bot chat không bộ lọc là ứng dụng chat mà mô hình trả lời các yêu cầu người lớn hợp pháp thay vì từ chối. Bạn có thể xây dựng nó trong khoảng bốn mươi dòng mã Node, hoặc không cần mã với giao diện như SillyTavern, và hướng dẫn này bao gồm cả hai cách cùng bộ nhớ, chi phí và giới hạn.

Cập nhật

Minh họa đẳng hướng của các bong bóng chat phát sáng bên cạnh khối terminal, đại diện cho việc xây dựng bot chat trên API mở

"Không bộ lọc" có thể và không thể có nghĩa là gì

Người tìm kiếm bot chat không bộ lọc thường muốn một điều: bot không ngắt cuộc hội thoại bằng cảnh báo, lời khuyên đạo đức hoặc từ chối khi chủ đề hợp pháp và người dùng là người lớn. Đó là mong muốn hợp lý cho truyện, ứng dụng bạn đời, hài hước đen, tập tranh luận và hội thoại tư vấn thẳng thắn.

Mô hình trên API này là một mô hình trọng số mở, do nhà cung cấp độc lập vận hành và tinh chỉnh để trả lời mà không từ chối nội dung cho người lớn hợp pháp. Đây không phải API chính thức của Meta, Mistral, Qwen, DeepSeek, OpenAI, xAI, Google hay Anthropic. Có một giới hạn cứng mà prompt không thay đổi: không có nội dung tình dục liên quan đến người chưa thành niên. Là người xây dựng ứng dụng, bạn cũng chịu trách nhiệm mà mô hình không thể làm thay, như kiểm tra người dùng là người lớn và tuân thủ luật pháp nơi bạn hoạt động.

Phần còn lại của hướng dẫn này coi "không bộ lọc" là lựa chọn thiết kế bạn đưa ra có chủ đích. Bot chat của bạn sẽ làm những gì prompt hệ thống và người dùng yêu cầu, nên chất lượng bot phụ thuộc chủ yếu vào prompt và mã xung quanh.

Chọn lộ trình: có mã hoặc không mã

Lộ trìnhTốt nhất choThời gian
Giao diện với endpoint tùy chỉnh (SillyTavern hoặc tương tự)Sử dụng cá nhân, chat nhân vật, thử prompt nhanh5 phút
Script nhỏ với SDK OpenAIHọc tập, bot dòng lệnh, bot Discord hoặc Telegram20 phút
Backend và giao diện web riêngSản phẩm cho người khác sử dụngMột cuối tuần hoặc hơn

Cả ba lộ trình đều cần cùng nguyên liệu: khóa, base URL và ID mô hình. Bạn lấy khóa trên trang khóa API sau khi đăng nhập bằng Google hoặc email và mật khẩu. Người dùng mới có thể nhận $0,50 tín dụng dùng thử chỉ với một cú nhấp, hợp lệ trong 7 ngày, không cần thanh toán. Nạp tiền sau đó chỉ bằng tiền mã hóa: USDT trên TRC20 hoặc USDC trên Base.

Bot chat chạy được bằng Node

Cài gói OpenAI chính thức, đặt khóa của bạn làm biến môi trường và lưu nội dung này vào bot.mjs. Phần mở rộng .mjs cho phép bạn dùng import mà không cần cấu hình thêm.

# base URL https://api.nofilterapi.com/v1, model uncensored
npm install openai
export NOFILTER_API_KEY="YOUR_API_KEY"
node bot.mjs
import OpenAI from "openai";
import readline from "node:readline/promises";
import { stdin as input, stdout as output } from "node:process";

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

const history = [
  {
    role: "system",
    content:
      "You are Dex, a blunt, funny late-night radio host. Speak plainly, " +
      "keep replies under 120 words, and never lecture. All users are adults.",
  },
];

const rl = readline.createInterface({ input, output });

while (true) {
  const text = await rl.question("you> ");
  if (text.trim() === "") break;
  history.push({ role: "user", content: text });

  const stream = await client.chat.completions.create({
    model: "uncensored",
    messages: history,
    temperature: 0.8,
    max_tokens: 400,
    stream: true,
  });

  let reply = "";
  process.stdout.write("dex> ");
  for await (const chunk of stream) {
    const piece = chunk.choices[0]?.delta?.content ?? "";
    reply += piece;
    process.stdout.write(piece);
  }
  process.stdout.write("\n");
  history.push({ role: "assistant", content: reply });
}
rl.close();

Đó là toàn bộ bot. Mảng lịch sử là bộ nhớ hội thoại, vì API không lưu trữ gì giữa các lần gọi. Mỗi lượt gửi toàn bộ mảng, nên mô hình thấy mọi thứ trước đó. Streaming hiển thị phản hồi khi nó được tạo, và số liệu sử dụng xuất hiện ở cuối luồng.

Nếu bạn muốn đặt nó sau một trang web, hãy giữ khóa trên máy chủ của bạn. Xây dựng một endpoint nhỏ nhận tin nhắn của người dùng, thêm nó vào lịch sử của người dùng đó, gọi API và trả lại câu trả lời. Một khóa được đặt trong JavaScript của trình duyệt có thể bị bất kỳ ai đọc được khi mở công cụ dành cho nhà phát triển, và tín dụng của bạn sẽ đi cùng nó. Tài liệu liệt kê mọi tham số mà endpoint chấp nhận.

Cho bot một nhân vật nhất quán

Các mô hình không bộ lọc vẫn cần định hướng. Không có nó, chúng trả lời bằng giọng trung lập, phẳng. Một prompt hệ thống tốt cho bot chat có năm phần ngắn:

  1. Bản sắc. Tên, vai trò, một hoặc hai đặc điểm xác định.
  2. Giọng điệu. Độ dài câu, từ vựng, hài hước, sự trang trọng. Đưa ra một dòng ví dụ.
  3. Giới hạn bạn chọn. Chủ đề nhân vật tránh, nếu có. Đây là quyết định sản phẩm của bạn.
  4. Định dạng. Độ dài phản hồi, có dùng danh sách không, có giữ ngôi thứ nhất không.
  5. Dữ kiện. Bất kỳ điều gì bot phải nhớ về người dùng hoặc thế giới.

Giữ nó dưới khoảng 400 từ. Prompt dài không phải là prompt mạnh hơn, và bạn trả tiền cho nó trong mọi yêu cầu vì nó là một phần của đầu vào mỗi lần. Ở mức $0,15 cho 1M token đầu vào, một prompt hệ thống 600 token tốn $0,00009 cho mỗi lần gọi, điều này nhỏ cho một cuộc trò chuyện nhưng đáng kể ở 100.000 lần gọi: $9.

Lấy mẫu cũng quan trọng. Nhiệt độ khoảng 0,7 đến 0,9 phù hợp cho hội thoại. Các tham số top_p, stop, seed và các hình phạt tần suất và hiện diện đều được chuyển tiếp đến mô hình, vì vậy bạn có thể điều chỉnh sự lặp lại mà không cần mẹo.

Lộ trình không mã với SillyTavern

SillyTavern là giao diện chat tự lưu trữ miễn phí phổ biến cho hội thoại nhân vật, và nó cho phép thêm endpoint tương thích OpenAI. Mở bảng kết nối API, chọn loại hoàn thành chat, sau đó chọn nguồn tùy chỉnh hoặc tương thích OpenAI. Nhập:

  • Endpoint hoặc base URL: https://api.nofilterapi.com/v1
  • Khóa API: khóa từ tài khoản của bạn
  • Mô hình: uncensored

Nhãn menu khác nhau giữa các phiên bản, nên dùng ba giá trị này và làm theo hướng dẫn của phiên bản bạn. Sau khi kết nối, tạo hoặc nhập nhân vật, viết nhân vật trong mô tả và bắt đầu trò chuyện. Các giao diện cộng đồng khác có tùy chọn tương tự, thường được gọi là endpoint OpenAI tùy chỉnh hoặc proxy.

Nếu bạn muốn hiểu cách dịch vụ này xử lý dữ liệu của bạn trước khi chọn lộ trình, hãy đọc No Log AI API: Lầm tưởng và sự thật. Một sự thật từ phía chúng tôi rất đơn giản: prompt không được dùng để huấn luyện.

Bộ nhớ: cửa sổ 100.000 token và cách xử lý

Cửa sổ ngữ cảnh là 100.000 token, bao gồm cả prompt và kết quả. Điều này đủ cho một cuộc hội thoại rất dài, nhưng chi phí gửi lại lịch sử tăng lên cùng với nó. Một lượt với 10.000 token lịch sử và câu trả lời 300 token tốn 10.000 x $0,15 / 1 triệu cộng 300 x $0,50 / 1 triệu, tức là $0,0015 cộng $0,00015, hay $0,00165. Tín dụng dùng thử $0,50 đủ để chi trả cho khoảng 303 lượt như vậy.

Thiết kế bộ nhớ thực tế sử dụng hai lớp. Giữ 15 đến 20 tin nhắn cuối cùng nguyên văn, và giữ một danh sách gọn các dữ kiện dài hạn trong prompt hệ thống. Bạn có thể yêu cầu mô hình duy trì danh sách đó cho bạn bằng chế độ JSON, điều này hạn chế đầu ra thành JSON hợp lệ:

curl https://api.nofilterapi.com/v1/chat/completions \
  -H "Authorization: Bearer $NOFILTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "response_format": {"type": "json_object"},
    "messages": [
      {"role": "system", "content": "Extract durable facts about the user from the chat. Reply as JSON: {\"facts\": [string]}."},
      {"role": "user", "content": "User: I work night shifts at a bakery and my cat is called Biscuit."}
    ]
  }'

Chạy điều đó mỗi 10 hoặc 20 lượt trên các tin nhắn mới nhất, hợp nhất các dữ kiện mới vào danh sách đã lưu của bạn, và đặt danh sách vào prompt hệ thống. Công việc của mô hình vẫn nhỏ, và bot của bạn dường như nhớ các cuộc hội thoại kéo dài hàng tháng.

Chi phí, giới hạn và ra mắt công khai

Giá là $0,15 cho 1M token đầu vào và $0,50 cho 1M token đầu ra, từ tín dụng trả trước không có đăng ký. Bạn có thể nạp bất kỳ số nguyên nào từ $20 đến $500, với thưởng +5% từ $50, +10% từ $100 và +15% từ $200. 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 bị tính phí. Trang giá cả có bức tranh đầy đủ.

Một bot với 200 người dùng, mỗi người gửi 30 tin nhắn một ngày, với chi phí $0,00165 mỗi lượt ở trên, tạo ra 6.000 cuộc gọi và chi khoảng $9,90 một ngày. Lịch sử ngắn hơn giảm nhanh điều đó, vì phía đầu vào chiếm ưu thế.

Khi bot phát triển, hãy tôn trọng các giới hạn. 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ượt quá giới hạn đó, API sẽ trả về HTTP 429 với mã rate_limited hoặc concurrency, và trong trường hợp quá tải tạm thời là 429 với Retry-After: 5. Các SDK OpenAI tự động thử lại các phản hồi 429, và bạn có thể tăng số lần thử với tùy chọn client maxRetries. Một phản hồi truyền phát (streaming) giữ slot độ đồng thời cho đến khi kết thúc, vì vậy hãy xếp hàng các tin nhắn đến theo mỗi khóa nếu bạn dự kiến có các đợt tăng đột biến.

Thêm giới hạn chi tiêu hàng ngày cho mỗi người dùng trong mã của riêng bạn. Nó bảo vệ tín dụng của bạn khỏi một người dùng nói nhiều hoặc một script, và nó chỉ tốn của bạn mười dòng mã.

Hỏi đáp

Việc chạy bot chat không kiểm duyệt có hợp pháp không?

Mô hình đáp ứng các yêu cầu người lớn hợp pháp mà không từ chối nội dung, nhưng bạn chịu trách nhiệm về ứng dụng của mình, người dùng của bạn và luật pháp nơi bạn hoạt động. Nội dung tình dục liên quan đến người chưa thành niên không bao giờ được phép.

Tôi có cần viết mã để sử dụng nó không?

Không. Một giao diện như SillyTavern chấp nhận một endpoint tương thích OpenAI. Nhập base URL https://api.nofilterapi.com/v1,, khóa của bạn và ID mô hình uncensored.

Tôi trả tiền cho tín dụng như thế nào?

Nạp tiền bất kỳ số nguyên nào từ $20 đến $500 bằng tiền mã hóa: USDT trên TRC20 hoặc USDC trên Base. Người dùng mới có thể dùng thử tín dụng $0,50 trước.

Lịch sử chat của tôi có được dùng để huấn luyện không?

Không. Các prompt không được dùng để huấn luyện. API không có trạng thái, vì vậy ứng dụng của bạn phải lưu trữ và gửi lại cuộc trò chuyện ở mỗi lượt.

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.