CodeRAG
1.0.0
這個項目來自一個簡單的想法:如果您可以將整個代碼庫提供給LLM而不是僅僅是小塊怎麼辦?大多數編碼助手,例如副駕駛員,都在有限的範圍上工作,但我想要一些可以處理項目的完整背景的東西。
通過將完整的代碼庫與檢索功能的生成(RAG)集成在一起,該POC旨在提高代碼建議的質量和相關性。目的是了解可用的完整代碼用於實時查詢可以提高生產力。
Coderag是AI驅動的代碼檢索和增強工具,利用OpenAI模型(例如gpt-4或gpt-3.5-turbo )進行實時代碼庫查詢,索引和改進。該項目集成了檢索功能的生成(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開始前端:
啟動簡化的UI:
streamlit run app.pymain.py :運行應用程序的主腳本。prompt_flow.py :處理查詢OpenAI的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許可證獲得許可的。有關詳細信息,請參見許可證文件。