gg-friggin-ez icon

gg-friggin-ez

gg-friggin-ezは、多言語・翻字・コード混在・難読化されたユーザー生成テキストの不適切表現や有害性を検出するNode.jsパッケージです。チャット、ゲーム内通信、コメントなどを素早く判定し、簡易な真偽値チェックまたは詳細なモデレーション結果を返します。

gg-friggin-ez

Node.js向け多言語テキストモデレーション

gg-friggin-ezは、不適切表現、有害性、敵意、嫌がらせ、個人攻撃についてユーザー生成テキストをスクリーニングするオープンソースのNode.jsパッケージです。リートスピーク、挿入された空白、反復文字、ローマ字表記、コード混在、異なる文字体系の混在など、単純なキーワードリストを回避しうるコンテンツ向けに設計されています。

このパッケージは、会話形式の応答を生成するのではなく、System 1の判定モデルを使用します。デフォルトのTypeSafe AI Jev構成では、不適切表現や有害性のフラグ、重大度、検出言語、難読化の種類、推奨アクション、計測リクエストレイテンシなどのモデレーションシグナルを返します。開発者は、素早いチェックには真偽値ヘルパーを使用し、完全な結果が必要な場合はscreen()を呼び出せます。

機能

構造化されたモデレーション結果

重大度レベルをNONEからSEVEREまで設定し、0.0から2.0までの連続的な重大度スコアとともに、不適切表現と有害性を個別に判定して返します。

回避パターンに対応した検出

リートスピーク、文字間への空白挿入、文字の反復、記号による置換、ローマ字表記、コード混在、異なる文字体系の混在など、一般的な回避パターンを検出します。

多言語・翻字テキスト

ベンガル語、マラヤーラム語、ヒンディー語、タミル語、テルグ語、カンナダ語を含む英語およびインド系言語のコンテンツに対応し、READMEで説明されている翻字入力もカバーします。

シンプルなNode.js API

isProfane()とisToxic()の便利な関数に加え、複数のモデレーションシグナルを返す単一リクエスト用のscreen()を提供します。

差し替え可能なスクリーニング

デフォルトのSystem 1モデルとしてTypeSafe AI Jevを使用し、screener設定を通じて別の分類器やカスタムスキーマを指定できます。

アクション指向の出力

コンテンツをALLOW、SUSPICIOUS_REVIEW、AUTO_CENSOR、AUTO_BANに分類でき、自動処理と、判断が曖昧なケースのレビュー経路を併用できます。

ユースケース

  • ライブチャットとコミュニティメッセージング

    メッセージを公開する前にモデレーションチェックを実行し、アクションと重大度のフィールドを使って、コンテンツの許可、レビュー対象としてのフラグ付け、検閲、ブロックを行います。

  • ゲームチャットのモデレーション

    短い応答時間と難読化の検出が重要な、プレイヤーメッセージやゲーム内テキスト通信をスクリーニングします。

  • ソーシャル、レビュー、マーケットプレイスのコンテンツ

    翻字された、またはコード混在した地域言語の不適切な表現を含む可能性があるコメント、レビュー、マーケットプレイス上の会話を評価します。

  • モデレーション業務とレビューキュー

    詳細な言語フィールドと難読化フィールドを使って、トラスト&セーフティのキューを支援し、ユーザーがどのようにフィルターを回避しているかを調査します。

  • カスタムモデレーションパイプライン

    カスタムスキーマを指定するか、screener設定を通じてデフォルトの分類器を置き換えることで、ドメイン固有のモデレーションワークフローを構築します。

Pros and Cons

Pros

  • 静的なキーワードフィルターでは見逃す可能性がある、難読化、ローマ字表記、翻字、コード混在、異なる文字体系の混在によるコンテンツを対象にできます。
  • 素早い真偽値チェックと、重大度、言語、難読化、アクション、レイテンシの各フィールドを含む詳細なモデレーション応答の両方を提供します。
  • 自動的な許可、検閲、BANの結果に加えて、レビューを前提としたアクションにも対応します。
  • ESM、CommonJS、TypeScript型定義のバンドルに対応し、Node.js 18以降向けに提供されます。
  • デフォルトのSystem 1分類器を置き換え、カスタムのスクリーニングスキーマを定義できます。

Cons

  • 推論リクエストとOpenRouter APIキーに依存するため、レイテンシと運用コストは、設定したモデルやリクエスト条件によって変動する可能性があります。
  • プロジェクトのドキュメントでは、すべてのコンテンツタイプにわたる包括的な言語対応範囲、精度、偽陽性・偽陰性の性能は確立されていません。
  • isProfane()とisToxic()を別々に呼び出すと個別の推論リクエストが発生します。複数のシグナルが必要な場合はscreen()の方が適しています。

FAQ

gg-friggin-ezをインストールして設定するにはどうすればよいですか?

npm、Yarn、pnpm、またはBunでパッケージをインストールします。Node.js 18以降、またはBunが必要で、ESM、CommonJS、TypeScript型定義をバンドルしたビルドを提供します。APIリクエストにはOpenRouter APIキーが必要で、環境変数から指定するか、createScreener()に渡せます。

モデレーション結果にはどのAPIを使用すべきですか?

個別の真偽値チェックにはisProfane()またはisToxic()を使用します。重大度、言語、検出された難読化、推奨アクション、計測レイテンシを含む完全なモデレーション結果が必要な場合は、screen()を使用します。

別のモデルやカスタムのスクリーニングスキーマを使用できますか?

デフォルト設定ではTypeSafe AI Jevを使用します。また、system1オプションを通じて別のSystem 1分類器を指定できます。カスタムのスクリーニングスキーマにも対応しています。

どのような多言語テキストや難読化テキストを検出できますか?

READMEでは、ベンガル語、マラヤーラム語、ヒンディー語、タミル語、テルグ語、カンナダ語を含む英語およびインド系言語への対応が説明されています。ローマ字表記または翻字されたテキスト、コード混在、リートスピーク、文字間への空白挿入、文字の反復、異なる文字体系の混在を処理することを想定しています。

レイテンシとリクエスト使用量について知っておくべきことは何ですか?

プロジェクトでは、デフォルトのJev構成でエンドツーエンドの標準的なレイテンシが約50~500ミリ秒と説明されています。ただし、実際のレイテンシはscreen()の結果として返され、推論リクエストやデプロイ環境の条件によって異なります。READMEには、isProfane()またはisToxic()を呼び出すたびに推論リクエストが発生することも記載されています。

Quick Facts

カテゴリー
開発者向けツール · AIコンテンツモデレーション
プラットフォーム
Node.js 18以降またはBun
パッケージ形式
TypeScript型定義をバンドルしたESMおよびCommonJS
デフォルトモデル
TypeSafe AI Jev
主な用途
チャット、コメント、レビュー、その他のユーザー生成テキストのリアルタイムスクリーニング
ソース
github.com/ItisShikhar/gg-friggin-ez