VI ▾
Lấy khóa API

Hướng dẫn thiết lập API cho mô hình LLM Abliterated tốt nhất cho nhập vai

Các mô hình Abliterated là mô hình ngôn ngữ lớn nơi các cơ chế thực hiện từ chối an toàn đã được loại bỏ, cho phép mô hình trả lời các câu hỏi gây tranh cãi, người lớn hoặc chuyên biệt mà không bị chặn bởi bộ lọc nội dung. Cách tiếp cận này mang lại cho nhà phát triển quyền kiểm soát hoàn toàn giọng điệu và ngưỡng cắt kiến thức của mô hình, điều này đặc biệt có giá trị cho lập trình, nhập vai và viết sáng tạo nơi các hàng rào bảo vệ tiêu chuẩn có thể chặn đầu ra hữu ích.

Sân khấu với mặt nạ và bong bóng chat phát sáng liên kết với một terminal mã, đại diện cho roleplay thông qua một API

Điểm chính

  • Roleplay bị phá vỡ khi một mô hình từ chối hoặc giảng bài giữa cảnh, vì vậy hành vi từ chối quan trọng hơn điểm số benchmark thô.
  • Cửa sổ 100.000 token chứa thẻ nhân vật dài cùng lịch sử chat kéo dài nhiều giờ.
  • SillyTavern kết nối thông qua nguồn tùy chỉnh tương thích OpenAI với base URL, khóa và model ID uncensored.
  • Một phiên 50 lượt với prompt trung bình 6.000 token tốn khoảng $0,05.

Điều gì khiến một mô hình giỏi nhập vai

Roleplay là một bài kiểm tra khó cho một mô hình ngôn ngữ. Nó phải duy trì một giọng điệu cho hàng trăm tin nhắn, nhớ lại những gì đã xảy ra ba cảnh trước, giữ đúng nhân vật khi câu chuyện chuyển hướng tối tăm, và không bao giờ bước ra ngoài để giải thích chính nó. Một mô hình trợ lý tiêu chuẩn thường thất bại nhất ở điểm cuối cùng này. Nó viết một đoạn văn tốt, sau đó thêm một lời tuyên bố miễn trừ hoặc từ chối một diễn biến cốt truyện vốn là hư cấu rõ ràng.

Một mô hình đã loại bỏ kiểm duyệt hoặc không kiểm duyệt được tinh chỉnh để loại bỏ các hành vi từ chối đó. Điều đó giúp ích, nhưng đó chỉ là một trong năm đặc điểm đáng kiểm tra trước khi bạn cam kết với nhà cung cấp:

  • Hành vi từ chối. Mô hình có tuân theo hội thoại của một nhân vật phản diện hoặc một cảnh có nhiều sắc thái đạo đức mà không bình luận không?
  • Độ dài ngữ cảnh. Thẻ nhân vật, ghi chú thế giới và lịch sử chat có vừa trong một yêu cầu không?
  • Sự nhất quán. Một nhân vật có giữ cùng thói quen nói chuyện xuyên suốt một phiên dài không?
  • Kiểm soát lấy mẫu. Bạn có thể thay đổi temperature, top_p, penalties và các chuỗi dừng không?
  • Truyền phát. Văn bản có xuất hiện từng token một, để một câu trả lời giống như một cuộc hội thoại không?

Không ai có thể trung thực chỉ ra một người chiến thắng duy nhất cho mọi phong cách truyện. Sở thích rất quan trọng, và hai nhà văn sẽ xếp hạng cùng một mô hình khác nhau. Câu trả lời thực tế là chạy các cảnh của bạn thông qua một mô hình ứng viên và tự đánh giá kết quả đầu ra.

API này mang lại cho bạn gì cho nhập vai

Dịch vụ chạy một mô hình trọng số mở, được lưu trữ bởi nhà cung cấp độc lập và tinh chỉ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. Model ID là uncensored. Không có chuyển tuyến giữa các nhà cung cấp, vì vậy giọng bạn đã thử vào thứ Hai chính là giọng bạn nhận được vào thứ Sáu.

