CodeRAG
1.0.0
このプロジェクトは、単純なアイデアから生まれました。ただし、小片ではなくLLMにコードベース全体を提供できるとしたらどうでしょうか。コピロットのようなほとんどのコーディングアシスタントは、限られた範囲で働いていますが、プロジェクトの完全なコンテキストを処理できるものが欲しかったのです。
完全なコードベースを検索された生成(RAG)と統合することにより、このPOCはコード提案の品質と関連性を向上させることを目指しています。目標は、リアルタイムクエリで完全なコードを使用できるようにすることで生産性を向上させることができることです。
Coderagは、リアルタイムのコードベースクエリ、インデックス作成、および改善のためにOpenAIのモデル( gpt-4やgpt-3.5-turboなど)を活用するAI搭載のコード検索および増強ツールです。このプロジェクトでは、検索された高等ジェネレーション(RAG)システムを統合して、開発者がコードをシームレスに検索し、提案を受け取り、改善を実装するのに役立ちます。
.envファイルを使用して管理されます。git clone https://github.com/yourusername/CodeRAG.git
cd CodeRAG仮想環境を作成する(推奨):
python3 -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`必要なパッケージをインストールします:
pip install -r requirements.txtプロジェクトのルートに.envファイルを作成し、次の変数を追加します。
OPENAI_API_KEY=your_openai_api_key
OPENAI_EMBEDDING_MODEL=text-embedding-ada-002
OPENAI_CHAT_MODEL=gpt-4o
WATCHED_DIR=path_to_your_code_directory
FAISS_INDEX_FILE=path_to_faiss_index
EMBEDDING_DIM=1536 # Modify if you're using a different embedding model バックエンドを開始します:
バックエンドを開始するには(インデックス作成、埋め込み、監視):
python main.pyフロントエンドを開始します:
Rimelit UIを起動するには:
streamlit run app.pymain.py :アプリケーションを実行するメインスクリプト。prompt_flow.pyのAPIのクエリを処理し、検索および会話の履歴を管理します。coderag/config.py :構成変数と環境変数を保存します。coderag/search.py :ベクトルデータベース(FAISS)検索を管理する関連コードスニペットを検索します。.env :環境固有の設定(OpenAI APIキー、モデル構成など)を保持します。requirements.txt :プロジェクトの実行に必要なPython依存関係をリストします。このリポジトリ、オープンな問題、およびプルリクエストを送信するために、お気軽にフォークしてください。
git checkout -b feature/your-feature )を作成します。git commit -am 'Add new feature' )。git push origin feature/your-feature )。このプロジェクトは、Apacheライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。