LOCAL RAG WORKSPACE

Ragy

ローカルのMarkdownやソースコードを対象に、埋め込みベクターと全文検索を組み合わせて素早く回答を引き出すRAGツールです。

  • TypeScript
  • Python
  • Ollama
  • Redis
  • Qdrant

BACKGROUND

外部のSaaS型ナレッジベースやAI検索は手軽ですが、機密情報を含むコードベースや下書きメモをそのままアップロードすることには抵抗がありました。また、ネットワーク遅延も思考の中断につながります。

APPROACH

すべての処理(埋め込みベクター生成、検索インデックス、LLM推論)を手元の環境で完結させました。高速なインデックス更新と、CLIからの手軽なクエリ実行を実現しています。

HOW IT WORKS

  1. 01

    指定する

    対象のディレクトリやファイルを登録

  2. 02

    切り出す

    コードや文章を適切な意味単位に分割

  3. 03

    埋め込む

    ローカルモデルでベクターを生成し格納

  4. 04

    引く

    自然言語で関連度の高い箇所を特定

ARCHITECTURE

RagyのCLI、チャンク分割、埋め込み、ローカルベクターDB、検索パイプラインの関係を示したアーキテクチャ図
横にスクロールして全体を確認できます

DESIGN DECISIONS

ハイブリッド検索(BM25 + ベクター)の採用

意味的な曖昧検索だけでなく、関数名や固有の変数名による完全一致検索の両方を活かすため、2つのスコアを統合してランク付けしています。

ファイル変更の差分インデックス更新

ファイルが保存されるたびに全体を再計算するのではなく、ハッシュ比較による差分チャンクのみを更新することで負荷を抑えています。

Unix哲学に基づくCLIインターフェース

検索結果をパイプで別のコマンドやエディタに直接渡せるよう、プレーンテキストおよびJSON出力を完備しました。

VERIFICATION

  • 日々のノート作成や開発調査での常時稼働実績
  • 数十万トークン規模のドキュメント群に対するサブ秒応答の維持
  • ネットワーク完全切断環境での正常動作検証

STATUS & NEXT

主要な開発プロジェクトのドキュメント検索エンジンとして、ローカル常駐プロセスで快適に稼働しています。

今後の予定

  • PDFやOffice文書など対応ファイルフォーマットの拡充
  • チャンク境界の動的最適化アルゴリズムの導入
  • チーム共有用のローカルLAN同期機能の検証