Nhu cầu nhập vaiNhững gì bạn nhận được
Bộ nhớ dài100.000 token ngữ cảnh, prompt cộng với completion
Hiệu ứng gõ trực tiếpTruyền phát qua SSE với stream: true
Kiểm soát phong cáchtemperature, top_p, stop, seed và cả penalties đều được chuyển tiếp
Hỗ trợ clientTương thích với OpenAI, vì vậy SillyTavern và các công cụ tương tự hoạt động với một thay đổi URL
Quyền riêng tưCác prompt không được sử dụng để huấn luyện

Một giới hạn cứng áp dụng và không thể thương lượng: không có nội dung tình dục liên quan đến người chưa thành niên. Hãy giữ các nhân vật và kịch bản của bạn ở phía đúng của đường đó và trong phạm vi sử dụng hợp pháp cho người trưởng thành. Chi tiết của dòng mô hình có trên trang mô hình abliterated.

Kết nối SillyTavern trong năm bước

SillyTavern có thể giao tiếp với bất kỳ endpoint tương thích OpenAI nào. Nhãn menu thay đổi một chút giữa các phiên bản, nhưng luồng hoạt động thì giống nhau.

  1. Tạo tài khoản và nhận khóa của bạn trên trang khóa API. 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 chuột, có hiệu lực trong 7 ngày, không cần thẻ.
  2. Trong SillyTavern, mở biểu tượng phích cắm (API Connections) và đặt loại API thành Chat Completion.
  3. Chọn nguồn Custom (OpenAI-compatible).
  4. Nhập https://api.abliterated.cc/v1 làm URL endpoint và dán khóa của bạn vào trường khóa API.
  5. Gõ uncensored làm model ID, sau đó nhấn Connect. Trạng thái màu xanh lá có nghĩa là yêu cầu đến /v1/models đã thành công.

Nếu kết nối thất bại, hãy kiểm tra URL trước. URL phải kết thúc bằng /v1 mà không có đường dẫn đuôi và không có thêm /chat/completions. Client tự thêm phần đó.

Cài đặt bắt đầu được đề xuất

Temperature từ 0,8 đến 1,0 mang lại văn phong sống động. Hãy giữ top_p gần 0,9. Thêm một frequency penalty nhỏ, khoảng 0,2, nếu các phản hồi bắt đầu lặp lại cùng một cụm từ. Đặt kích thước ngữ cảnh gần với cửa sổ thực tế, nhưng hãy dành chỗ cho phản hồi. Sau đó điều chỉnh theo cảm giác sau vài cảnh.

Xây dựng vòng lặp nhập vai riêng bằng Python

Nếu bạn viết giao diện người dùng riêng hoặc bot Discord, SDK OpenAI là đủ. Script này giữ toàn bộ lịch sử, truyền phát phản hồi và ngăn mô hình viết các dòng của bạn.

from openai import OpenAI

client = OpenAI(
    base_url="https://api.abliterated.cc/v1",
    api_key="YOUR_KEY",
)

system = (
    "You are Mara, a smuggler captain in a sea-faring fantasy setting. "
    "Write in third person, past tense, two short paragraphs per reply. "
    "Never write the actions or words of the player character."
)
history = [{"role": "system", "content": system}]

while True:
    user = input("> ")
    history.append({"role": "user", "content": user})

    stream = client.chat.completions.create(
        model="uncensored",
        messages=history,
        temperature=0.9,
        top_p=0.9,
        frequency_penalty=0.2,
        stop=["\nPlayer:"],
        stream=True,
    )
    reply = ""
    for chunk in stream:
        if chunk.choices and chunk.choices[0].delta.content:
            piece = chunk.choices[0].delta.content
            reply += piece
            print(piece, end="", flush=True)
    print()
    history.append({"role": "assistant", "content": reply})

