0Pricing
AI Agents · レッスン

出力フィルタリング(Llama Guard、NeMo)

より小型のguardモデルで出力を検査し、有害表現、PIIの漏えい、ポリシー違反を提供前に検出します。

「出力フィルタリング(Llama Guard、NeMo)」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。

なぜ出力をフィルタリングするのですか

入力が安全であっても、モデルは次のような出力を生成する可能性があります。

  • 個人データの漏えい
  • ヘイトスピーチやハラスメント
  • 自傷行為に関するコンテンツ
  • ユーザーの意図に反するツール呼び出し

出力フィルターは、ユーザーが何かを見る前に働く最後の防衛線です。

Llama Guard

Metaの安全性分類器です。オープンウェイトで、非常に高速です。

from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-Guard-3-8B')
# Outputs 'safe' or 'unsafe' with category.

NeMo Guardrails

NVIDIA NeMo Guardrailsは、チェック機能でLLMをラップするPythonフレームワークです。

# pip install nemoguardrails
from nemoguardrails import RailsConfig, LLMRails

config = RailsConfig.from_path('./config')
rails = LLMRails(config)
response = rails.generate(messages=[{'role': 'user', 'content': '...'}])

Guardrails AI

guardrails-aiは、検証とガードに特化したPythonライブラリです。XMLベースの「rails」とreAskによる修復ループをサポートしています。

Anthropic Constitutional Classifier

Anthropicは、Claudeの安全性トレーニングに加えて分類器をリリースしました。あらゆるモデルの出力を事後的にフィルタリングする用途に役立ちます。

カスタムLLMベースのフィルター

最も安価な方法は、出力をスクリーニングする小型のLLMです。

FILTER_PROMPT = '''
Analyse the output. Return JSON: {safe: true/false, reason: str, categories: list}

Unsafe categories: PII leak, harmful instructions, copyright violation, prompt-injection echo.

Output:
{output}
'''

result = guard_llm.invoke(FILTER_PROMPT.format(output=text))

正規表現/ルールフィルター

特定のパターンには、正規表現が高速で信頼性も高くなります。

import re
EMAIL_RE = re.compile(r'[\w\.-]+@[\w\.-]+')
SSN_RE = re.compile(r'\b\d{3}-\d{2}-\d{4}\b')

def has_pii(text):
    return bool(EMAIL_RE.search(text) or SSN_RE.search(text))

# --- demo ---
samples = ['Contact me at jane@example.com', 'My SSN is 123-45-6789', 'No PII in this sentence']
for s in samples:
    print(f'{s!r} -> has_pii={has_pii(s)}')

PIIの編集

単にブロックするだけではありません。場合によっては、PIIを編集して残りの部分を通過させます。

def redact(text):
    text = EMAIL_RE.sub('[email]', text)
    text = SSN_RE.sub('[ssn]', text)
    return text

2層フィルター

まず高速なルールを適用し、その後にコストの高いLLMを使います。

def filter_output(text):
    if has_obvious_pii(text):
        return BLOCKED
    result = guard_llm.invoke(...)
    return result

ストリーミング出力

ストリーミング出力では、文ごとにフィルタリングします。

buf = ''
for token in stream:
    buf += token
    if buf.endswith(('. ', '! ', '? ', '\n')):
        if not safe(buf):
            stream.close()
            emit_to_client('[content filtered]')
            break
        emit_to_client(buf)
        buf = ''

偽陽性と偽陰性

適切なバランスになるよう調整します。

  • 影響の大きい分野(医療、金融):偽陽性寄りにする(より多くブロックする)
  • クリエイティブ/エンターテインメント:偽陰性寄りにする(ブロックを減らす)

フィルターログは機密性が高い

フィルターログにはブロックしたコンテンツが含まれます。短いTTLを設定し、安全に保存してください。

log.warning('Blocked output', extra={'reason': r, 'category': c}, sanitize_payload=True)

ユーザーに説明する

ブロックしたときは、リトライを繰り返さないよう、理由をユーザーに伝えてください。

def handle_privacy_request():
    return 'I cannot share that information for privacy reasons.'

print(handle_privacy_request())

多層フィルター

正規表現とLLMベースのフィルタリングを組み合わせるのはなぜですか。

まとめ

Llama Guard / NeMo / カスタムLLMフィルター + 正規表現ルールを使用します。2層に分けます。可能な場合は編集します。コンテンツをブロックしたときは、必ずユーザーに伝えてください。

よくある質問

「出力フィルタリング(Llama Guard、NeMo)」レッスンは無料ですか?

はい。「出力フィルタリング(Llama Guard、NeMo)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。

「出力フィルタリング(Llama Guard、NeMo)」で何を学びますか?

より小型のguardモデルで出力を検査し、有害表現、PIIの漏えい、ポリシー違反を提供前に検出します。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agentsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「出力フィルタリング(Llama Guard、NeMo)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agentsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Prompt Injection対策
  2. 出力フィルタリング(Llama Guard、NeMo)
  3. コードエージェントのサンドボックス実行
  4. ツールのアクセス制御
← AI Agentsに戻る