Work

OWNED(動画配信プラットフォーム)

マルチテナントのB2B動画配信プラットフォームの開発。文字起こしパイプラインやRAGチャットなど、AIまわりはほぼ自分が実装。

マルチテナント構成のB2B動画配信プラットフォームを開発しています。全体管理者、クライアント管理者、視聴者の3ロール構成で、クライアント企業ごとにテナントを提供する形です。文字起こしやRAGチャットなど、AIまわりはほぼ自分が作りました。インフラや認証などの基盤も担当しています。

文字起こしパイプライン

アップロードされた動画から文字起こしを作る一連のパイプラインです。

  • AWS Transcribeで文字起こし。Transcribeの2GB制限に当たる動画があるので、先に音声だけ抽出してから投げるパイプラインにした
  • 手動起動用のAPIと管理画面のボタン、完了を受けるWebhookを用意
  • 話者分離の結果からSpeakerレコードを自動生成し、動画フレームのOCRと顔検出を組み合わせて話者名の候補を自動で付ける。登壇者のプロフィールはClaudeとWeb検索で自動生成する仕組みも作った

視聴者向けAIチャット

動画の内容について視聴者が質問できるチャットです。

  • 文字起こしをembedding化して pgvector に保存し、RAGで回答を生成
  • チャットUIはストリーミング対応。回答には該当箇所の時刻リンクが入り、クリックすると動画がその位置にシークする
  • 話者認識のembeddingを使ってRAGの精度を上げる改善も入れた
  • Redisベースのレート制限とクォータ管理で、テナントごとの利用量を制御

基盤・運用

  • Cognito認証、S3 + CloudFrontの配信、ECSデプロイ。ハードコードされていたクレデンシャルをIAM Roleに移行
  • GDPR対応として、登壇者が自分の情報を削除できるオプトアウトフローを実装。AI生成プロフィールにはソース信頼度の防御層を入れた
  • 環境変数をローカルとAWS間で双方向同期するスクリプト、MUIからTailwindへのUI統一

使った技術

  • Next.js / TypeScript / Prisma
  • AWS (Transcribe / Cognito / S3 / CloudFront / ECS / Lambda)
  • pgvector / OpenAI / Claude API
  • Redis