Cuộc gọi tương tự cũng hoạt động từ Node, curl hoặc bất kỳ client OpenAI nào khác. Chỉ có base URL, khóa và model ID thay đổi. hướng dẫn bắt đầu nhanh trong tài liệu hiển thị từng biến thể.

Viết thẻ nhân vật mà mô hình có thể tuân theo

Hầu hết các vấn đề chất lượng nhập vai là vấn đề về prompt. Một thẻ mơ hồ tạo ra một nhân vật mơ hồ. Một thẻ tốt vừa trong 300 đến 600 token và bao gồm bốn điều: nhân vật là ai, họ nói chuyện như thế nào, họ muốn gì ngay bây giờ, và họ không bao giờ được làm gì.

Cụ thể thắng thơ mộng. So sánh "Mara bí ẩn và nguy hiểm" với "Mara trả lời câu hỏi bằng câu hỏi, không bao giờ đưa tên thật cho người lạ, và luôn giữ một tay gần dao khi ai đó đứng sau cô ấy." Dòng thứ hai cung cấp cho mô hình hành vi mà nó có thể tái tạo trong mọi lượt.

  • Mẫu giọng. Thêm hai hoặc ba dòng hội thoại ví dụ. Mô hình bắt chước nhịp điệu và từ vựng từ ví dụ đáng tin cậy hơn là từ tính từ.
  • Quy tắc định dạng. Xác định ngôi kể, thì, độ dài và việc dùng dấu hoa thị cho hành động. Mô hình dễ lệch định dạng nếu không được chỉ rõ một lần.
  • Trạng thái cảnh. Đặt địa điểm, thời gian hiện tại và các tuyến truyện còn bỏ ngỏ ở cuối prompt, nơi thông tin mới có sức ảnh hưởng mạnh nhất.
  • Rào cản. Nếu câu chuyện chỉ có người lớn, hãy ghi rõ trong thẻ nhân vật. Một dòng như "tất cả nhân vật đều là người lớn" giúp bối cảnh rõ ràng cho bạn và cho bất kỳ ai đọc nhật ký.

Khắc phục nhân vật phẳng, lặp lại hoặc áp đặt

Đây là những vấn đề thường xuất hiện sau giờ đầu tiên, với các cách khắc phục thông thường.

Nhân vật lặp lại chính mình

Các cụm từ xuất hiện lại sau mỗi vài lượt trả lời. Hãy tăng frequency_penalty lên 0,3 và presence_penalty lên 0,1, tăng nhiệt độ lên 0,1, và kiểm tra xem phần tóm tắt hoặc đoạn hội thoại mẫu của bạn có chứa cụm từ đó không. Mô hình sao chép những gì nó thấy.

Lời trả lời ngày càng dài

Lời trả lời dài dạy cho mô hình rằng lời trả lời dài là điều bình thường. Hãy cắt bớt một vài lời trả lời khỏi lịch sử, nêu lại quy tắc về độ dài, và đặt max_tokens thành giới hạn tối đa mà bạn chấp nhận. Trường này là tùy chọn, nên nó chỉ hoạt động như một giới hạn khi bạn đặt nó.

Mô hình quyết định hành động của nhân vật bạn

Thêm một quy tắc cứng trong thông báo hệ thống và một chuỗi dừng trên tiền tố tên nhân vật của bạn, như trong script ở trên. Nếu bạn sử dụng giao diện người dùng, hãy kiểm tra xem nó có định dạng lịch sử với các thẻ tên giống nhau không.

Câu chuyện bị đình trệ

Đặt cho nhân vật một mục tiêu và một khung thời gian. "Cô ấy cần bản đồ trước khi thủy triều rút" sẽ tạo ra chuyển động. Một nhân vật không có gì để khao khát sẽ chờ bạn hành động, và cảnh phim sẽ trở nên trì trệ.

