はじめに
DataCoreはナレッジウェアハウスです。チームが生のリソース (PDF、GitHubリポジトリ、CSV、音声、 Markdown) を登録すると、システムは各リソースを設定可能なプラグインステップのパイプラインへ 自動的にルーティングし、パイプラインは下流のLLMが問い合わせ可能な再利用可能な成果物 (ベクトル 埋め込み、ナレッジグラフ、要約、またはカスタム分析データ) を生成します。
コアコンセプト
| 概念 | 内容 |
|---|---|
| リソース (Resource) | ユーザーが登録する生データの1件 — 名前、ソース (アップロードファイルまたはURL)、タイプを持ちます。すべてのリソースにはステータスがあります: Pending → Processing → Completed/Failed。 |
| パイプライン (Pipeline) | 特定のリソースタイプに対して自動的に実行される、順序付けられた処理ステップの並びです。トリガータイプごとに最大1つのパイプラインが存在します。 |
| プラグイン (Plugin) | パイプラインの1ステップを実行し、イベントブローカー経由で成果物 (または失敗) を報告する独立したワーカー (専用のDockerコンテナ) です。 |
| 成果物 (Artifact) | プラグインステップによってリソースに対して生成される再利用可能な出力 — ベクトル埋め込み、グラフ、テキスト要約、またはプラグインが定義する任意のカスタム分析データタイプです。 |
なぜイベント駆動なのか
コア (ウェアハウスAPI) とプラグインワーカーは同期的に互いを呼び出しません。代わりに:
- リソースがパイプラインに一致すると、コアが
RESOURCE_CREATEDを発行します。 - Pipeline Routerがそれを受け取り、最初のステップを
PIPELINE_STEP_DISPATCHEDイベントとして、 担当プラグインへルーティングします。 - プラグインは処理を行い、単一の内部HTTPコールバック (
POST /api/v1/internal/artifacts/{resource_id}) 経由で結果を報告します — これがシステム全体で 唯一の同期呼び出しです。 - コアは次のステップへ進むか、リソースを
Completed/Failedとしてマークします。
これにより、プラグインがクラッシュ・ハング・低速になっても、コアや他のプラグインを停止させることは 決してありません — 詳しい理由はアーキテクチャを参照してください。
自分で実行してみたいですか? クイックスタートへ進んでください。