
任意の文書コレクションをナレッジグラフに変換します。LLMを介してエンティティと関係を抽出し、あなたの承認を得て重複排除します。ドメインをマッピングし、隠れたつながりを見つけ、文書間のパターンを発見します — あなたとあなたのAIエージェントのために、持続し蓄積される知識です。すべてCLIから。
あらゆるドキュメントコレクションを知識グラフに変換します。
コード不要、データベース不要、インフラ不要 — CLIとドキュメントだけでOK。PDF、論文、記事、レコードを投げ込めば、すべてがどのように繋がっているかを示すブラウザブルな知識グラフを数分で取得できます。sift-kgはLLMを介してエンティティと関係性を抽出し、あなたの承認を得て重複を排除し、ブラウザで探索できるインタラクティブビューアを生成します。あらゆるものの概念マップを、いつでも手軽に。
可視化を支えるのと同じグラフは、AIセカンドブレインとしても機能します。NotionやObsidianで知識ベースを構築するのに何ヶ月も費やしている人ばかりです。そんな時間、誰にあるでしょうか? sift-kgは、2年ではなく2分で構築できる構造化された記憶です。ドキュメントを指定するだけで、あなたのAIはすべてがどのように繋がっているかを構造的に理解します。
ライブデモ → sift-kgによって完全に生成されたグラフ```bash pip install sift-kg
sift init # create sift.yaml + .env.example sift extract ./documents/ # extract entities & relations sift build # build knowledge graph sift resolve # find duplicate entities sift review # approve/reject merges interactively sift apply-merges # apply your decisions sift narrate # generate narrative summary sift view # interactive graph in your browser sift export graphml # export to Gephi, yEd, Cytoscape, SQLite, etc.
## 動作の仕組み```
Documents (PDF, DOCX, text, HTML, and 75+ formats)
↓
Text Extraction (Kreuzberg, local) — with optional OCR (Tesseract, EasyOCR, PaddleOCR, or Google Cloud Vision)
↓
Schema Discovery (LLM designs entity/relation types from your data — or use a predefined domain)
↓
Entity & Relation Extraction (LLM, using discovered or predefined schema)
↓
Knowledge Graph (NetworkX, JSON)
↓
Entity Resolution (LLM proposes → you review)
↓
Narrative Generation (LLM)
↓
Interactive Viewer (browser) / Export (GraphML, GEXF, CSV, SQLite)
すべてのエンティティとリレーションは、元のドキュメントと箇所にリンクされています。統合するものを制御できます。グラフはあなたのものです。
sift.yamlを置けば設定が永続化されますdiscovered_domain.yamlとして保存され、再利用や編集が可能。または構造化ドメイン(general、osint、academic)を使用して固定スキーマを適用するか、YAMLで独自のスキーマを定義することもできますsift search "SBF" でエンティティを名前またはエイリアスで検索し、オプションでリレーションや説明を出力--neighborhood、--top、--community、--source-doc、--min-confidence--ocr フラグ)、オプションのGoogle Cloud Visionフォールバック(--ocr-backend gcv)--max-cost でLLMの支出を制限sift-kgは、AIエージェントが直接操作できる構造化ナレッジを生成します。
siftをドキュメント、ノート、プロジェクトファイルに向けてください。出力されるJSONナレッジグラフは、あらゆるAIエージェントに、世界のあらゆるものがどのようにつながっているかについての永続的で構造化された理解を提供します。手動による整理、タグ付け、Wikiリンクは不要です。構造はコンテンツから自然に生まれます。```bash sift extract ./my-stuff/ sift build sift topology # structural overview (JSON, for agents) sift query "topic" # entity neighborhood subgraph (JSON, for agents) sift search "X" --json # entity lookup (JSON, for agents) sift info --json # project stats (JSON, for agents)
グラフはセッションを跨いで永続し、段階的に成長します — 新しいドキュメントを同じ出力ディレクトリに抽出して再構築します。エンティティの重複排除により、グラフが成長しても一貫性を保ちます。
**これがエージェントに与えるもの:**
- **構造** — テキストチャンクだけでなく、エンティティ、関係、コミュニティ、それらの接続方法
- **トポロジー** — どの知識クラスターが存在するか、それらを橋渡しするもの、孤立しているもの
- **耐久性** — グラフはコンテキストウィンドウのリセット後も存続します。エージェントは毎セッションゼロから始める必要がなくなります
**バンドルされたエージェントスキル:** sift-kg には `.agents/skills/sift-kg/SKILL.md` にスキルが同梱されており、エージェントにナレッジグラフを永続メモリとして使用する方法(セッションのオリエンテーション、エンティティ探索、知識島のリンク推論、根拠のある提案生成)を教えます。
## バンドルされたドメイン
sift-kg にはすぐに使用できる特殊なドメインが同梱されています:```bash
sift domains # list available domains
sift extract ./docs/ --domain-name osint # use a bundled domain
sift.yaml にドメインを設定すると、毎回フラグを指定する必要がなくなります:```yaml
domain: academic
バンドル名(`schema-free`、`general`、`osint`、`academic`)またはカスタムYAMLファイルへのパスで動作します。
| ドメイン | 焦点 | 主要なエンティティタイプ | 主要な関係タイプ |
|--------|-------|------------------|--------------------|
| `schema-free` | データから自動発見(デフォルト) | *(LLMがコーパスごとに設計)* | *(LLMがコーパスごとに設計)* |
| `general` | 一般的な文書分析 | PERSON, ORGANIZATION, LOCATION, EVENT, DOCUMENT | ASSOCIATED_WITH, MEMBER_OF, LOCATED_IN |
| `osint` | 調査・FOIA | SHELL_COMPANY, FINANCIAL_ACCOUNT | BENEFICIAL_OWNER_OF, TRANSACTED_WITH, SIGNATORY_OF |
| `academic` | 文献レビュー・トピックマッピング | CONCEPT, THEORY, METHOD, SYSTEM, FINDING, PHENOMENON, RESEARCHER, PUBLICATION, FIELD, DATASET | SUPPORTS, CONTRADICTS, EXTENDS, IMPLEMENTS, EXPLAINS, PROPOSED_BY, USES_METHOD, APPLIED_TO, INVESTIGATES |
**academic** ドメインは、研究分野の知的ランドスケープをマッピングします。論文を入力すると、理論、手法、システム、発見、概念がどのように結びついているかを示すグラフが得られます。抽象的なアイデア(THEORY, METHOD)と具体的な成果物(SYSTEM — 例:GPT-2、BERT、GLUE)を区別します。文献レビュー、トピックマッピング、そしてアイデアがどこで一致し、矛盾し、あるいは互いに基づいて構築されているかを理解するために設計されています。
**schema-free** ドメイン(デフォルト)は、抽出前に**スキーマ発見**ステップを実行します。1回のLLM呼び出しで文書をサンプリングし、コーパスに合わせたエンティティタイプと関係タイプを設計します。発見されたスキーマは `output/discovered_domain.yaml` に保存され、後続の実行で再利用されるため、すべてのチャンクと文書間でタイプの一貫性が保たれます。ファイルを検査、手動編集、またはカスタムドメインの開始点としてコピーできます。再発見するには `--force` を使用します。関係を ASSOCIATED_WITH のような定義済みカテゴリに強制的に当てはめるのではなく、FUNDED、TESTIFIED_AGAINST、ENROLLED_AT のような具体的なタイプを生成します。あらかじめ定義した固定スキーマが必要な場合は、`general` や `osint` のような構造化ドメインを使用してください。
**general** ドメインは、PERSON、ORGANIZATION、LOCATION、EVENT、DOCUMENT のエンティティタイプと一般的な関係タイプを持つ固定スキーマを提供します。文書間で予測可能で一貫したタイプが必要な場合に便利です。
**osint** ドメインは、シェル会社、金融口座、オフショア管轄区域のエンティティタイプと、受益者所有権や資金フローを追跡するための関係タイプを追加します。
あなたの承認なしには何もマージされません。LLMが提案し、あなたが検証します。すべての抽出結果は、元の文書とパッセージにリンクされています。
概念グラフとしてマッピングされた12の基礎的なAI論文(425エンティティ、約$0.72)については [`examples/transformers/`](https://github.com/juanceresa/sift-kg/blob/main/examples/transformers) を、FTX崩壊(9記事から431エンティティ)については [`examples/ftx/`](https://github.com/juanceresa/sift-kg/blob/main/examples/ftx) を参照してください。[**ライブデモを探索する**](https://juanceresa.github.io/sift-kg/) — インストール不要、APIキー不要。
## Civic Table
法医学的リーガル分析とアナリストによる検証を備えたホスティングプラットフォームをお探しですか?
[**Civic Table**](https://github.com/juanceresa/forensic_analysis_platform) は、sift-kg パイプライン上に構築された法医学インテリジェンスプラットフォームです。AIが抽出した事実が証拠として扱われる前に、アナリストとJDが検証する4段階の検証システム、法務提出用のLaTeX書類生成、結果をクライアントや家族と共有するためのWebインターフェースを追加します。財産回復、調査ジャーナリズム、そして文書の出所が重要となるあらゆるコンテキストのために構築されています。
sift-kg はオープンソースのCLIです。Civic Table は完全なプラットフォームであり、アナリストとJDによって出力が検証されてから証拠としての重みを持つようになります。
## インストール
Python 3.11+ が必要です。```bash
pip install sift-kg
OCRサポート(スキャンされたPDF、画像)の場合:```bash
brew install tesseract # macOS sudo apt install tesseract-ocr # Ubuntu/Debian
代替バックエンドとしてGoogle Cloud Vision OCRを使用する場合(オプション):```bash
pip install sift-kg[ocr]
# Then use: sift extract ./docs/ --ocr --ocr-backend gcv
エンティティ解決時のセマンティッククラスタリング用に(オプション、PyTorchの場合は約2GB):```bash pip install sift-kg[embeddings]
開発用:```bash
git clone https://github.com/juanceresa/sift-kg.git
cd sift-kg
pip install -e ".[dev]"