v0.1.0-alpha.0利用可能になりました

ローカル・セマンティック検索。
APIキー不要。100%プライベート。

3KB未満の超軽量なブラウザ実行環境で、ドキュメントサイトに瞬時のセマンティック検索を導入。ネットワークへの依存なし、APIコストなし。

始める
ローカルモデル 100%プライベート 純粋算術クライアント 追加費用ゼロ
docmd-search sandbox
User Authentication & Sessions
/getting-started/security
98% match
Configure how your application handles user login, secure cookies, token generation, and stateless session verification.
Configuring Custom Secure Routes
/configuration/routing
89% match
Define private directories and redirect configurations for unauthenticated guest sessions trying to access signin paths.

プライベート・セマンティック検索

サードパーティのサービスを使用せずに、最新のベクトル検索を静的ドキュメントに直接組み込みます。

超軽量クライアント

ブラウザのランタイムは3KB未満(gzip圧縮時)です。モデル重みのダウンロードは不要で、ニューラルネットワークも実行しません。純粋な算術演算のみで瞬時のハイブリッドスコアリングを行います。

オフライン・インデックス構築

ビルド時にONNX Runtimeを用いてローカルでベクトル埋め込み(embeddings)を構築・量化します。クライアント側ではBM25キーワードマッチとコサイン類似度を融合して再ランクします。

ハイブリッド再ランク

高速なBM25キーワードマッチとベクトル類似度を組み合わせ、最高の検索適合性と速度を実現します。

対応しているベクトル埋め込みモデル

ドキュメントの規模や対象言語に合わせて、最適な埋め込みモデルをお選びください。

モデル名 次元数 サイズ 対応言語 最適な用途
MiniLM L6 v2 ★ 384 ~23 MB 英語のみ 高速、一般的な英語ドキュメント
Multilingual MiniLM L12 384 ~118 MB 50以上の言語 多言語(i18n)ドキュメンテーション
Multilingual E5 Small 384 ~118 MB 100以上の言語 広範な言語カバー力
Multilingual MPNet Base 768 ~270 MB 50以上の言語 最高品質の多言語対応

💡 多言語ドキュメントに関するヒント: ドキュメントサイトが英語、中国語、ドイツ語、スペイン語などの多言語で構成されている場合は、必ず docmd-search --settings コマンドで多言語モデルを選択してください。デフォルトのモデルは英語専用であるため、他の言語では検索精度が大幅に低下します。 If your documentation website contains multiple languages (such as English, Chinese, German, Spanish, etc.), select a multilingual model using docmd-search --settings. The default model is English-only and will produce poor search relevance for other languages.

ピュアクライアントAPI:独自のUI構築

極めて軽量な(圧縮後5KB未満)クライアントランタイムで、BM25とベクトルコサイン類似度のハイブリッドスコアリングを用いて完全にブラウザ上で実行されます。

import * as Search from 'docmd-search/client';
// 1. Initialise and load index folder.
// Batch 0 is loaded instantly for sub-millisecond search startup,
// while remaining chunk batches load progressively in background.
await Search.load('/.docmd-search', (loaded, total) => {
  console.log(`Loaded batch ${loaded}/${total}`);
});
// 2. Query search using hybrid vector + keyword matching.
const results = Search.search('authentication secure routes', 10);
results.forEach(({ score, chunk }) => {
  console.log(`[${(score * 100).toFixed(0)}%] ${chunk.file}#${chunk.heading || ''}`);
  console.log(chunk.text);
});

コマンドラインで一瞬で導入

ローカルの検索インデックスを瞬時に構築し、適合度(Relevance)を検証できます。

ターミナル
$ npx docmd-search --build
 Loaded local vector model
 Generated static index: .docmd-search/index.json

検索に関するよくある質問

docmdのオフライン・セマンティック検索に関するすべての質問にお答えします。

docmd検索は完全にクライアント側で実行されますか?
はい。検索ランタイムはすべてのベクトル類似度計算とキーワードインデックス処理をユーザーのブラウザ上で直接実行します。クラウドインフラや外部の検索APIは一切不要です。

docmd-searchのドキュメントを読む →
アクセスするたびにONNXモデルの重みがダウンロードされますか?
いいえ。モデルの重みは、ビルド時にNode.jsを使用して静的検索ベクトルインデックスを生成する際のみロードされます。クライアント側のランタイムは、圧縮されたJSON形式の静的インデックス(チャンク)のみをダウンロードします。

オフライン検索の仕組みについて学ぶ →
検索プラグインを多言語で使用できますか?
はい。ドキュメントが多言語の場合は、50以上の言語をサポートする paraphrase-multilingual-MiniLM-L12-v2 などの多言語対応埋め込みモデルを選択してください。

多言語対応の検索モデルについて学ぶ → which supports over 50 languages.

Learn about multi-language search models →
showConfidenceとは何ですか?どのように機能しますか?
showConfidence フラグを有効にすると、各セマンティック検索結果の横に正確な類似度マッチング比率のバッジが表示され、ユーザーが検索の関連度を視覚的に理解しやすくなります。

ブラウザクライアントの設定について読む → flag, when enabled, displays the exact similarity matching percentage badge next to each semantic result, helping users visually understand search relevance.

Read about browser-client settings →

より良いドキュメントを書く準備はできましたか?

docmdで高速かつ美しいドキュメントを構築している開発者の仲間入りをしましょう。