Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

rokudone/codebase-rag-ruby

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby Codebase RAG

Rubyコードベース用のRAG(Retrieval-Augmented Generation)システム。コードベースを解析してベクトルデータベースを構築し、自然言語の質問に対して関連するコードを参照しながら回答を生成します。

特徴

  • コードチャンキング: Rubyファイルを意味のある単位(クラス、モジュール、メソッドなど)で分割
  • エンベディング生成: OpenRouter APIを使用してコードの意味を表すベクトルを生成
  • ベクトルデータベース: 高速な類似検索のためのインデックスを構築
  • 質問応答: 自然言語の質問に対して関連コードを参照した回答を生成
  • MCPサーバー: Clineから直接利用可能なインターフェース

インストール

# リポジトリのクローン
git clone https://github.com/username/codebase-rag-ruby.git
cd codebase-rag-ruby

# 依存関係のインストール
bundle install

環境設定

APIキーは以下の方法で指定できます:

  1. コマンドラインオプション: --api-key または -k
  2. 環境変数: OPENROUTER_API_KEY
  3. .envファイル: プロジェクトのルートに.envファイルを作成

.envファイルの例:

# OpenRouter API Key
OPENROUTER_API_KEY=your_api_key_here

使用方法

# RAGシステムの構築
bundle exec rake "rag:build[./lib,./rag-data]"

# 質問
bundle exec rake "rag:query[このプロジェクトのルーティングはどのように実装されていますか?,./rag-data]"

# MCPサーバーの起動
bundle exec rake "rag:mcp_server[./rag-data]"

パラメータの説明:

  • rag:build[ソースディレクトリ,出力先]
  • rag:query[質問文,RAGデータディレクトリ]
  • rag:mcp_server[RAGデータディレクトリ]

デフォルト値:

  • ソースディレクトリ: カレントディレクトリ (.)
  • 出力先: ./rag-data
  • RAGデータディレクトリ: ./rag-data

Clineからの利用(MCPサーバー)

  1. MCPサーバーを起動:
bundle exec rake "rag:mcp_server[./rag-data]"
  1. Clineの設定ファイルに以下を追加:
{
  "mcpServers": {
    "codebase-rag": {
      "command": "bundle",
      "args": ["exec", "rake", "rag:mcp_server[./rag-data]"],
      "cwd": "/path/to/codebase-rag-ruby",
      "env": {
        "OPENROUTER_API_KEY": "your-api-key"
      }
    }
  }
}
  1. Clineから以下のように利用:
use_mcp_tool
server_name: codebase-rag
tool_name: query_codebase
arguments: {
  "question": "このプロジェクトのルーティングはどのように実装されていますか?"
}

オプション

buildコマンド

  • --src, -s: ソースコードのルートディレクトリ(必須)
  • --output, -o: RAGデータの出力先(デフォルト: ./rag-data
  • --api-key, -k: OpenRouter API Key(環境変数 OPENROUTER_API_KEY でも設定可能)

queryコマンド

  • <question>: 質問文(必須)
  • --data, -d: RAGデータのディレクトリ(デフォルト: ./rag-data
  • --api-key, -k: OpenRouter API Key(環境変数 OPENROUTER_API_KEY でも設定可能)

mcp-serverコマンド

  • --data, -d: RAGデータのディレクトリ(デフォルト: ./rag-data
  • --api-key, -k: OpenRouter API Key(環境変数 OPENROUTER_API_KEY でも設定可能)

ライセンス

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.