Giữ cho câu chuyện dài mạch lạc

Cửa sổ ngữ cảnh 100.000 token là rất lớn, nhưng một chiến dịch kéo dài nhiều tháng sẽ vượt quá nó. Hãy lên kế hoạch cho điều đó sớm.

  • Ghim các yếu tố thiết yếu. Giữ thẻ nhân vật và mục tiêu cảnh hiện tại ở đầu thông báo hệ thống, nơi chúng không bao giờ bị cắt bỏ.
  • Tóm tắt các lượt cũ. Cứ sau 30 hoặc 40 tin nhắn, hãy yêu cầu mô hình tóm tắt phần cũ nhất của cuộc trò chuyện thành một bản tóm tắt ngắn, sau đó thay thế những tin nhắn đó bằng bản tóm tắt.
  • Sử dụng danh sách lore. Lưu trữ tên, địa điểm và lời hứa trong một khối ngắn mà bạn làm mới mỗi lượt. Mô hình quên một chi tiết nhỏ từ 80 tin nhắn trước thường xuyên hơn một sự kiện được nêu trong prompt gần đây nhất.
  • Sử dụng seed trong khi gỡ lỗi. Khi bạn tinh chỉnh một prompt, một seed cố định giúp việc so sánh công bằng hơn.

Lỗi phổ biến: mô hình nói thay nhân vật của bạn. Hãy khắc phục nó trong prompt hệ thống bằng một quy tắc trực tiếp và hỗ trợ bằng một chuỗi dừng như ở trên. Một lỗi khác: mọi lời trả lời đều mở đầu theo cùng một cách. Hãy tăng nhiệt độ một chút và thêm frequency penalty.

Chi phí cho một phiên

Giá là $0,15 cho mỗi 1M token đầu vào và $0,50 cho mỗi 1M token đầu ra, thanh toán từ tín dụng trả trước. Nhập vai là loại nặng về đầu vào vì toàn bộ lịch sử được gửi đi mỗi lượt, nên phía đầu vào chiếm ưu thế.

Hãy thực hiện một phiên 50 lượt. Prompt trung bình là 6.000 token (thẻ nhân vật cộng với lịch sử) và mỗi lời trả lời dài khoảng 250 token.

  • Đầu vào: 50 x 6.000 = 300.000 token, tương đương 0,3 x $0,15 = $0,045
  • Đầu ra: 50 x 250 = 12.500 token, tương đương 0,0125 x $0,50 = $0,00625
  • Tổng cộng: $0,05125, khoảng năm xu

Một lần nạp $20 bao phủ khoảng 390 phiên có kích thước đó. Các lần nạp có giá trị từ $20 đến $500 theo số nguyên, với tiền 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 sẽ không bị tính phí. Bạn có thể thanh toán bằng tiền mã hóa (USDT trên TRC20, USDC trên Base). Các con số đầy đủ có trên trang giá cả.

Hỏi đáp

Có một mô hình LLM đã được loại bỏ kiểm duyệt tốt nhất cho việc nhập vai không?

Không. Sở thích khác nhau tùy theo thể loại và phong cách viết. Hãy thử nghiệm một ứng viên với các cảnh của riêng bạn, sử dụng tín dụng dùng thử $0,50, trước khi bạn quyết định.

Tôi có thể sử dụng nó với SillyTavern không?

Có. Hãy chọn Chat Completion, sau đó chọn nguồn Tùy chỉnh (tương thích OpenAI), nhập base URL và khóa của bạn, và đặt model ID thành uncensored.

Nó có cho phép bất kỳ nội dung nào không?

Nó được tinh chỉnh để trả lời mà không có từ chối nội dung cho mục đích người lớn hợp pháp. 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ó thể gửi bao nhiêu lịch sử?

Cửa sổ ngữ cảnh là 100.000 token, được chia sẻ giữa prompt và kết quả.

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 base URL. Đó là toàn bộ thiết lập.