Servicio RESTful que utiliza modelos de inteligencia artificial para autocompletar, corregir y convertir código entre lenguajes.
- Características
- Estructura del Proyecto
- Requisitos
- Instalación
- Configuración
- Uso
- Pruebas
- Contribución
- Licencia
- Contacto
- Autocompletado inteligente de código.
- Corrección de sintaxis y formato.
- Conversión entre diferentes lenguajes de programación.
- API RESTful simple y modular.
ia-codex-api/ ├── app/ │ ├── init.py # Inicializa Flask y carga modelos. │ ├── api.py # Definición de rutas y lógica. │ ├── models.py # Gestión de modelos IA. │ └── utils.py # Funciones auxiliares. ├── tests/ │ └── test_api.py # Pruebas unitarias. ├── .env.example # Ejemplo variables entorno. ├── .gitignore # Ignora archivos en Git. ├── README.md # Este archivo. └── requirements.txt # Dependencias.
- Python 3.8 o superior
- pip (gestor de paquetes)
Clona el repositorio y crea entorno virtual:
git clone https://github.com/tu-usuario/ia-codex-api.git
cd ia-codex-api
python -m venv venv
Activa el entorno:
Windows:
.\venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
Instala las dependencias:
pip install -r requirements.txt
Crea un archivo .env
en la raíz con:
DEBUG=True
API_PORT=5000
HF_MODEL_AUTOCOMPLETE=distilgpt2
HF_MODEL_TEXT2TEXT=t5-small
Importante: No subir
.env
a Git.
Para iniciar la API, simplemente ejecuta el script run_api.py
desde la raíz del proyecto:
python scripts/run_api.py
O simplemente:
flask --app app run
La API estará disponible en http://127.0.0.1:5000/
.
La API es multiplataforma y puede integrarse en cualquier editor o flujo de trabajo gracias al script iacodex_cli.py
. Puedes usarlo en Windows, Linux o macOS, y desde cualquier editor que permita ejecutar comandos externos (Vim, Neovim, nano, Sublime, VS Code, Emacs, etc.).
Autocompletar código
python iacodex_cli.py complete -p "def suma(a, b):"
Corregir código
python iacodex_cli.py fix -c "pront('hola')"
Convertir código
python iacodex_cli.py convert -c "print('hola')" -t javascript
Usar con pipes o redirección (útil en Vim, nano, etc.)
echo "pront('hola')" | python iacodex_cli.py fix
cat archivo.py | python iacodex_cli.py complete
En Vim/Neovim
Selecciona el código en modo visual y ejecuta:
:'<,'>w !python iacodex_cli.py fix
En nano
Guarda el código en un archivo y luego:
python iacodex_cli.py fix < archivo.py
En VS Code, Sublime, Emacs, etc.
Puedes crear atajos o tareas que llamen a la CLI con el texto seleccionado o el archivo actual.
Puedes usar stdin para enviar bloques de código desde cualquier editor compatible con comandos externos.
Si tu API no está en http://127.0.0.1:5000
, edita la variable API_URL
en iacodex_cli.py
.
Método | Ruta | Descripción |
---|---|---|
GET | / |
Estado y bienvenida de la API |
POST | /complete |
Autocompleta fragmentos de código |
POST | /fix |
Corrige código con errores |
POST | /convert |
Convierte código entre lenguajes |
-
GET /
Respuesta:
{ "message": "Bienvenido a la IA Codex API. Utiliza /complete, /fix o /convert." }
-
POST /complete
Solicitud:
{ "prompt": "def my_function():", "max_tokens": 100, "num_suggestions": 1 }
Respuesta:
{ "suggestions": [ "def my_function():\n pass" ] }
-
POST /fix
Solicitud:
{ "code": "pront('Hello World')" }
Respuesta:
{ "fixed_code": "print('Hello World')" }
-
POST /convert
Solicitud:
{ "code": "console.log('Hello');", "target_language": "python" }
Respuesta:
{ "converted_code": "print('Hello')" }
Ejecuta las pruebas con:
python -m pytest
-
Haz fork del repositorio.
-
Crea una rama nueva:
git checkout -b feature/nueva-funcion
-
Realiza cambios y prueba.
-
Commit y push:
git commit -m "Agrega nueva función" git push origin feature/nueva-funcion
-
Abre un Pull Request.
GPLv3. Consulta el archivo LICENSE
para detalles.