The open data layer for manufacturing AI製造業AIのためのオープンなデータレイヤー

PureStrata ingests drawings, spec sheets, and failure knowledge into one portable, provenance-tagged corpus. Any LLM can query it through MCP or tool calling, and the same corpus exports as fine-tuning datasets.PureStrataは図面・仕様書・不具合ナレッジを、1つのポータブルで出所証明(プロビナンス)付きのコーパスに取り込みます。MCPやツール呼び出しでどのLLMからでも検索でき、同じコーパスから微調整用データセットを書き出せます。

Python 3.10+ · MIT License · zero required dependencies for the corePython 3.10+ · MITライセンス · コアは必須依存ゼロ

manualsマニュアルMD / PDF
drawings図面DXF / STEP
failure logs不具合記録CSV / JSONL
→
ingest取り込みclean → structure → provenanceクリーニング → 構造化 → 出所付与
→
corpus*.strata.jsonl
→
MCP server
tool callingツール呼び出しGrok / OpenAI / local
fine-tuning datasets微調整データセットchat / tool-trace / CoT

Why this existsなぜ作ったのか

Manufacturing is where LLMs struggle most: CAD drawings, dense maintenance manuals, and failure knowledge locked in spreadsheets. Japanese factories in particular hold decades of primary data that never reaches the open web.製造業はLLMが最も苦手とする領域です。CAD図面、高密度な保全マニュアル、そしてスプレッドシートに閉じ込められた不具合ナレッジ。特に日本の工場には、Web上に存在しない一次データが蓄積されています。

LLMs are weak on manufacturing dataLLMは製造業データが苦手

CAD files, dense spec sheets, and failure logs are exactly the data that never made it into pretraining corpora.CADファイル・高密度な仕様書・故障記録こそ、事前学習データに入り込まなかったデータです。

Failure knowledge is the missing stratum不具合ナレッジという欠けていた地層

Most RAG retrieves manual text. Factory troubleshooting runs on symptom → cause → countermeasure records. PureStrata treats them as first-class structured data.多くのRAGはマニュアル本文のみを検索します。工場のトラブルシューティングは「現象→原因→対策」の記録で回っています。PureStrataはそれを第一級の構造化データとして扱います。

Provenance is non-negotiable出所証明は譲れない条件

Every record keeps its source file and locator, so any answer can be audited back to the drawing, section, or row it came from.すべてのレコードが元ファイルと位置を保持し、回答がどの図面・セクション・行から来たか監査できます。

No lock-inロックインなし

The corpus is plain JSONL you own. Zero required dependencies. Runs locally, air-gap friendly, with Japanese search built in.コーパスは自分のもののプレーンなJSONL。必須依存はゼロ。ローカル実行・エアギップ対応で、日本語検索も組み込み済みです。

Three record families, first-class data第一級データとして扱う3つのレコード族

One schema (purestrata/v1) covers the documents a factory actually troubleshoots with. Every record carries provenance: source file plus locator.工場の実務で使う文書を1つのスキーマ(purestrata/v1)で扱います。すべてのレコードに「元ファイル+位置」の出所情報が付きます。

Spec sheets & manuals仕様書・マニュアル

manual_sectionproceduresafety_noticepart_record

Chunked passages with section paths, ordered maintenance steps, severity-tagged warnings, and parts tables.セクションパス付きのチャンク、順序付きの保全手順、重大度タグ付きの安全警告、部品表。

Drawings図面

drawing

ASCII DXF: title block, layers, annotations, hole diameters, fit callouts (e.g. 25 H7), and size. STEP (AP203/214/242): products, assembly tree with quantities, units, cylindrical features, and size — read by a dependency-free parser.ASCII DXF: タイトルブロック・レイヤー・注記・穴径・公差指示(例: 25 H7)・サイズ。STEP(AP203/214/242): 製品・数量付き組立ツリー・単位・円筒形状・サイズを、依存ゼロのパーサーで読み取ります。

Failure knowledge不具合ナレッジ

failure_case

Symptom, root cause, countermeasure, severity, and tags. Search past failures before the manual: troubleshooting-first retrieval.現象・根本原因・対策・重大度・タグ。マニュアルの前に過去の不具合を検索する、トラブルシューティング優先の検索です。

Ten tools, identical over every surfaceどの経路でも同一の10ツール

The same ten tools run over MCP, OpenAI-style tool calling, Anthropic schemas, the Python API, and the CLI. Your corpus stays local; results go back to the model with provenance.同じ10ツールがMCP、OpenAI互換ツール呼び出し、Anthropicスキーマ、Python API、CLIで動きます。コーパスは手元に置いたまま、出所付きの結果だけがモデルに戻ります。

