무검열 AI 코더: Cursor 및 Python에서 사용
주요 어시스턴트는 보안 도구, 스크레이퍼, 리버스 엔지니어링, 자체 실험실용 익스플로이트 작성 등 일부 코드 요청에 대해 거부하거나 경고 라벨을 붙입니다. 무검열 모델을 편집기 및 스크립트에 연결하는 방법과 기대할 수 있는 내용을 확인하십시오.

주요 포인트
- 엔드포인트는 OpenAI 채팅 형식을 사용하므로 커스텀 base URL을 허용하는 편집기 및 프레임워크에서 사용할 수 있습니다.
- 함수 호출, JSON 모드 및 스트리밍이 지원되므로 대부분의 코딩 에이전트 패턴을 커버합니다.
- 100,000 토큰 컨텍스트 창은 하나의 요청에 저장소의 큰 부분을 포함할 수 있습니다.
- 코드 전용 모델이 아닌 일반 모델이므로 먼저 자체 작업으로 테스트하십시오.
무검열 코더가 무엇인지, 그리고 무엇인지 아닌지
no filter ai coder은 프롬프트의 이유를 의심하지 않고 프로그래밍 요청에 응답하는 언어 모델입니다. 소유한 네트워크용 포트 스캐너를 작성하거나, 소스를 잃어버린 레거시 바이너리를 디컴파일하거나, 브라우저를 모방하는 스크래퍼를 구축하는 경우, 책임 있는 사용에 대한 단락 대신 코드를 얻습니다.
이 서비스가 정확히 무엇인지 아는 것이 도움이 됩니다. 이는 합법적인 성인 사용자를 위해 콘텐츠 거부 없이 응답하도록 튜닝된 하나의 오픈 웨이트 모델이며, 독립적인 제공업체가 운영합니다. 대형 벤더의 공식 API가 아니며 모델 간 라우터도 아닙니다. 모델 ID는 uncensored입니다. 벤치마크 점수에 대한 주장은 없습니다. 거부 횟수가 적은 모델이 자동으로 더 나은 프로그래머는 아니므로 첫 주를 평가 기간으로 삼으세요.
합법적인 사용은 귀하의 책임입니다. 이 도구는 정당한 보안 작업, 연구 및 특수 엔지니어링의 마찰을 제거합니다. 소유하지 않은 시스템에 대한 공격을 허가하는 것은 아닙니다.
Python 또는 curl로 호출
가장 간단한 테스트는 단일 요청입니다. 이 Python 스크립트는 작은 도구를 요청하고 답변을 출력합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilterai.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
temperature=0.2,
messages=[
{"role": "system", "content": "You are a senior engineer. Reply with code first, then at most five lines of notes."},
{"role": "user", "content": "Write a Python script that scans TCP ports 1-1024 on a host I own, using asyncio, with a 0.5 s timeout."},
],
)
print(resp.choices[0].message.content)
낮은 온도가 코드에 적합합니다. 0.1과 0.3 사이의 값은 더 안정적인 출력을 제공하며, seed를 사용하면 프롬프트를 비교할 때 실행을 반복할 수 있습니다. 셸에서 동일한 요청은 다음과 같습니다.
curl https://api.nofilterai.cc/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"temperature": 0.2,
"messages": [
{"role": "user", "content": "Explain this regex and rewrite it without lookbehind: (?<=id=)\\d+"}
]
}'
엔드포인트가 노출하는 항목은 GET /v1/models로 확인할 수 있습니다. 키 페이지에서 키를 얻으십시오. $0.50의 원클릭 체험 크레딧은 수백 건의 소규모 코딩 요청에 충분합니다.
Cursor에 설정
Cursor는 모델 설정에서 OpenAI 베이스 URL을 재정의할 수 있으므로 호환되는 모든 제공업체를 가리킬 수 있습니다. 정확한 메뉴 이름은 버전마다 다르므로 레이블보다는 개념을 따르십시오.
- Cursor 설정을 열고 모델 섹션을 찾습니다.
- OpenAI API 키 필드에 키를 붙여넣습니다.
- OpenAI 베이스 URL 재정의 옵션을 활성화하고
https://api.nofilterai.cc/v1를 입력합니다. uncensored라는 사용자 지정 모델을 추가하고 채팅 패널에서 선택합니다.- 여러 파일에 걸쳐 편집을 시도하기 전에 작은 테스트 메시지를 보냅니다.
Cursor 및 유사한 편집기는 일부 기능에 대해 자체 서버를 사용할 수 있으며, 일부 기능은 사용자 지정 모델을 전혀 허용하지 않을 수 있습니다. 기능이 실패하면 엔드포인트가 고장 났다고 가정하기보다는 해당 기능이 벤더 자체 모델에 연결되어 있는지 확인하십시오. 사용자 지정 모델과의 채팅은 신뢰할 수 있는 부분입니다.
Continue 또는 Aider와 같은 OpenAI 호환 엔드포인트를 허용하는 다른 도구는 베이스 URL, 키, 모델 이름이라는 동일한 세 가지 값을 사용합니다.
LangChain에서 사용
LangChain의 ChatOpenAI 클래스는 base_url 인수를 받으므로 커스텀 래퍼 없이 엔드포인트를 사용할 수 있습니다.
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="uncensored",
base_url="https://api.nofilterai.cc/v1",
api_key="YOUR_KEY",
temperature=0.2,
)
print(llm.invoke("Write a bash one-liner that lists the 10 largest files under /var/log.").content)
체인, 프롬프트 템플릿 및 출력 파서는 OpenAI 스키마를 따르는 모든 채팅 모델에서 작동하는 방식과 동일합니다. 에이전트를 구축할 경우 동시 요청 제한을 기억하세요: 전체 키는 동시에 8개의 요청과 분당 300개의 요청을 허용하며, 체험 키는 각각 2개와 60개입니다. 10개의 함수 호출을 병렬로 분산하는 에이전트는 추가 요청에 대해 코드 concurrency의 HTTP 429를 받습니다. 병렬 분산 수를 제한하거나 짧은 지연 후 재시도하세요.
에이전트를 위한 함수 호출 및 JSON 모드
코딩 에이전트는 구조화된 출력을 기반으로 합니다. API는 tools, tool_choice, 스트리밍 tool_calls 및 role: "tool" 메시지로 전송된 도구 결과를 지원합니다. 다음은 파일을 읽는 함수로 수행하는 최소한의 왕복 요청입니다.
import json
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilterai.cc/v1", api_key="YOUR_KEY")
tools = [{
"type": "function",
"function": {
"name": "read_file",
"description": "Read a UTF-8 text file from the project",
"parameters": {
"type": "object",
"properties": {"path": {"type": "string"}},
"required": ["path"],
},
},
}]
messages = [{"role": "user", "content": "Open main.py and tell me what it does."}]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]
messages.append(first.choices[0].message)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": open(json.loads(call.function.arguments)["path"]).read(),
})
final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
print(final.choices[0].message.content)
모델이 요청한 작업을 실행하기 전에 항상 인수를 검증하십시오. 모델에서 제공된 경로, 셸 문자열 또는 URL은 모델이 생성했든 아니든 신뢰할 수 없는 입력입니다.
코드가 구문 분석해야 하는 출력의 경우 response_format을 {"type":"json_object"}로 설정하고 프롬프트에서 예상하는 키를 명시하십시오. JSON 모드는 유효한 JSON 응답을 생성하지만 스키마 검증은 여전히 코드에 있어야 합니다.
컨텍스트 크기 및 코딩 호출 비용
컨텍스트 창은 프롬프트 및 응답을 합쳐서 100,000 토큰입니다. 대략적인 가이드로, 이는 여러 소스 파일을 한 번에 포함할 수 있으므로 요약하는 대신 모듈, 테스트 및 실패한 추적 정보를 한 번에 붙여넣을 수 있습니다. 더 큰 프롬프트는 더 많은 비용이 발생하므로 질문이 필요한 만큼만 보내십시오.
가격은 입력 토큰 100만 개당 $0.15, 출력 토큰 100만 개당 $0.50입니다. 예시:
| 요청 | 입력 | 출력 | 비용 |
|---|---|---|---|
| 함수 설명 | 1,500 | 500 | $0.000225 + $0.00025 = $0.000475 |
| 테스트가 포함된 모듈 검토 | 30,000 | 2,000 | $0.0045 + $0.001 = $0.0055 |
| 하루에 그런 리뷰 200개 | 6,000,000 | 400,000 | $0.90 + $0.20 = $1.10 |
| 전체 컨텍스트 창을 입력으로 사용, 단일 호출 | 100,000 | 0 | $0.015 |
실패하거나 거부된 요청에는 요금이 부과되지 않습니다. 크레딧은 선불이며 만료되지 않으며, 충전은 $20부터 $500까지 정수 금액 단위로 가능하며, $50부터 5%, $100부터 10%, $200부터 15%의 보너스가 제공됩니다. 결제는 암호화폐만 가능합니다: TRC20의 USDT 또는 Base의 USDC. 현재 약관은 가격 페이지를 참조하세요.
실제 diff에서 작동하는 검토 프롬프트
대형 컨텍스트 창의 가장 좋은 사용 사례 중 하나는 검토입니다. "이 코드가 좋은가요?"라고 묻는 대신 diff와 해당 파일들을 붙여넣고 고정된 형식으로 발견 사항을 요청하십시오. 각 항목이 파일, 줄, 문제 및 1줄 분량의 수정 사항을 명시하는 번호가 매겨진 목록을 요청하고 빈 목록이 유효한 답변임을 명시하십시오. 이 마지막 지시사항이 중요합니다: 문제를 찾으라고 지시된 모델은 때때로 당신을 만족시키기 위해 문제를 발명할 수 있습니다.
검토 시 온도를 0.2 근처로 유지하세요. 이는 두 번째 실행에서도 동일한 검토 결과를 얻기 위함입니다. 지속적 통합 작업에서 검토를 실행하는 경우 seed를 설정하고 X-Request-Id 헤더를 로그에 기록하여 나중에 놀라운 결과를 추적할 수 있도록 하세요. 스크립트가 검토 결과를 어딘가에 게시해야 할 때 JSON 모드와 함께 사용하고, file, line, severity 및 fix과 같은 키를 요청하세요.
답변이 잘못되거나 비어 있을 때
대부분의 실패한 실행은 세 가지 문제로 귀결됩니다. 401을 받으면 키가 누락되었거나 헤더가 Authorization: Bearer 다음에 키가 따르지 않고 있습니다. 편집기에서 모델이 존재하지 않는다고 하면 이름이 정확히 uncensored이고 기본 URL이 /v1로 끝나며 추가 경로가 없는지 확인하세요. 코드가 컴파일되지만 잘못 동작하면, 수정하기 전에 실패한 출력을 모델에 제공하고 오류를 설명하도록 요청하세요. 진단 후 수행된 수정은 무작정 수행한 수정보다 더 작고 안전합니다.
적합한 곳과 적합하지 않은 곳
다른 어시스턴트가 거부하거나 조건을 붙이는 요청에는 무검열 엔드포인트를 사용하고, 더 잘 작동한다면 나머지에는 평소 사용하는 도구를 유지하세요. 많은 개발자가 두 모델을 병렬로 실행하여 각 작업을 깔끔하게 답변하는 쪽으로 보냅니다.
- 적합한 경우: 소유한 시스템에 대한 보안 연구실 작업, 스크래핑 및 자동화 스크립트, 방어자를 위한 말웨어 분석 보고서, 역공학 노트, 특이한 데이터 처리 작업.
- 주의: 생성된 코드에는 오류나 존재하지 않는 라이브러리 함수가 포함될 수 있습니다. 실행하고, 테스트하고, 확인해 보세요.
- 제공되지 않음: 이미지 또는 오디오 생성, 임베딩 및 파인튜닝. 텍스트 채팅 엔드포인트만 제공합니다.
- 프라이버시: 프롬프트는 학습에 사용되지 않으며, 이는 독점 코드를 붙여넣는 경우 중요합니다.
본문 제한은 요청당 8 MB로 컨텍스트 창이 사용할 수 있는 양보다 훨씬 많습니다. 응답 헤더에는 X-Request-Id, X-Balance-USD 및 속도 제한 값이 포함되어 로그에 유용합니다. 문서에는 전달되는 모든 매개변수가 나열되어 있습니다.
더 많은 가이드
질문과 답변
필터 없는 AI 코더가 다른 모델보다 프로그래밍에 더 뛰어난가요?
기본적으로 그렇지 않습니다. 거부 횟수가 줄어들면 답변하는 내용은 달라지지만 코딩 실력이 향상되는 것은 아닙니다. 신뢰하기 전에 자체 작업으로 테스트해 보세요.
어떤 편집기 및 프레임워크가 호환되나요?
사용자 지정 OpenAI 호환 기본 URL, 키 및 모델 이름을 허용하는 모든 도구입니다. Cursor, LangChain 및 공식 OpenAI SDK가 일반적인 예입니다.
함수 호출을 지원하나요?
네. 도구와 tool_choice를 받아들이고 스트리밍 중에도 tool_calls를 반환하며 결과를 역할 도구 메시지로 받습니다. JSON 모드도 사용할 수 있습니다.
속도 제한에 도달하면 어떻게 되나요?
오류 코드 rate_limited 또는 concurrency와 함께 HTTP 429를 받습니다. 일시적인 과부하의 경우 429에는 5초의 Retry-After 헤더가 포함됩니다.
키는 한 단계만 더 있으면 받을 수 있습니다
계정을 생성하고 키를 복사한 후 기본 URL을 변경하세요. 설정은 이것으로 끝입니다.