Uygulamayı aç
Moonborn — Developers

Marka-kritik yüzeyler için moderasyonu sıkılaştır

Üç aşamalı moderasyon hattını marka güvenliği hedefiyle ayarla — girdi niyeti eşiği, çıktı sınıflandırıcıları, PII (kişisel veri) sansürleme (redaction) politikaları, özel sınıflandırıcı entegrasyonu.

Varsayılan moderasyon hattı güvenli orta yol değerlerle gelir — çoğu yüzey için yeterlidir. Müşteri desteği, açık (public) sohbet, sağlık veya finans gibi marka-kritik yüzeyler genelde daha sıkı politika ister: bir yanlış pozitif, bir yanlış negatiften daha az pahalıdır.

Bu rehber hattın üç aşamasını (girdi niyeti → çıktı içeriği → kimliğe bürünme + PII) marka hedefine göre ayarlar, isteğe bağlı olarak kendi sınıflandırıcını entegre eder ve moderation.flagged webhook'unu kalite kontrol kuyruğuna bağlar.

Bu rehberi bitirdiğinde

  • Üç moderasyon aşamasının ne yaptığını bileceksin.
  • Girdi niyeti uzlaşı (consensus) eşiğini marka katılığına göre ayarlayabileceksin.
  • Çıktı içerik kategorileri için güven eşiklerini sıkılaştırabileceksin.
  • PII sansürleme ve kimliğe bürünme kara listesi (blocklist) stratejilerini seçebileceksin.
  • Kendi özel sınıflandırıcı uç noktanı (Enterprise) bağlayabileceksin.
  • moderation.flagged olaylarını marka kalite kontrol kuyruğuna yönlendirebileceksin.

Ön koşul: API anahtarı + çalışma alanı kimliği. Moderasyon hattının anatomisini ilk kez görüyorsan önce Moderasyon hattı kavramı.

1. Aşama 1 — girdi niyeti eşiği

Hat kullanıcı mesajını üç bağımsız sınıflandırıcıya (OpenAI Moderation + Anthropic güvenlik + Moonborn iç) gönderir. Varsayılan 2-of-3 uzlaşı ile işaretler — yani en az iki sınıflandırıcı işaretlemeden geçer. Marka-kritik yüzeyler için 1-of-3'e sıkılaştır:

await client.config.setItem({
  key: 'moderation.input.consensus_threshold',
  value: '1-of-3',
  scope: 'workspace',
  scopeId: 'ws_...',
});

2. Aşama 2 — çıktı içeriği kategori eşikleri

Hat persona yanıtını yayına çıkarmadan önce beş kategoride puanlar. Varsayılan eşik 0.6 — bunun altındaki yanıtlar geçer. Marka-kritik yüzeyler için kategorileri ayrı ayrı sıkılaştır:

hate, harassment, sexual, self_harm, violence
→ Genel sohbet ürünleri için makul orta yol
const categories = ['hate', 'harassment', 'sexual', 'self_harm', 'violence'];
const brandSafeThreshold = 0.4;
 
await Promise.all(
  categories.map((cat) =>
    client.config.setItem({
      key: `moderation.output.thresholds.${cat}`,
      value: brandSafeThreshold,
      scope: 'workspace',
      scopeId: 'ws_...',
    }),
  ),
);

3. Aşama 3 — kimliğe bürünme + PII

Hattın son aşaması iki ayrı kontrol yapar: gerçek kişi kimliğine bürünme ve PII (kişisel veri) tespiti.

Kimliğe bürünme kara listesi

Varsayılan olarak Moonborn ünlü kara listesini taşır (politikacılar, ünlü iş insanları vb.). Kurumsal marka için kendi kara listeni geç:

await client.config.setItem({
  key: 'moderation.impersonation.blocklist_id',
  value: 'blocklist_acme_executives',
  scope: 'workspace',
  scopeId: 'ws_...',
});

Kara listeyi yüklemek için Settings → Moderation → Custom blocklists kullan; CSV biçiminde isim + alternatif ad listesi alır. Enterprise.

PII tespiti ve eylemi

