1. OpenAI Content Review API 소개

1.1. OpenAI Content Review API 개요

OpenAI는 개발자가 온라인 콘텐츠 중 사용 정책을 위반하는 콘텐츠를 신속하고 정확하게 식별하고 필터링할 수 있도록 설계된 콘텐츠 검토 API 서비스를 제공합니다. 이 API는 고급 기계 학습 모델을 사용하여 텍스트 콘텐츠의 실시간 분석을 수행하여 잠재적으로 혐오 발언, 괴롭힘, 명백한 콘텐츠를 식별하고 명확한 분류 및 판단을 제공합니다.

1.2. 콘텐츠 카테고리 설명

OpenAI 콘텐츠 검토 API는 부적절한 콘텐츠를 여러 가지 카테고리로 분류하여 다양한 유형의 위반에 대한 더 자세한 처리를 가능하게 합니다. 다음은 이러한 카테고리에 대한 구체적인 설명입니다:

  • hate: 인종, 성별, 민족, 종교, 국적, 성 정체성, 장애 상태, 또는 계급에 기반한 혐오 발언을 포함합니다.
  • hate/threatening: 혐오 발언뿐만 아니라 앞서 언급된 특정 그룹에 대한 폭력 또는 심각한 피해를 암시하는 내용을 포함합니다.
  • harassment: 어떤 대상에 대한 괴롭힘 언어를 선동하거나 장려합니다.
  • harassment/threatening: 어떤 대상에 대한 폭력 또는 심각한 피해를 암시하는 괴롭힘 내용을 포함합니다.
  • self-harm: 자살, 자해, 급식 장애 등과 같은 자해 행동을 선동, 장려 또는 묘사합니다.
  • self-harm/intent: 화자가 자해 행동을 하고 있다거나 하려고 한다는 것을 나타냅니다.
  • self-harm/instructions: 자해 행동을 장려하거나 그러한 행동을 하는 방법에 대한 안내나 조언을 제공합니다.
  • sexual: 성적 흥분을 일으키기 위한 콘텐츠를 포함하여 성활동에 대한 묘사 또는 성적 서비스를 홍보합니다 (성교육 및 건강 제외).
  • sexual/minors: 만 18세 미만의 개인에 관한 성적 콘텐츠를 포함합니다.
  • violence: 죽음, 폭력 또는 신체적 부상과 관련된 콘텐츠를 묘사합니다.
  • violence/graphic: 죽음, 폭력 또는 신체적 부상을 그래픽으로 묘사하는 콘텐츠를 포함합니다.

3. OpenAI Content Moderation API 사용하기

OpenAI 콘텐츠 모더레이션 API를 사용하려면 cURL과 같은 명령 줄 도구를 이용하여 네트워크 요청을 할 수 있습니다. 다음은 간단한 예시입니다:

curl https://api.openai.com/v1/moderations \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{"input": "여기에 일부 샘플 텍스트를 넣으세요"}'

위 명령에서 $OPENAI_API_KEY를 실제 OpenAI API 키로 바꿔 넣으세요. input 필드의 "여기에 일부 샘플 텍스트를 넣으세요"를 실제로 필터링하려는 텍스트로 바꿔 넣으세요.

API를 호출한 후에는 다음과 유사한 형식의 응답을 받게 됩니다:

{
  "id": "modr-XXXXX",
  "model": "text-moderation-007",
  "results": [
    {
      "flagged": true,
      "categories": {
        "sexual": false,
        "hate": false,
        "harassment": false,
        "self-harm": false,
        "sexual/minors": false,
        "hate/threatening": false,
        "violence/graphic": false,
        "self-harm/intent": false,
        "self-harm/instructions": false,
        "harassment/threatening": true,
        "violence": true
      },
      "category_scores": {
        "sexual": 1.2282071e-06,
        "hate": 0.010696256,
        "harassment": 0.29842457,
        "self-harm": 1.5236925e-08,
        "sexual/minors": 5.7246268e-08,
        "hate/threatening": 0.0060676364,
        "violence/graphic": 4.435014e-06,
        "self-harm/intent": 8.098441e-10,
        "self-harm/instructions": 2.8498655e-11,
        "harassment/threatening": 0.63055265,
        "violence": 0.99011886
      }
    }
  ]
}

API로부터 받은 응답에서 flagged 필드는 해당 콘텐츠가 OpenAI의 사용 정책을 위반하는 지 여부를 나타냅니다. categories 필드에는 해당 콘텐츠가 다른 카테고리를 위반하는 지를 나타내는 boolean 플래그가 포함되어 있고, category_scores 필드는 해당 카테고리 위반에 대한 신뢰 점수를 제공합니다. 높은 점수는 더 높은 위반 가능성을 나타냅니다. 이러한 점수는 확률로 해석해서는 안 됨에 유의해야 합니다.

OpenAI는 콘텐츠 모더레이션 API 뒤의 모델을 계속해서 업데이트할 예정이며, 이는 category_scores에 의존하는 사용자 정책이 시간이 흐름에 따라 계속 보정이 필요할 수 있음을 의미합니다.