CodeRAG
1.0.0
이 프로젝트는 간단한 아이디어에서 나왔습니다. 작은 조각 대신 LLM에 전체 코드베이스를 제공 할 수 있다면 어떨까요? 부조종사와 같은 대부분의 코딩 어시스턴트는 제한된 범위로 작업하지만 프로젝트의 전체 맥락을 처리 할 수있는 것을 원했습니다.
이 POC는 전체 코드베이스를 검색 방지 생성 (RAG)과 통합함으로써 코드 제안의 품질과 관련성을 향상시키는 것을 목표로합니다. 목표는 실시간 쿼리에 완전한 코드를 사용할 수있는 방법을 확인하는 것이 생산성을 향상시키는 것입니다.
Coderag는 실시간 코드베이스 쿼리, 인덱싱 및 개선을 위해 OpenAI의 모델 (예 : gpt-4 또는 gpt-3.5-turbo )을 활용하는 AI 기반 코드 검색 및 증강 도구입니다. 이 프로젝트는 RAG (Respreval-Augmented Generation) 시스템을 통합하여 개발자가 코드를 원활하게 검색하고 제안을 받고 개선을 구현할 수 있도록 도와줍니다.
.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프론트 엔드 시작 :
Streamlit UI를 시작하려면 :
streamlit run app.pymain.py : 응용 프로그램을 실행하는 기본 스크립트.prompt_flow.py : OpenAi의 API 쿼리를 처리하고 검색 및 대화 기록을 관리합니다.coderag/config.py : 구성 및 환경 변수를 저장합니다.coderag/search.py : 벡터 데이터베이스 (FAISS) 관리 관련 코드 스 니펫 검색을 관리합니다..env : 환경 별 설정 (OpenAI API 키, 모델 구성 등)을 보유합니다.requirements.txt : 프로젝트를 실행하는 데 필요한 파이썬 종속성을 나열합니다.이 저장소를 자유롭게 포크하고, 문제를 열고, 풀 요청을 제출하십시오.
git checkout -b feature/your-feature ).git commit -am 'Add new feature' ).git push origin feature/your-feature )로 푸시하십시오.이 프로젝트는 Apache 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.