Qu'est-ce que c'est? • Commencer • Communauté • Contribuer
Autodoc est une boîte à outils expérimentale permettant de générer automatiquement une documentation de base de code pour les référentiels Git à l'aide de grands modèles de langage, comme GPT-4 ou Alpaca. Autodoc peut être installé dans votre dépôt en 5 minutes environ. Il indexe votre base de code via une analyse en profondeur de tout le contenu du référentiel et appelle un LLM pour rédiger la documentation pour chaque fichier et dossier. Ces documents peuvent être combinés pour décrire les différents composants de votre système et comment ils fonctionnent ensemble.
La documentation générée réside dans votre base de code et voyage là où voyage votre code. Les développeurs qui téléchargent votre code peuvent utiliser la commande doc
pour poser des questions sur votre base de code et obtenir des réponses très spécifiques avec des liens de référence vers les fichiers de code.
Dans un avenir proche, la documentation sera réindexée dans le cadre de votre pipeline CI, afin qu'elle soit toujours à jour. Si vous souhaitez contribuer à ce travail, consultez ce numéro.
Autodoc en est aux premiers stades de développement. Il est fonctionnel, mais pas prêt pour une utilisation en production. Les choses peuvent se briser ou ne pas fonctionner comme prévu. Si vous souhaitez travailler sur le framework Autodoc de base, veuillez consulter la rubrique contribution. Nous serions ravis d’avoir votre aide !
Question : Je ne reçois pas de bonnes réponses. Comment puis-je améliorer la qualité des réponses ?
Réponse : Autodoc en est aux premiers stades de développement. En tant que telle, la qualité des réponses peut varier considérablement en fonction du type de projet que vous indexez et de la façon dont les questions sont formulées. Quelques conseils pour rédiger une bonne requête :
Vous trouverez ci-dessous quelques exemples d'utilisation d'Autodoc.
.autodoc
. Suivez les instructions ici pour savoir comment l'interroger.Autodoc nécessite Node v18.0.0 ou version ultérieure. La version 19.0.0 ou supérieure est recommandée. Assurez-vous que vous utilisez la bonne version :
$ node -v
Exemple de sortie :
v19.8.1
Installez l'outil CLI Autodoc en tant que module NPM global :
$ npm install -g @context-labs/autodoc
Cette commande installe l'outil CLI Autodoc qui vous permettra de créer et d'interroger des index Autodoc.
Exécutez doc
pour voir les commandes disponibles.
Vous pouvez interroger un référentiel sur lequel Autodoc est installé via la CLI. Nous utiliserons le référentiel Autodoc lui-même comme exemple pour démontrer le fonctionnement des requêtes dans Autodoc, mais il peut s'agir de votre propre référentiel contenant un index.
Clonez Autodoc et changez de répertoire pour commencer :
$ git clone https://github.com/context-labs/autodoc.git
$ cd autodoc
Pour le moment, Autodoc ne prend en charge qu'OpenAI. Assurez-vous d'avoir exporté votre clé API OpenAI dans votre session en cours :
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Pour démarrer la CLI de requête Autodoc, exécutez :
$ doc q
Si c'est la première fois que vous exécutez doc q
, vous obtiendrez un écran qui vous invitera à sélectionner les modèles GPT auxquels vous avez accès. Sélectionnez celui qui convient à votre niveau d'accès. Si vous n'êtes pas sûr, sélectionnez la première option :
Vous êtes maintenant prêt à interroger la documentation du dépôt Autodoc :
Il s’agit de l’expérience de requête principale. C'est très basique pour le moment, avec beaucoup de marge d'amélioration. Si vous souhaitez améliorer l'expérience d'interrogation de l'Autodoc CLI, consultez ce numéro.
Suivez les étapes ci-dessous pour générer de la documentation pour votre propre référentiel à l'aide d'Autodoc.
Changez de répertoire à la racine de votre projet :
cd $PROJECT_ROOT
Assurez-vous que votre clé API OpenAI est disponible dans la session en cours :
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Exécutez la commande init
:
doc init
Vous serez invité à saisir le nom de votre projet, l'URL GitHub et à sélectionner les modèles GPT auxquels vous avez accès. Si vous n'êtes pas sûr des modèles auxquels vous avez accès, sélectionnez la première option. Vous pouvez également spécifier vos propres invites de fichier/répertoire GPT qui seront utilisées pour résumer/analyser le dépôt de code. Cette commande générera un fichier autodoc.config.json
à la racine de votre projet pour stocker les valeurs. Ce fichier doit être archivé dans git.
Remarque : Ne sautez pas la saisie de ces valeurs, sinon l'indexation pourrait ne pas fonctionner.
Configuration de l'invite : vous trouverez les instructions d'invite spécifiées dans prompts.ts
, avec quelques extraits personnalisables dans autodoc.config.json
. Les invites actuelles sont axées sur les développeurs et supposent que votre dépôt est axé sur le code. Nous aurons plus de modèles de référence à l’avenir.
Exécutez la commande index
:
doc index
Vous devriez voir un écran comme celui-ci :
Cet écran estime le coût d'indexation de votre référentiel. Vous pouvez également accéder à cet écran via la commande doc estimate
. Si vous avez déjà indexé une fois, doc index
ne réindexera que les fichiers qui ont été modifiés lors de la deuxième tentative.
Pour chaque fichier de votre projet, Autodoc calcule le nombre de jetons dans le fichier en fonction de son contenu. Plus il y a de lignes de code, plus le nombre de jetons est grand. À l'aide de ce numéro, il détermine quel modèle il utilisera par fichier, en choisissant toujours le modèle le moins cher dont la longueur de contexte prend en charge le nombre de jetons dans le fichier. Si vous souhaitez contribuer à rendre la sélection de modèles configurable dans Autodoc, consultez ce numéro.
Remarque : Cette stratégie naïve de sélection de modèles signifie que les fichiers inférieurs à environ 4 000 jetons seront documentés à l'aide de GPT-3.5, ce qui entraînera une documentation moins précise. Nous vous recommandons d'utiliser au minimum GPT-4 8K. L'indexation avec GPT-4 permet d'obtenir un résultat nettement meilleur. Vous pouvez demander l’accès ici.
Pour les grands projets, le coût peut atteindre plusieurs centaines de dollars. Consultez les tarifs OpenAI ici.
Dans un avenir proche, nous prendrons en charge les modèles auto-hébergés, tels que Llama et Alpaca. Lisez ce numéro si vous souhaitez contribuer à ce travail.
Une fois l'indexation de votre référentiel terminée, vous devriez voir un écran comme celui-ci :
Vous pouvez maintenant interroger votre application en suivant les étapes décrites dans la section Requête.
Nous sommes un petit groupe à travailler à plein temps sur Autodoc. Rejoignez-nous sur Discord ou suivez-nous sur Twitter pour les mises à jour. Nous publierons régulièrement et continuerons d'améliorer l'application Autodoc. Vous voulez contribuer ? Lisez ci-dessous.
En tant que projet open source dans un domaine en développement rapide, nous sommes extrêmement ouverts aux contributions, que ce soit sous la forme d'une nouvelle fonctionnalité, d'une infrastructure améliorée ou d'une meilleure documentation.
Pour des informations détaillées sur la façon de contribuer, voir ici.