Our Works
開発実績
.png%3Falt%3Dmedia%26token%3Db2e0fcf7-b419-4f17-9faf-85cd2bfc63e2&w=3840&q=75)
NGワード検出APIサーバー
概要
micomiaでは、アプリ開発やWebサービス開発の中で「APIサーバーの設計・構築」を数多く行っています。
その技術をわかりやすく体験できるように、誰でも会員登録して実際に使える「NGワード検出APIサーバー」を公開しています。
これは単なるツールではなく、「APIサーバーをどのように設計し、運用するのか」を体験できるサンプルシステムです。
今回はSNSアプリ、掲示板、チャットサービスなどで必要になる「不適切投稿の検出」をテーマにしています。
このAPIでできること
このAPIでは、送信されたテキストを解析し、不適切な投稿やNGワードの可能性を検出します。
例えば次のような用途で利用できます。
・SNSアプリの投稿チェック
・コメント欄のモデレーション
・チャットアプリの不適切発言検出
・コミュニティサービスの投稿監視
APIにテキストを送信するだけで判定結果が返るため、アプリ側では簡単にNGワードフィルター機能を実装できます。
利用方法
APIの利用方法は非常にシンプルです。
会員登録
ダッシュボードでAPIキーを発行
APIキーをヘッダーに含めてリクエスト送信
例:
POST /v1/moderation
Header
Content-Type: application/json
X-API-KEY: your-api-keyBody
{
"text": "判定したいテキスト"
}このようにAPIにテキストを送信すると、判定結果がJSONで返却されます。
利用制限
本APIは展示用のため、過剰な利用を防ぐために制限を設けています。
・短期レート制限
→ 10秒に1回
・1日あたり
→10リクエスト
・最大文字数
→2000文字
実際のプロダクトでは、これらの制限は用途に応じて変更できます。
ダッシュボード
ダッシュボードでは次の操作が可能です。
・APIキーの発行
・利用方法の確認
・APIリクエストログの確認
カスタマイズできるポイント
この展示はあくまでサンプルのため、実際のプロダクトでは以下のようなカスタマイズが可能です。
1.ロジック
今回は不適切ワードの検出をテーマとして行いましたがシステム化できるものであれば基本的に何でもAPIサーバーとしてサービスを提供することが可能です。
2. 利用制限
レート制限はサービスに応じて調整できます。
例
・1秒10リクエスト
・1日1000回
・ユーザーごとの制限
など柔軟に設定できます。
3.API認証方式
現在はAPIキー認証ですが、以下のような方式にも変更できます。
・JWT認証
・OAuth
・ユーザー認証連携
4.ログ管理
API利用ログは
・分析用ログ
・不正検知
・課金管理
などの用途に応じて拡張できます。
課題・取り組み
SNSやコミュニティサービスなどの開発では、外部から利用されるAPIサーバーを構築する機会が増えています。
しかし実際にAPIを公開する場合、単にエンドポイントを作るだけでは不十分です。認証(APIキー)、レート制限、不正利用対策、リクエストログ管理、管理ダッシュボードなど、運用を前提とした設計が必要になります。
また、これらをゼロから設計するには時間がかかり、どのような構成でAPIサービスを作るべきか悩む開発者も少なくありません。
本展示では、NGワード検出というシンプルな機能を題材に、公開型APIサービスの基本構成を体験できるAPIサーバーのサンプルを公開しています。
APIキー発行、利用制限、ログ管理など、実際のAPIサービス運用に必要な仕組みを確認することができます。