¿Qué es esto? • Empezar • Comunidad • Contribuir
Autodoc es un conjunto de herramientas experimental para generar automáticamente documentación base de código para repositorios git que utilizan modelos de lenguaje grandes, como GPT-4 o Alpaca. Autodoc se puede instalar en su repositorio en aproximadamente 5 minutos. Indexa su código base a través de un recorrido en profundidad de todos los contenidos del repositorio y llama a un LLM para escribir documentación para cada archivo y carpeta. Estos documentos se pueden combinar para describir los diferentes componentes de su sistema y cómo funcionan juntos.
La documentación generada reside en su código base y viaja donde viaja su código. Los desarrolladores que descarguen su código pueden usar el comando doc
para hacer preguntas sobre su código base y obtener respuestas muy específicas con enlaces de referencia a archivos de código.
En un futuro próximo, la documentación se volverá a indexar como parte de su canal de CI, para que esté siempre actualizada. Si está interesado en trabajar contribuyendo a este trabajo, consulte este número.
Autodoc se encuentra en las primeras etapas de desarrollo. Es funcional, pero no está listo para su uso en producción. Es posible que las cosas se rompan o no funcionen como se esperaba. Si está interesado en trabajar en el marco central de Autodoc, consulte Contribución. ¡Nos encantaría contar con tu ayuda!
Pregunta: No obtengo buenas respuestas. ¿Cómo puedo mejorar la calidad de la respuesta?
Respuesta: Autodoc se encuentra en las primeras etapas de desarrollo. Como tal, la calidad de la respuesta puede variar ampliamente según el tipo de proyecto que indexa y cómo se formulan las preguntas. Algunos consejos para escribir una buena consulta:
A continuación se muestran algunos ejemplos de cómo se puede utilizar Autodoc.
.autodoc
. Siga las instrucciones aquí para aprender cómo consultarlo.Autodoc requiere Node v18.0.0 o superior. Se recomienda v19.0.0 o superior. Asegúrate de estar ejecutando la versión adecuada:
$ node -v
Salida de ejemplo:
v19.8.1
Instale la herramienta Autodoc CLI como un módulo NPM global:
$ npm install -g @context-labs/autodoc
Este comando instala la herramienta Autodoc CLI que le permitirá crear y consultar índices de Autodoc.
Ejecute doc
para ver los comandos disponibles.
Puede consultar un repositorio que tenga Autodoc instalado a través de la CLI. Usaremos el repositorio de Autodoc como ejemplo para demostrar cómo funcionan las consultas en Autodoc, pero este podría ser su propio repositorio que contiene un índice.
Clona Autodoc y cambia de directorio para comenzar:
$ git clone https://github.com/context-labs/autodoc.git
$ cd autodoc
En este momento, Autodoc solo es compatible con OpenAI. Asegúrese de haber exportado su clave API de OpenAI en su sesión actual:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Para iniciar la CLI de consulta de Autodoc, ejecute:
$ doc q
Si es la primera vez que ejecuta doc q
, aparecerá una pantalla que le pedirá que seleccione a qué modelos GPT tiene acceso. Seleccione el que sea apropiado para su nivel de acceso. Si no estás seguro, selecciona la primera opción:
Ahora está listo para consultar la documentación del repositorio de Autodoc:
Esta es la experiencia de consulta principal. Es muy básico en este momento, con mucho margen de mejora. Si está interesado en mejorar la experiencia de consulta de Autodoc CLI, consulte este número.
Siga los pasos a continuación para generar documentación para su propio repositorio usando Autodoc.
Cambie el directorio a la raíz de su proyecto:
cd $PROJECT_ROOT
Asegúrese de que su clave API de OpenAI esté disponible en la sesión actual:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Ejecute el comando init
:
doc init
Se le pedirá que ingrese el nombre de su proyecto, la URL de GitHub y seleccione a qué modelos GPT tiene acceso. Si no estás seguro de a qué modelos tienes acceso, selecciona la primera opción. También puede especificar sus propias indicaciones de archivo/directorio GPT que se utilizarán para resumir/analizar el repositorio de código. Este comando generará un archivo autodoc.config.json
en la raíz de su proyecto para almacenar los valores. Este archivo debe registrarse en git.
Nota: No omita ingresar estos valores o es posible que la indexación no funcione.
Configuración de mensajes: encontrará instrucciones de mensajes especificadas en prompts.ts
, con algunos fragmentos personalizables en autodoc.config.json
. Las indicaciones actuales están centradas en el desarrollador y asumen que su repositorio está centrado en el código. Tendremos más plantillas de referencia en el futuro.
Ejecute el comando index
:
doc index
Deberías ver una pantalla como esta:
Esta pantalla estima el costo de indexar su repositorio. También puede acceder a esta pantalla mediante el comando doc estimate
. Si ya ha indexado una vez, entonces doc index
solo volverá a indexar los archivos que se hayan modificado en la segunda vez.
Para cada archivo de su proyecto, Autodoc calcula la cantidad de tokens del archivo en función del contenido del archivo. Cuantas más líneas de código, mayor será la cantidad de tokens. Usando este número, determina qué modelo usará por archivo, eligiendo siempre el modelo más barato cuya longitud de contexto admita la cantidad de tokens en el archivo. Si está interesado en ayudar a que la selección de modelos sea configurable en Autodoc, consulte este número.
Nota: Esta estrategia ingenua de selección de modelos significa que los archivos con menos de ~4000 tokens se documentarán utilizando GPT-3.5, lo que resultará en una documentación menos precisa. Recomendamos utilizar GPT-4 8K como mínimo. La indexación con GPT-4 da como resultado un resultado significativamente mejor. Puedes solicitar el acceso aquí.
Para proyectos grandes, el costo puede ser de varios cientos de dólares. Vea los precios de OpenAI aquí.
En un futuro próximo, admitiremos modelos autohospedados, como Llama y Alpaca. Lea este número si está interesado en contribuir a este trabajo.
Cuando su repositorio termine de indexarse, debería ver una pantalla como esta:
Ahora puede consultar su aplicación siguiendo los pasos descritos en consultas.
Hay un pequeño grupo de nosotros que trabajamos a tiempo completo en Autodoc. Únase a nosotros en Discord o síganos en Twitter para recibir actualizaciones. Publicaremos periódicamente y seguiremos mejorando la aplicación Autodoc. ¿Quieres contribuir? Lea a continuación.
Como proyecto de código abierto en un campo en rápido desarrollo, estamos extremadamente abiertos a contribuciones, ya sea en forma de una nueva característica, infraestructura mejorada o mejor documentación.
Para obtener información detallada sobre cómo contribuir, consulte aquí.