list_corpusInventory: record counts and loaded documentsレコード数と読み込み済み文書の一覧
search_documentsRanked passage search, English and Japanese英語・日本語対応のランキング検索
get_safety_noticesWarnings and cautions, optionally ranked警告・注意の一覧(ランキング可能)
get_procedureFull ordered steps of one procedure1つの保全手順の全ステップ
search_partsParts lookup from parts lists部品表からの部品検索
list_drawingsCAD inventory across DXF and STEPDXF/STEP横断のCADインベントリ
get_drawingFull drawing metadata by IDIDで図面メタデータを取得
search_drawingsGeometry search: hole diameter (mm), fit class, material, format穴径(mm)・公差クラス・材料・形式のジオメトリ検索
search_failure_casesTroubleshooting first: match symptoms to past failures過去の不具合との症状照合(トラブルシューティング優先)
get_failure_caseOne full case by IDIDで1件の不具合事例を取得

Quickstartクイックスタート

Install, ingest, query like an LLM would, then export training data from the same corpus.インストールして取り込み、LLMと同じ形式で検索し、同じコーパスから学習データを書き出します。

# install (Python 3.10+)
uv add purestrata            # or: pip install purestrata

# ingest drawings, spec sheets, and failure knowledge into a corpus
purestrata ingest-manual manual.md --out corpus/
purestrata ingest-dxf drawing.dxf --out corpus/
purestrata ingest-step model.step --out corpus/
purestrata ingest-failures failures.csv --out corpus/

# query exactly the way an LLM would
purestrata search "spindle vibration" --corpus corpus/
purestrata call search_drawings '{"min_diameter": 24, "fit": "H7"}' --corpus corpus/

# export fine-tuning datasets from the same corpus
purestrata export chat       --corpus corpus/ --out dataset_chat.jsonl
purestrata export tool_trace --corpus corpus/ --out dataset_tools.jsonl
purestrata export cot        --corpus corpus/ --out dataset_cot.jsonl

Works with any LLMどのLLMとも連携

No model is special. Register the MCP server, or pass the bundled schemas to an OpenAI-compatible API, or just use Python.特定モデルへの依存はありません。MCPサーバーを登録するか、OpenAI互換APIにスキーマを渡すか、Pythonで直接使うか。

MCP

Any MCP client任意のMCPクライアント

Claude Desktop, Claude Code, Factory Droid, Cursor, VS Code. No install needed with uvx:Claude Desktop、Claude Code、Factory Droid、Cursor、VS Code。uvxならインストール不要です:

{
  "mcpServers": {
    "purestrata": {
      "command": "uvx",
      "args": ["--from", "purestrata[mcp]",
               "purestrata", "serve",
               "--corpus", "/abs/path/to/corpus"]
    }
  }
}

Full setup guide (EN/JA) →セットアップガイド(英/日)→

Grok / OpenAI / local

OpenAI-compatible tool callingOpenAI互換ツール呼び出し

Print the ready-made schemas, pass them to the chat completions endpoint, and execute returned tool calls locally. Your data never leaves your machine except to the endpoint you choose.同梱のスキーマを出力してchat completionsエンドポイントに渡し、返ってきたツール呼び出しをローカルで実行します。選んだエンドポイント以外にデータは出ません。

purestrata tools openai
purestrata tools anthropic

Runnable example →実行例 →

Python

Library APIライブラリAPI

import purestrata as ps

chunks = ps.ingest_manual("manual.md")
chunks += ps.ingest_failures("failures.csv")
ps.write_chunks(chunks, "corpus/", "my_doc")

executor = ps.ToolExecutor(ps.Corpus.load("corpus/"))
hits = executor.execute(
    "search_failure_cases",
    {"query": "spindle vibration", "top_k": 3},
)

Status and roadmap現状とロードマップ

Current (v0.2.0)現状(v0.2.0)

Ingestion of Markdown, PDF, ASCII DXF, STEP (AP203/214/242), and CSV/JSONL failure logs. BM25 search with Japanese support. Drawing geometry search (hole diameter, fit class, material, CAD format). MCP server, OpenAI/Anthropic tool schemas, and chat / tool-trace / CoT fine-tune exports.Markdown、PDF、ASCII DXF、STEP(AP203/214/242)、CSV/JSONL不具合ログの取り込み。日本語対応BM25検索。図面ジオメトリ検索(穴径・公差クラス・材料・CAD形式)。MCPサーバー、OpenAI/Anthropicツールスキーマ、chat / tool-trace / CoTの微調整書き出し。

Planned予定
  • HTML and DXF R2018 ingestionHTML・DXF R2018の取り込み
  • Per-layer geometry searchレイヤー単位のジオメトリ検索
  • Embedding search埋め込み(embedding)検索
  • Evaluation harness for fine-tune sets微調整データセットの評価ハーネス
  • Hosted SaaS for teams: managed ingestion, access control, expert review workflowsチーム向けホスティングSaaS: 管理された取り込み、アクセス制御、専門家レビュー