← プロジェクト一覧

データ処理

Type-011

Type-011 は設定したソースから投稿を収集し、編集履歴を保存してベクトル埋め込みを生成します。イベント駆動のパイプラインで収集と推論を分離し、ローカルまたはリモート環境でワーカーを実行します。

  • Python
  • FastAPI
  • Pydantic
  • SQLAlchemy
  • Alembic
  • PostgreSQL
  • pgvector
  • RabbitMQ
  • Debezium
  • PyTorch
  • Qwen3
  • MLOps
  • Docker
  • CI/CD
  • GitHub Actions
  • Prometheus
  • Grafana
  • Clean Architecture
  • Distributed Computing

主な機能

  • 過去の投稿の収集と継続的な同期。編集履歴と削除状態も追跡します。
  • 収集ソースの管理と同期状況の確認ができる Web 画面。
  • Qwen3 によるバッチ埋め込み生成。ベクトルを投稿バージョンとモデルに関連付けて pgvector に保存します。
  • ベクトル保存の冪等性、遅延再試行、失敗タスクの隔離、未生成の埋め込みを補完する照合処理。

構成

コレクターは投稿の新しいバージョンとイベントを同じ PostgreSQL トランザクションで保存します。Debezium がコミット済みのイベントを RabbitMQ に転送し、独立したワーカーが埋め込み生成タスクを取得してベクトルを保存します。

構成

図を読み込み中…

ソースからコレクターを通じて PostgreSQL に投稿を保存します。Debezium が RabbitMQ にイベントを転送し、GPU ワーカーが埋め込みを生成して pgvector に保存します。

リモートワーカー

GPU ワーカーはアプリケーションとは別に動作し、タスクキューを共有します。ワーカーごとにデバイス、リソース、バッチの設定が可能です。リモートのワーカーは SSH トンネル経由でサービスに接続します。

オブザーバビリティ

Prometheus のメトリクスを2つの Grafana ダッシュボードで確認できます。

  • 収集状況:ソースの稼働状況、保存済み投稿と編集履歴、受信イベント、処理結果、遅延。
  • RabbitMQ 運用:キューの滞留、処理速度とタスクの待機時間、コンシューマーの稼働状況、再配信。