Last updated on

簡易的なRAGを作って社内共有した記録


リポジトリ

https://github.com/ryosuke-horie/mcp-rag-py

概要

ローカルで動作するRAGの仕組みを構築し、MCPサーバーとして利用したいと思い開発を始めた。 以下の機能を実装しています。

  • llamaで埋め込みモデルを起動
  • FastAPIでサーバー構築
  • DuckDB+VSS拡張でベクトルDBを構築
  • MCPでRAGに保存する機能と検索する機能を用意

開発の意図

ClineやClaudeをコーディング時に利用していて、MCPとしてRAGにプロジェクト情報等を溜め込んでいけばもっと楽に開発できるのでは?と思い開発を始めました。 また、社内でもAI,LLM的な話題は注目を浴びているような感覚で、RAGとはどんなものか動くもので説明したいという思いもあり、開発し始めました。

社内共有

以下のようなスライドを作成して社内共有を行いました。

RAG+MCPのシステムフロー RAG+MCPの利用例1 RAG+MCPの利用例2 RAG+MCPの利用例3

所感

実装開始した時にはClaudeに検索機能もなく、Context7 MCPの存在も知らなかった。 実装が完了した頃に上記2点の存在を知り、React Routerとかの最新情報からコード生成することもできるようになり、開発したRAGを利用する必要性はほぼなくなった。

ただし、RAGに関連するアーキテクチャというか仕組みやある程度のノリが掴め関連するような記事を読んで理解できるようになった収穫があり、その点は非常に良かった。