Este proyecto proviene de una idea simple: ¿qué pasaría si pudiera proporcionar una base de código completa a una LLM en lugar de solo piezas pequeñas? La mayoría de los asistentes de codificación, como los copilotos, trabajan en un alcance limitado, pero quería algo que pudiera manejar el contexto completo de un proyecto.
Al integrar la base de código completa con la generación de recuperación acuática (RAG), este POC tiene como objetivo mejorar la calidad y la relevancia de las sugerencias de código. El objetivo es ver cómo tener el código completo disponible para la consulta en tiempo real puede mejorar la productividad.
Coderag es una herramienta de recuperación y aumento de código con IA que aprovecha los modelos de OpenAI (como gpt-4 o gpt-3.5-turbo ) para consultar, indexación y mejora de la base de código en tiempo real. Este proyecto integra un sistema de generación (RAG) de recuperación (RAG) para ayudar a los desarrolladores a buscar sin problemas a través del código, recibir sugerencias e implementar mejoras.
.env para claves API, selección de modelos y directorios.git clone https://github.com/yourusername/CodeRAG.git
cd CodeRAGCrear un entorno virtual (recomendado):
python3 -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`Instalar paquetes requeridos:
pip install -r requirements.txt Cree un archivo .env en la raíz del proyecto y agregue las siguientes variables:
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 Comience el backend :
Para comenzar el backend (indexación, integración y monitoreo):
python main.pyComience el frontend :
Para iniciar la interfaz de usuario de transmisión:
streamlit run app.pymain.py : el script principal para ejecutar la aplicación.prompt_flow.py : maneja la API de consulta de OpenAI y administra el historial de búsqueda e conversación.coderag/config.py : almacena variables de configuración y entorno.coderag/search.py : administra la base de datos Vector (FAISS) Búsqueda de fragmentos de código relevantes..env : contiene configuraciones específicas del entorno (teclas API de OpenAI, configuración del modelo, etc.).requirements.txt : enumera las dependencias de Python necesarias para ejecutar el proyecto.Siéntase libre de desembolsar este repositorio, abrir problemas y enviar solicitudes de extracción.
git checkout -b feature/your-feature ).git commit -am 'Add new feature' ).git push origin feature/your-feature ).Este proyecto tiene licencia bajo la licencia Apache. Consulte el archivo de licencia para obtener más detalles.