このリポジトリは、Obsidianのノートをベクトルデータベース(Qdrant)に変換し、意味検索を可能にするツールです。
Obsidian-Qdrantは以下の機能を提供します:
- Obsidianのマークダウンノートをベクトル埋め込みに変換
- Qdrantベクトルデータベースでの効率的な保存と検索
- Claude Desktopとの連携によるAI強化検索体験
Docker Composeを使用して、Qdrantサーバーを簡単に起動できます:
docker-compose up -dこれにより、ローカルの6333ポートでQdrantサーバーが起動します。データは./qdrant_dbディレクトリに永続化されます。
Qdrantでコレクションを作成するには、以下のスクリプトを実行します:
python create_collection_text_dense.pyこのスクリプトは「obsidian_rag」という名前のコレクションを作成し、384次元のCosine距離を使用するベクトル設定を行います。
main.pyファイルを編集して、Obsidianのvaultパスを設定します:
VAULT_DIR = Path("/path/to/obsidian").expanduser()実際のObsidianノートのパスに書き換えてください。その後、スクリプトを実行します:
python main.pyこれにより:
- Obsidianノートが読み込まれます
- ノートがチャンクに分割されます
- 各チャンクがベクトル埋め込みに変換されます
- 埋め込みがQdrantに保存されます
スクリプトを実行すると、コマンドラインインターフェースが表示され、Qdrantに保存されたObsidianノートに対してクエリを実行できます。
MCP(Model Context Protocol)サーバーを使用して、Claude DesktopからQdrantデータベースにアクセスできます。
Claude Desktopの設定ファイル(通常は~/.config/Claude Desktop/claude_desktop_config.json)に以下の設定を追加します:
{
"servers": {
"qdrant": {
"command": "uv",
"args": [
"--directory",
"/Users/yutashx/repos/mcp-server-qdrant",
"run",
"mcp-server-qdrant"
],
}
}
}設定ファイルを編集した後、Claude Desktopを起動します。MCPサーバーが自動的に接続され、Claudeは以下のツールを使用できるようになります:
qdrant-store: 情報をQdrantに保存するツールqdrant-find: Qdrantから関連情報を検索するツール
Claudeに以下のようなプロンプトを使用できます:
「私のObsidianノートから、マークダウン記法について書いている部分を探してください」
Claudeはqdrant-findツールを使用して、関連するノートの内容を見つけることができます。
-
Qdrantサーバーの接続に問題がある場合は、
docker-compose psコマンドでコンテナが正常に実行されていることを確認してください。 -
埋め込みモデルのダウンロードに問題がある場合は、インターネット接続を確認し、必要に応じて手動でモデルをダウンロードしてください。
-
MCPサーバーが起動しない場合は、必要なパッケージがインストールされていることを確認してください:
pip install mcp-server-qdrant
- Python 3.8以上
- Docker および Docker Compose
- llama-index
- huggingface-embeddings
- qdrant-client
- mcp-server-qdrant(Claude Desktopとの連携用)