IA sem censura para desenvolvedores: construa sem recusas
IA sem censura para desenvolvedores transfere as regras de conteúdo do modelo para seu aplicativo. Isso lhe dá liberdade, mas também a responsabilidade de escrever e aplicar essas regras.
Última atualização

Fatos principais
- Escreva as regras do seu produto em um prompt de sistema e verifique-as no código.
- Adicione suas próprias verificações de entrada e saída, já que o modelo não fará tudo isso por você.
- Registre IDs de requisição, contagens de tokens e um ID de usuário com hash, não conversas completas, a menos que você precise deles.
- Você continua responsável pelos seus usuários e pela sua jurisdição. Conteúdo sexual envolvendo menores nunca é permitido.
O que muda quando o modelo para de recusar
Com um assistente convencional, o fornecedor decide o que é aceitável e o modelo recusa o restante. Com um modelo sem censura, ajustado para responder sem recusas de conteúdo para uso adulto legal, essa camada desaparece. IA sem censura para desenvolvedores é útil para ferramentas de ficção, aplicativos de companhia, pesquisas sobre comportamento do modelo e qualquer produto onde recusas convencionais atrapalham o trabalho legal.
O que substitui o filtro do fornecedor é o seu próprio design. Você decide quem pode usar o app, o que o modelo pode escrever e o que fazer quando algo dá errado. Este artigo cobre quatro partes desse trabalho: o prompt de sistema, uma camada de moderação, registro e suas responsabilidades.
Comece com um prompt de sistema que declare as regras
Um prompt de sistema é seu primeiro e mais barato controle. Escreva-o como uma política curta, em frases claras, e mantenha-o estável entre lançamentos para que o comportamento seja fácil de prever.
- Papel e cenário. Quem é o assistente e para que serve o produto.
- Público-alvo. Declare que todos os usuários e todos os personagens são adultos.
- Limites. Liste o que o assistente não deve escrever no seu produto, por exemplo, conteúdo envolvendo menores, pessoas privadas reais ou instruções para prejudicar outros.
- Formato. Comprimento, tom, idioma, o que fazer quando perguntarem algo fora do escopo.
SYSTEM = '''You are the narrator of an interactive fiction app for adult readers.
All characters are adults. Never write sexual content involving minors.
Do not write about real, named private individuals.
If a request is outside the story, say so briefly and return to the scene.
Keep replies under 200 words.'''
Um prompt de sistema é orientação, não garantia. O modelo pode desviar, e os usuários podem empurrar contra ele. É por isso que a próxima camada existe.
Construa uma camada de moderação ao redor do modelo
Verifique o texto duas vezes: antes de atingir o modelo e após a resposta do modelo. Regras baratas capturam os casos óbvios, e uma segunda chamada de modelo pode julgar os casos duvidosos. O modo JSON facilita a análise do veredito.
import json
from openai import OpenAI
client = OpenAI(base_url="https://api.bestuncensored.com/v1", api_key="YOUR_KEY")
BLOCKLIST = ["example banned phrase"] # your own rules
JUDGE = '''Classify the text. Reply with JSON: {"verdict": "allow" or "block", "reason": "short"}.
Block if it sexualizes anyone under 18, or asks for real-world harm.'''
def judge(text):
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "system", "content": JUDGE}, {"role": "user", "content": text}],
response_format={"type": "json_object"},
temperature=0,
)
return json.loads(r.choices[0].message.content)
def safe_reply(user_text, system):
low = user_text.lower()
if any(b in low for b in BLOCKLIST) or judge(user_text)["verdict"] == "block":
return "That request is outside what this app allows."
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "system", "content": system}, {"role": "user", "content": user_text}],
)
out = r.choices[0].message.content
if judge(out)["verdict"] == "block":
return "That reply was withheld by the app's content rules."
return out
A chamada do juiz consome tokens como qualquer outra: a $0,15 por 1M de entrada e $0,50 por 1M de saída, uma verificação de 300 tokens com um veredito de 20 tokens custa 300 x $0,15 / 1.000.000 + 20 x $0,50 / 1.000.000 = $0,000045 + $0,00001 = $0,000055. Duas verificações por mensagem adicionam $0,00011, valor pequeno perto da resposta. Nenhum filtro é perfeito, então mantenha um botão de relatório e revise os itens sinalizados.
Registro sem acúmulo
Você precisa de logs para depurar, lidar com relatórios de abuso e monitorar custos. Você não precisa de todas as conversas em texto puro, e armazená-las cria risco para você e seus usuários. Prompts enviados para esta API não são usados para treinamento, mas seus próprios logs são sua própria responsabilidade.
Uma configuração padrão sensata é registrar metadados: horário, um ID de usuário com hash, o cabeçalho de resposta X-Request-Id, contagens de tokens e o veredito de moderação. Armazene o texto completo apenas para itens sinalizados, com um período de retenção curto.
import hashlib, logging
log = logging.getLogger("llm")
def logged_call(user_id, messages):
raw = client.chat.completions.with_raw_response.create(
model="uncensored", messages=messages
)
resp = raw.parse()
log.info(
"user=%s req=%s in=%s out=%s balance=%s",
hashlib.sha256(user_id.encode()).hexdigest()[:12],
raw.headers.get("x-request-id"),
resp.usage.prompt_tokens,
resp.usage.completion_tokens,
raw.headers.get("x-balance-usd"),
)
return resp.choices[0].message.content
O ID da requisição é o que você cita se entrar em contato com suporte sobre uma chamada específica.
Responsabilidades que você mantém
Esta é informação geral, não aconselhamento jurídico. Fale com um advogado sobre o seu caso. Estes pontos se aplicam à maioria dos produtos construídos em um modelo sem censura:
- A linha dura. Conteúdo sexual envolvendo menores nunca é permitido neste serviço, e nenhum prompt de sistema altera isso. Trate isso como uma linha no seu próprio produto também.
- Controle de idade. Se o seu produto contém material adulto, verifique ou pelo menos delimite por idade de uma forma que se adapte aos locais onde você opera.
- Legislação local. As regras sobre conteúdo adulto, proteção de dados e arquivamento diferem por país e estado. Elas se aplicam a você e aos seus usuários, onde quer que a API seja executada.
- Termos e privacidade. Publique seus próprios termos e aviso de privacidade. Leia também os do provedor: termos e privacidade.
- Chaves. Mantenha as chaves de API no seu servidor, nunca em um navegador ou no pacote do app.
Abuso, relatórios e limites de sua própria responsabilidade
Uma vez que usuários reais cheguem, alguns tentarão empurrar o produto além das suas regras. Planeje isso desde o primeiro dia.
- Limites por usuário. Limite mensagens por dia e requisições por minuto por conta. Isso protege seu orçamento e desacelera o abuso automatizado. Seus próprios limites devem ficar abaixo da API: uma chave completa permite 300 requisições por minuto entre todos os usuários.
- Um botão de relatório. Permita que os usuários sinalizem uma resposta. Armazene o ID da requisição e o texto da troca sinalizada e revise a fila em um cronograma.
- Escalada. Decida antecipadamente o que acontece após violações repetidas: um aviso, um bloqueio temporário ou um banimento. Escreva isso nos seus termos.
- Higiene da chave. Assim que você recarregar a conta, poderá ter até 5 chaves rotuladas, então use uma por ambiente. Nunca envie uma chave no código do cliente. Regere uma chave na página de chaves se ela puder ter vazado; a antiga para de funcionar imediatamente.
Sua fila também mostrará onde o prompt de sistema é fraco. Quando o mesmo tipo de saída sinalizada aparecer três vezes, altere o prompt ou o filtro, então reexecute seu conjunto de testes para garantir que nada mais quebrou. Trate prompts como código: mantenha-os em controle de versão e anote para que serviu cada alteração.
Planeje limites e falhas
Código de produção precisa de backoff. Uma chave completa permite 8 requisições simultâneas e 300 requisições por minuto. Acima do limite, a API retorna HTTP 429 com código rate_limited ou concurrency, e em sobrecarga temporária um 429 com Retry-After: 5. Respeite esse cabeçalho. Se você executar uma chamada de juiz e uma chamada de resposta por mensagem, ambas contam contra os limites, então dimensione sua fila para o dobro de requisições.
Requisições falhas ou recusadas não são cobradas, então as novas tentativas não custam nada para tentativas falhas. A documentação lista parâmetros, e você pode testar tudo com o crédito de teste da página da chave de API. Para opções neste espaço, consulte opções de IA sem censura comparadas.
Uma revisão pré-lançamento
Antes que usuários reais cheguem, percorra uma sessão roteirizada como um atacante faria. Tente fazer o app produzir algo que suas regras proíbem, perguntando diretamente, por interpretação de papéis, dividindo a solicitação entre rodadas e colando texto que contenha instruções. Registre o que passou e corrija na camada adequada.
- Se o modelo ignorar uma regra no prompt de sistema, ajuste a redação e adicione uma verificação no código.
- Se uma verificação bloquear conteúdo lícito demais, afrouxe a regra ou adicione um caminho de permissão, e meça a taxa de bloqueio falso em uma amostra de prompts reais.
- Se o problema só aparece em chats longos, teste com um histórico completo, já que as regras derivam conforme o contexto cresce. Uma janela de 100.000 tokens dá a você espaço para manter as regras no topo e repetir um lembrete curto no final.
Repita esta revisão sempre que alterar o prompt, o filtro ou a configuração do modelo. Mantenha os casos de teste em um arquivo e execute-os como uma verificação automatizada, para que uma alteração que quebre uma regra falhe antes de ser enviada.
Mais guias
FAQ Técnico
Obtenha sua chave de API
Registre-se, recupere sua chave e atualize a URL do seu endpoint. Simples.
Um modelo sem censura elimina a necessidade de moderação?
- Não. Ele remove as recusas do fornecedor, tornando as regras suas. Adicione regras de system prompt e verificações de entrada e saída que se adequem ao seu produto.
Posso usar uma segunda chamada de modelo como filtro?
- Sim. Use o modo JSON com uma instrução curta e temperatura baixa, e analise o veredito. Cada verificação custa um pequeno número de tokens.
Meus prompts são usados para treinamento?
- Não. Os prompts não são usados para treinamento.
O que nunca é permitido?
- Conteúdo sexual envolvendo menores. O serviço é para uso adulto lícito.
Devo registrar conversas completas?
- Apenas quando tiver uma razão clara. Metadados como ID da requisição e contagem de tokens geralmente são suficientes, mantendo o texto completo apenas para itens sinalizados.