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许可证获得许可的。有关详细信息,请参见许可证文件。