Varsayılan tespit edici (detector) Microsoft Presidio. action_on_detect üç değerden birini alır:

EylemDavranışNe zaman seç
redact (varsayılan, sansürle)PII aralığını [redacted] ile değiştir, yanıt yine giderKullanıcı yanıt görmeli ama PII çıksın
refuse (reddet)Yanıtı kullanıcıya gönderme, drift zarfı ile birlikte hata dönUyumluluk-kritik akışlar, PII sızıntısı yasak
flag (işaretle)Yanıtı gönder, ama denetim kaydı + webhook ile işaretleElle inceleme kuyruğu kuruyorsan
await client.config.setItem({
  key: 'moderation.pii.action_on_detect',
  value: 'redact',
  scope: 'workspace',
  scopeId: 'ws_...',
});

4. Özel sınıflandırıcı uç noktası (Enterprise)

Moonborn'un yerleşik sınıflandırıcı panelinin dışında kendi moderasyon sınıflandırıcını eklemek istersen — örn. alana özgü bir uyumluluk modeli, kurum-içi risk sınıflandırıcısı, sektörel bir politika — çıktı aşamasının parçası olarak çağrılan HTTP uç noktasını yapılandır:

await client.config.setItem({
  key: 'moderation.output.custom_classifier_url',
  value: 'https://your-classifier.internal/moderate',
  scope: 'workspace',
  scopeId: 'ws_...',
});
 
await client.config.setItem({
  key: 'moderation.output.custom_classifier_weight',
  value: 0.5,
  scope: 'workspace',
  scopeId: 'ws_...',
});

Uç nokta sözleşmesi:

  • İstek: POST, JSON gövde { text, personaId, sessionId }
  • Yanıt: JSON { scores: { hate: 0.1, harassment: 0.05, custom_risk: 0.8 }, verdict: "pass" | "flag" | "block" }
  • SLA: 800ms içinde yanıt vermeli; daha geç yanıt varsayılan panele yedek (fallback) olur.

5. moderation.flagged webhook'una bağla

Hat herhangi bir aşamada pass olmayan karar verdiğinde moderation.flagged olayı atılır. Bunu marka kalite kontrol kuyruğuna bağla:

const hook = await client.webhooks.create({
  url: 'https://your-app.com/webhooks/moonborn/moderation',
  events: ['moderation.flagged'],
  description: 'Brand-safety review queue',
});

Olay yükü işaretleyen aşamayı ve sebebini taşır:

{
  "type": "moderation.flagged",
  "data": {
    "personaId": "per_...",
    "sessionId": "ses_...",
    "messageId": "msg_...",
    "stage": "output",
    "category": "harassment",
    "score": 0.62,
    "action": "block"
  }
}

Webhook imza doğrulama + yeniden deneme deseni Voice drift'i ele al rehberindeki HMAC akışıyla aynıdır.

Aşamalar nasıl çalışır — genel akış

AşamaGirdiKarar (verdict) seçenekleri
1. Girdi niyetiKullanıcı mesajıpass / block
2. Çıktı içeriğiPersona yanıtıpass / flag / block
3. Kimliğe bürünme + PIIPersona yanıtı (çıktı sonrası)pass / redact / refuse / flag

Aşamalar sıralı çalışır. Aşama 1 engellerse aşama 2 ve 3 çağrılmaz. Aşama 2 işaretler / engellerse aşama 3 atlanır.

Plan gereksinimi

  • Standart moderasyon hattı + kategori eşik ayarı: her plan
  • Özel kara liste + özel sınıflandırıcı: Enterprise
  • PII eylemi refuse modu: Team ve üzeri

İlgili

Moderasyon hattı kavramı

Üç aşamanın teknik anatomisi, sınıflandırıcı panelinin nasıl çalıştığı.

Open →
Marka için denetim izi

Moderasyon olayları ile birlikte persona değişiklik izini okuma.

Open →
Voice drift'i ele al

Webhook imza doğrulama, yeniden gönderim ve dead-letter desenleri.

Open →
Webhook olay kataloğu

Moderasyon olaylarının tam yük şeması.

Open →