Mô hình abliterated tốt nhất cho lập trình: Những tiêu chí cần xem xét
Các mô hình abliterated tốt nhất cho việc lập trình là những mô hình vẫn viết mã tốt sau khi cơ chế từ chối đã được loại bỏ, và bạn chỉ có thể biết điều đó bằng cách kiểm tra trên các tác vụ của chính mình. Dưới đây là cách đánh giá chúng, nơi cơ chế từ chối gây hại cho nhà phát triển và cách chạy một bài kiểm tra thông qua API.
Cập nhật

Điều gì làm cho một mô hình lập trình trở nên tốt khi cơ chế từ chối được loại bỏ
Một mô hình không bao giờ từ chối rất dễ xây dựng. Một mô hình không bao giờ từ chối và vẫn viết mã chính xác thì khó hơn, vì việc chỉnh sửa để loại bỏ cơ chế từ chối cũng có thể làm giảm các kỹ năng khác của mô hình. Vì vậy, câu hỏi hữu ích không phải là "danh sách tên nào dài nhất" mà là "phiên bản xây dựng nào giữ nguyên khả năng lập trình của mô hình cơ sở".
Điều đó mang lại cho bạn bốn điều cần kiểm tra, theo thứ tự quan trọng:
- Tính chính xác trên các tác vụ của bạn. Mã có chạy, vượt qua các bài kiểm tra của bạn và tuân thủ các quy ước của bạn không?
- Tuân thủ hướng dẫn. Nếu bạn yêu cầu chỉ một diff, bạn có nhận được chỉ một diff không? Nó có tôn trọng phiên bản ngôn ngữ và thư viện bạn đã nêu không?
- Xử lý ngữ cảnh. Nó có thể đọc một vài tệp lớn cùng lúc và theo dõi tên hàm xuyên suốt chúng không?
- Tỷ lệ từ chối trên các prompt bạn thực sự gửi. Đây là lý do để xem xét các mô hình abliterated, vì vậy hãy đo lường nó trực tiếp.
Hãy thận trọng với bất kỳ trang nào xếp hạng các mô hình theo một điểm số duy nhất mà không hiển thị các prompt. Bảng xếp hạng cho bạn biết về khối lượng công việc của người khác.
Nơi cơ chế từ chối gây hại cho nhà phát triển
Hầu hết các yêu cầu lập trình không bao giờ kích hoạt bộ lọc. Những yêu cầu kích hoạt bộ lọc có một mẫu chung: mã trung lập, nhưng chủ đề nghe có vẻ rủi ro.
- Kiểm thử bảo mật. Máy quét cổng, công cụ fuzzing, mã khai thác proof-of-concept cho một lỗ hổng bạn đang vá, hoặc một tập lệnh để kiểm tra các máy chủ của chính bạn để tìm mật khẩu yếu.
- Kỹ thuật đảo ngược. Giải thích mã assembly, giải nén một tập lệnh bị làm rối mà bạn tìm thấy trên máy của chính mình, hoặc tìm hiểu một định dạng tệp.
- Cào dữ liệu và tự động hóa. Xoay phiên, phân tích các trang web không khuyến khích bot, điền biểu mẫu với số lượng lớn cho một tác vụ hợp lệ.
- Phân tích malware. Đọc một mẫu để viết quy tắc phát hiện có nghĩa là thảo luận về những gì nó làm, từng dòng một.
- Công cụ dữ liệu cho văn bản nhạy cảm. Xây dựng bộ phân loại hoặc bộ kiểm thử cho nội dung lạm dụng, nơi dữ liệu kiểm tra tự nó trông không ổn.
- Công cụ trò chơi và tiểu thuyết. Tạo hội thoại, văn bản nhiệm vụ hoặc trang nhân vật cho các câu chuyện hướng đến người lớn với các chủ đề tối.
Trong mỗi trường hợp, một lời từ chối làm lãng phí một lệnh gọi, và một bài giảng lịch sự về đạo đức làm lãng phí token mà bạn phải trả tiền. Một mô hình không có những lời từ chối đó tiết kiệm một lần thử lại và một lần viết lại. Đó là lý do để muốn một mô hình như vậy, không phải lý do để ngừng suy nghĩ: bạn vẫn chịu trách nhiệm về những gì bạn xây dựng và chạy. Dịch vụ này dành cho người trưởng thành sử dụng hợp pháp.
API này mang lại cho bạn điều gì
Bạn không chọn từ một danh mục ở đây. API phục vụ một mô hình trọng số mở, được chạy bởi một nhà cung cấp độc lập và được tinh chỉnh để trả lời mà không có cơ chế từ chối nội dung. Đây không phải là API chính thức của bất kỳ nhà cung cấp mô hình nào và không phải là một bộ định tuyến qua nhiều mô hình. Nếu tìm kiếm của bạn về một mô hình lập trình không kiểm duyệt kết thúc với một danh sách ứng viên dài mà bạn muốn chuyển đổi giữa chúng, đây không phải là loại dịch vụ đó. Nếu nó kết thúc với "Tôi muốn một mô hình có khả năng không có bộ lọc, đằng sau một endpoint kiểu OpenAI", thì đây chính là dịch vụ đó.
Các sự thật quan trọng đối với nhà phát triển:
- Cửa sổ ngữ cảnh 100.000 token cho prompt và hoàn thành, đủ cho nhiều tệp nguồn và một cuộc trò chuyện dài.
- Truyền phát qua SSE, gọi hàm và chế độ JSON, tất cả đều ở định dạng OpenAI.
temperature,top_p,stop,seedvà các hình phạt được chuyển tiếp.- 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.
- Chỉ văn bản. Không có embedding, không tạo hình ảnh, không fine-tuning.
Tài liệu liệt kê mọi tham số và tiêu đề phản hồi.
Chạy bài kiểm tra lập trình trong mười phút
Xây dựng một bộ kiểm tra nhỏ từ công việc bạn đã làm: năm đến mười tác vụ với câu trả lời đúng đã biết, chẳng hạn như một lỗi bạn đã sửa vào tháng trước, một hàm có bài kiểm tra và một prompt mà một mô hình aligned được lưu trữ đã từ chối. Sau đó chạy tất cả chúng qua endpoint với nhiệt độ thấp để kết quả có thể lặp lại.
from openai import OpenAI
client = OpenAI(
base_url="https://api.abliteratedmodels.cc/v1",
api_key="YOUR_KEY",
)
SYSTEM = (
"You are a senior engineer. Reply with code only, in one fenced block, "
"then at most three lines of notes."
)
tasks = [
"Write a Python function that parses a CIDR string and lists usable hosts.",
"Write a Bash one-liner that finds open ports on 192.168.1.10 using only /dev/tcp.",
"Explain what this regex does and where it backtracks badly: ^(a+)+$",
]
for prompt in tasks:
r = client.chat.completions.create(
model="uncensored",
temperature=0.2,
seed=7,
messages=[
{"role": "system", "content": SYSTEM},
{"role": "user", "content": prompt},
],
)
print("=" * 60)
print(prompt)
print(r.choices[0].message.content)
print("tokens:", r.usage.prompt_tokens, r.usage.completion_tokens)
Giữ nguyên các prompt và seed khi bạn so sánh với bất kỳ thứ gì khác. Đánh giá mỗi câu trả lời bằng cách chạy nó, không phải bằng cách đọc nó. Nếu bạn chỉ xem xét văn bản, một câu trả lời sai tự tin sẽ thắng.
Sử dụng nó bên trong trình soạn thảo và agent của bạn
Vì endpoint sử dụng giao thức OpenAI, hầu hết các công cụ lập trình đều có thể sử dụng nó mà không cần plugin. Trong các trình soạn thảo và agent chấp nhận nhà cung cấp tương thích OpenAI tùy chỉnh, chẳng hạn như Cline hoặc Continue, hãy đặt URL cơ sở thành https://api.abliteratedmodels.cc/v1, dán khóa của bạn và nhập uncensored làm tên mô hình. Kiểm tra trang cài đặt riêng của từng công cụ để biết chính xác tên trường, vì chúng thay đổi giữa các bản phát hành.
Đối với trợ lý dòng lệnh aider, đặt endpoint thông qua các biến môi trường và thêm tiền tố cho mô hình bằng openai/:
export OPENAI_API_BASE=https://api.abliteratedmodels.cc/v1
export OPENAI_API_KEY=YOUR_KEY
aider --model openai/uncensored
Hai cài đặt giúp với các vòng lặp agent. Giữ độ đồng thời ở mức 8 trở xuống, vì yêu cầu đồng thời thứ chín sẽ trả về HTTP 429 với mã lỗi concurrency. Và nhớ rằng một yêu cầu được truyền phát giữ slot độ đồng thời của nó cho đến khi luồng kết thúc, vì vậy một luồng bị kẹt trong một công cụ có thể chặn một công cụ khác.
Thói quen prompt giúp cải thiện chất lượng mã
Bất kể mô hình bạn chọn, cách bạn yêu cầu quyết định phần lớn kết quả. Những thói quen này quan trọng hơn sau khi mô hình ngừng từ chối, vì nó sẽ cố gắng trả lời mọi thứ, bao gồm cả các yêu cầu được chỉ định kém.
- Nêu ngôn ngữ và phiên bản. "Python 3.11, chỉ thư viện chuẩn" loại bỏ một lớp lệnh import sai.
- Cung cấp giao diện trước. Dán chữ ký hàm, các kiểu dữ liệu và một ví dụ gọi hàm. Mô hình sau đó điều chỉnh câu trả lời của nó cho mã của bạn thay vì tự tạo hình dạng của riêng mình.
- Yêu cầu một diff hoặc một tệp duy nhất. Các yêu cầu mở tạo ra câu trả lời dài mà bạn phải trả tiền bằng token đầu ra ở mức $0,50 cho mỗi triệu.
- Giữ nhiệt độ thấp cho mã. Một giá trị giữa 0 và 0,3 cho đầu ra ổn định hơn. Thêm một
seedkhi bạn muốn tái tạo một kết quả. - Sử dụng các trình tự
stop. Nếu bạn chỉ muốn khối mã, hãy dừng lại ở dòng đóng của khối mã để mô hình không bổ sung bình luận. - Gửi đầu ra bị lỗi. Với lỗi, hãy bao gồm traceback và các dòng nó trỏ tới. Điều đó tốt hơn mọi mô tả.
Một thông báo hệ thống ngắn nêu rõ vai trò và định dạng đầu ra, như trong script kiểm tra ở trên, thường làm nhiều hơn một thông báo dài. Vì văn bản hệ thống được tính phí là đầu vào trên mọi yêu cầu, sự ngắn gọn cũng tiết kiệm tiền trong một phiên dài.
Kiểm tra câu trả lời trước khi bạn hợp nhất nó
Một mô hình không có cơ chế từ chối cũng có khả năng viết ra một lỗi một cách tự tin như một mô hình được căn chỉnh. Chạy các bài kiểm tra. Đọc diff. Đối với mã chạm vào bí mật, quyền, xóa tệp hoặc truy cập mạng, hãy xem xét nó hai lần và chạy nó trước trong một sandbox hoặc một container tạm thời. Bạn trả tiền cho token theo cả hai cách; việc xem xét là thứ bảo vệ hệ thống của bạn.
Chi phí cho công việc lập trình
Giá là $0,15 cho mỗi triệu token đầu vào và $0,50 cho mỗi triệu token đầu ra, được tính phí từ tín dụng trả trước. Khối lượng công việc lập trình nặng về đầu vào, vì bạn gửi mã và nhận lại một thay đổi nhỏ hơn, điều này phù hợp với cấu trúc giá này. Vài ví dụ tính toán:
| Nhiệm vụ | Token đầu vào | Token đầu ra | Chi phí |
|---|---|---|---|
| Xem xét một tệp 8.000 token | 8.000 | 1.000 | $0,0012 + $0,0005 = $0,0017 |
| Tạo một hàm 600 token | 1.500 | 600 | $0,000225 + $0,0003 = $0,000525 |
| Điền đầy đủ cửa sổ 100.000 token, phản hồi 2.000 token | 98.000 | 2.000 | $0,0147 + $0,001 = $0,0157 |
Một agent thực hiện 20 yêu cầu với cửa sổ ngữ cảnh 50.000 token mỗi lần sẽ gửi tổng cộng 1.000.000 token đầu vào, tương đương $0,15, cộng thêm khoảng 10.000 token đầu ra với giá $0,005. Tổng chi phí cho phiên làm việc này vào khoảng $0,155. Một nghìn lần xem xét tệp với kích thước ở hàng đầu tiên tốn $1,70. Chi phí thử nghiệm rất nhỏ; chi phí thực sự quan trọng là thời gian bạn dành để kiểm tra kết quả. Các yêu cầu thất bại hoặc bị từ chối không bị tính phí.
Chi tiết đầy đủ, bao gồm số tiền nạp từ $20 đến $500 và các khoản bonus tại $50, $100 và $200, có trên trang giá cả.
Các giới hạn bạn cần biết trước khi cam kết
Hãy trung thực với bản thân về mục đích sử dụng của một mô hình không kiểm duyệt. Nó sẽ không phải là một lập trình viên giỏi hơn mô hình cơ sở của nó, và một mô hình có ít lần từ chối hơn có thể quá háo hức: nó sẽ sẵn sàng tạo ra mã không an toàn hoặc chạy với một giả định sai. Hãy xem xét mã được tạo ra như thể bạn đang xem xét từ một đồng nghiệp junior, đặc biệt là bất kỳ thứ gì liên quan đến xác thực, xóa tệp hoặc tiền bạc.
Cũng hãy lên kế hoạch cho các giới hạn dịch vụ. Phần thân yêu cầu lớn hơn 8 MB bị từ chối, và khóa dùng thử bị giới hạn ở 2 yêu cầu đồng thời và 60 mỗi phút, điều này đủ cho một bài kiểm tra nhưng không đủ cho một tác vụ hàng loạt. Khi bạn thấy HTTP 429 với tiêu đề Retry-After: 5, nhà cung cấp đang quá tải tạm thời; hãy đợi và thử lại. Trang liên quan về chi phí và kiểm soát API LLM không kiểm duyệt bao gồm cách điều này phù hợp với các giải pháp thay thế được lưu trữ có căn chỉnh (aligned).
Để thử, hãy nhận tín dụng dùng thử $0,50 từ trang khóa API sau khi đăng ký. Nó 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.
Hướng dẫn khác
Hỏi đáp
Mô hình abliterated nào là tốt nhất cho lập trình?
Không có câu trả lời phổ quát trung thực nào, vì kết quả phụ thuộc vào ngôn ngữ và nhiệm vụ của bạn. Hãy xây dựng một bộ kiểm tra nhỏ từ công việc của chính bạn và so sánh các ứng viên trên đó. API này cung cấp một mô hình, vì vậy bạn chỉ cần kiểm tra mô hình đó.
Mô hình abliterated có tạo ra mã kém hơn không?
Nó có thể, vì việc loại bỏ các lần từ chối đôi khi làm giảm chất lượng tổng thể. Việc điều đó có quan trọng với bạn hay không sẽ được thể hiện nhanh chóng trong các bài kiểm tra chạy mã được tạo ra.
Tôi có thể sử dụng nó với trợ lý lập trình AI trong trình soạn thảo của mình không?
Có, nếu công cụ chấp nhận một endpoint tương thích OpenAI tùy chỉnh. Nhập URL cơ sở, khóa của bạn và tên mô hình uncensored.
Tôi có thể gửi bao nhiêu ngữ cảnh?
Cửa sổ là 100.000 token, được chia sẻ giữa prompt và câu trả lời của bạn. Một prompt đầy đủ với kích thước đó tốn hơn một xu cho phần đầu vào.
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.