GPT4Readability Nunca vuelvas a escribir un README de nuevo
No más READMEs, gracias a GPT4Readability
Un paquete de Python para optimizar y documentar tu repositorio de código
![Imagen generada por el autor](https://miro.medium.com/v2/resize:fit:640/format:webp/1*vYtApv04kCY8vx0vS3Ng9w.png)
Navegar por un código Python complejo puede ser una tarea desafiante, especialmente cuando el proyecto carece de suficiente documentación. Esto ocurre con demasiada frecuencia en la vida de un programador. Afortunadamente, gracias a los avances recientes en NLP y Deep Learning, existe una herramienta diseñada para ayudar: GPT4Readability.
GitHub – loevlie/GPT4Readability: Una herramienta potente diseñada para generar automáticamente un archivo README.md…
Una herramienta potente diseñada para generar automáticamente un archivo README.md y sugerir mejoras de código utilizando LLMs. – GitHub…
github.com
GPT4Readability: Tu asistente de codificación con inteligencia artificial
GPT4Readability es un paquete poderoso que aprovecha modelos de lenguaje grandes (LLMs) y una base de datos de vectores para generar un archivo README.md y sugerir mejoras de código para tus repositorios de código Python. Es como tener un asistente personal que no solo comprende y documenta tu código, sino que también te ayuda a mejorarlo.
Pero ¿por qué no puedo simplemente usar ChatGPT?
ChatGPT es una herramienta poderosa. Sin embargo, tiene una limitación cuando se trata de manejar grandes volúmenes de texto o código. Solo puedes ingresar una cierta cantidad de texto o código en ChatGPT a la vez, lo que puede ser restrictivo al tratar con bases de código extensas.
- Liberando la creatividad Explorando las aplicaciones artísticas de la IA generativa
- Guía introductoria completa sobre el reconocimiento de voz a texto con Transformers
- ¿Cómo cambiar tu carrera de Marketing a Ciencia de Datos?
En cambio, GPT4Readability está diseñado para manejar volúmenes más grandes de código. Si bien puede tener dificultades con bases de código extremadamente grandes, puede manejar cómodamente la mayoría de las de tamaño normal. Esto significa que simplemente apuntándolo a la carpeta correcta, puede analizar todo tu proyecto, analizar el contexto completo y generar un README completo o proporcionar sugerencias detalladas de mejora de código. ¡Esto es algo que ChatGPT no puede hacer!
Comenzando con GPT4Readability
Comenzaré explicándote la configuración. Primero, necesitarás instalar el paquete:
pip install GPT4Readability==0.0.3
A continuación, deberás crear una cuenta en OpenAI. Esto se debe a que GPT4Readability utiliza la API de OpenAI para acceder a GPT-3.5 y GPT-4. Eventualmente, se espera también integrar modelos de código abierto de HuggingFace (mantente atento al repositorio de GitHub para obtener actualizaciones). Una vez que hayas creado una cuenta en la plataforma de OpenAI, procede a agregar un método de pago y generar una clave de API.
Ahora, deberás configurar una variable de entorno llamada OPENAI_API_KEY
igual a tu nueva clave de API. Esto permitirá que GPT4Readability se autentique con la API de OpenAI. Si no haces esto, se te pedirá que agregues la clave al ejecutar GPT4Readability.
export OPEN_API_KEY="TU CLAVE"
Utilizar los LLMs de GPT-3 y GPT-4 de OpenAI a través de la API no es costoso. El desarrollo completo de esta herramienta cuesta solo $1.50, ¡lo cual parece bastante barato en comparación con los $20 al mes que pagan los usuarios de ChatGPT Plus! Sin embargo, siempre puedes controlar tu uso en el sitio web de OpenAI para asegurarte de no gastar en exceso.
Presentando a tu asistente personal de documentación con IA
Ahora que tienes instalado GPT4Readability y has generado una clave de API de OpenAI, tienes acceso a la CLI. Este artículo se centra en la CLI, pero también puedes probar la aplicación web sin código en HuggingFace Spaces en: https://huggingface.co/spaces/JohanDL/GPT4Readability.
Supongamos que tienes un proyecto de Python que necesita un README, pero ni siquiera recuerdas para qué se suponía que debía hacer el código. En lugar de pasar horas tratando de entender las conexiones en el código base, deja que GPT4Readability haga el trabajo pesado:
gpt4readability /ruta/a/tu/proyecto --funcion readme --output_readme MyAwesomeREADME.md --modelo gpt-3.5-turbo
![gif generado por el autor](https://miro.medium.com/v2/resize:fit:640/1*9fXyIFKv8z7M5vE-oAFprg.gif)
Solo reemplaza /ruta/a/tu/proyecto
con el directorio raíz de tu proyecto de Python. GPT4Readability generará un archivo README.md completo llamado MyAwesomeREADME.md
utilizando el modelo “gpt-3.5-turbo” de OpenAI. Actualmente, hay dos modelos disponibles que puedes usar con GPT4Readability:
- gpt-3.5-turbo
- gpt-4
Mejoras en el Código: Una Herramienta de Aprendizaje para Todos
GPT4Readability no solo sirve para actualizar bases de código que carecen de la documentación que merecen. También es una increíble herramienta de aprendizaje para desarrolladores de todos los niveles. Para generar sugerencias sobre las funciones en tu base de código, utiliza la herramienta suggestions como se muestra a continuación:
gpt4readability /ruta/a/tu/proyecto --funcion suggestions --output_suggestions CodeImprovements.md --modelo gpt-3.5-turbo
Ejemplo de Sugerencia a partir de Ejecutar GPT4Readability en mi Primer Proyecto de Python:
Función original:
def Get_props(file): """ Esta función recupera la información de la celda de propiedades del cuaderno""" no_prop = True nb = nbformat.read(file,as_version=4) for i in nb['cells']: if i['cell_type'] == 'code': if i['source'].startswith('%%properties'): Metal_A = i['source'].split('\n')[1].split()[-1] Metal_B = i['source'].split('\n')[2].split()[-1] Max_H = float(i['source'].split('\n')[3].split()[-1]) result = {'Metal_A':Metal_A,'Metal_B':Metal_B,'Max_H':Max_H} no_prop = False if no_prop: result = None return result
Sugerencia:
def Get_props(file): """ Esta función recupera la información de la celda de propiedades del cuaderno""" nb = nbformat.read(file, as_version=4) for i in nb['cells']: if i['cell_type'] == 'code' and i['source'].startswith('%%properties'): Metal_A, Metal_B, Max_H = i['source'].split('\n')[1:4] result = {'Metal_A': Metal_A.split()[-1], 'Metal_B': Metal_B.split()[-1], 'Max_H': float(Max_H.split()[-1])} return result return None
Explicación:
- Se eliminó la variable innecesaria
no_prop
y su bandera asociada. En su lugar, podemos devolver directamenteNone
si no se encuentran propiedades. - Se combinaron las asignaciones para
Metal_A
,Metal_B
yMax_H
en una sola línea para una mejor legibilidad. - Se eliminó la verificación de
no_prop
después del bucle, ya que podemos devolver directamenteNone
si no se encuentran propiedades. - Se simplificó la creación del diccionario asignando directamente los valores a las claves.
Estos cambios mejoran la legibilidad del código al reducir variables innecesarias y simplificar la lógica. No hay un impacto significativo en el rendimiento ni en la complejidad espacial.
Solo reemplaza /ruta/a/tu/proyecto
con el directorio raíz de tu proyecto de Python. GPT4Readability analizará tu código y generará un archivo llamado CodeImprovements.md
con sugerencias para mejoras. Las sugerencias siempre están formateadas de la misma manera:
- Ruta al archivo
- Nombre de la función
- Función original
- Cambio sugerido
- Explicación de por qué se sugiere el cambio
Es importante agregar una explicación a los ajustes de código sugeridos porque puede aumentar la transparencia e incluso ser una oportunidad de aprendizaje. Al revisar estas sugerencias, no solo estás mejorando tu código, también podrías estar mejorando como desarrollador.
Conclusión
GPT4Readability es una herramienta muy útil para comprender y mejorar tus proyectos de Python.
Si GPT4Readability te ahorra tiempo o tienes alguna pregunta, no dudes en comunicarte conmigo (puedes utilizar cualquiera de los enlaces en la sección de abajo). ¡También considera darle una estrella al repositorio de GitHub! Si encuentras un error o tienes una sugerencia para mejorar GPT4Readability, no dudes en abrir un problema en la página de problemas de GitHub.
¡Conéctate conmigo!
Soy un investigador de aprendizaje profundo aspirante que actualmente trabaja como Ingeniero de Visión por Computadora en KEF Robotics en Pittsburgh. ¡Conéctate conmigo y no dudes en comunicarte para hablar sobre cualquier cosa relacionada con el aprendizaje automático!
- Sígueme en VoAGI
- GitHub
- ¿Me invitas un café?
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Reduciendo la huella de carbono en el entrenamiento de IA mediante la optimización
- Investigadores de IA de Google presentan Pic2Word Un nuevo enfoque para la recuperación de imágenes compuestas sin disparo (ZS-CIR)
- Conoce a PoisonGPT Un método de IA para introducir un modelo malicioso en una cadena de suministro de LLM de otra manera confiable
- Informe de la OCDE el 27% de los empleos están en alto riesgo debido a la IA
- La IA está ayudando a los pacientes de ELA a preservar su voz
- 14 Mejores Proyectos de Minería de Datos con Código Fuente
- Google Research presenta SPAE un AutoEncoder para generación multimodal con Modelos de Lenguaje (LLMs) grandes congelados.