Was ist das? • Erste Schritte • Community • Mitmachen
Autodoc ist ein experimentelles Toolkit zur automatischen Generierung der Codebasisdokumentation für Git-Repositories unter Verwendung großer Sprachmodelle wie GPT-4 oder Alpaca. Autodoc kann in etwa 5 Minuten in Ihrem Repo installiert werden. Es indiziert Ihre Codebasis durch eine Tiefendurchquerung aller Repository-Inhalte und ruft einen LLM auf, um Dokumentation für jede Datei und jeden Ordner zu schreiben. Diese Dokumente können kombiniert werden, um die verschiedenen Komponenten Ihres Systems und deren Zusammenarbeit zu beschreiben.
Die generierte Dokumentation befindet sich in Ihrer Codebasis und bleibt dort, wo Ihr Code unterwegs ist. Entwickler, die Ihren Code herunterladen, können mit dem Befehl doc
Fragen zu Ihrer Codebasis stellen und erhalten hochspezifische Antworten mit Referenzlinks zurück zu Codedateien.
In naher Zukunft wird die Dokumentation als Teil Ihrer CI-Pipeline neu indiziert, sodass sie immer auf dem neuesten Stand ist. Wenn Sie daran interessiert sind, zu dieser Arbeit beizutragen, lesen Sie diese Ausgabe.
Autodoc befindet sich in einem frühen Entwicklungsstadium. Es ist funktionsfähig, aber nicht für den Produktionseinsatz bereit. Es kann passieren, dass Dinge kaputt gehen oder nicht wie erwartet funktionieren. Wenn Sie daran interessiert sind, am Kern-Autodoc-Framework zu arbeiten, lesen Sie bitte „Mitwirken“. Wir würden uns über Ihre Hilfe freuen!
Frage: Ich bekomme keine guten Antworten. Wie kann ich die Antwortqualität verbessern?
Antwort: Autodoc befindet sich in einem frühen Entwicklungsstadium. Daher kann die Qualität der Antworten je nach Art des Projekts, das Sie indizieren, und der Formulierung der Fragen stark variieren. Ein paar Tipps zum Schreiben einer guten Anfrage:
Nachfolgend finden Sie einige Beispiele für die Verwendung von Autodoc.
.autodoc
Ordner. Befolgen Sie die Anweisungen hier, um zu erfahren, wie Sie es abfragen.Autodoc erfordert Node v18.0.0 oder höher. v19.0.0 oder höher wird empfohlen. Stellen Sie sicher, dass Sie die richtige Version verwenden:
$ node -v
Beispielausgabe:
v19.8.1
Installieren Sie das Autodoc CLI-Tool als globales NPM-Modul:
$ npm install -g @context-labs/autodoc
Dieser Befehl installiert das Autodoc-CLI-Tool, mit dem Sie Autodoc-Indizes erstellen und abfragen können.
Führen Sie doc
aus, um die verfügbaren Befehle anzuzeigen.
Sie können über die CLI ein Repository abfragen, in dem Autodoc installiert ist. Wir verwenden das Autodoc-Repository selbst als Beispiel, um zu demonstrieren, wie Abfragen in Autodoc funktionieren. Dabei könnte es sich jedoch auch um Ihr eigenes Repository handeln, das einen Index enthält.
Klonen Sie Autodoc und wechseln Sie das Verzeichnis, um loszulegen:
$ git clone https://github.com/context-labs/autodoc.git
$ cd autodoc
Derzeit unterstützt Autodoc nur OpenAI. Stellen Sie sicher, dass Ihr OpenAI-API-Schlüssel in Ihrer aktuellen Sitzung exportiert wurde:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Führen Sie Folgendes aus, um die Autodoc-Abfrage-CLI zu starten:
$ doc q
Wenn Sie doc q
zum ersten Mal ausführen, wird ein Bildschirm angezeigt, in dem Sie aufgefordert werden, auszuwählen, auf welche GPT-Modelle Sie Zugriff haben. Wählen Sie die für Ihre Zugriffsebene geeignete Option aus. Wenn Sie sich nicht sicher sind, wählen Sie die erste Option:
Sie können jetzt die Dokumentation für das Autodoc-Repository abfragen:
Dies ist das Kernabfrageerlebnis. Im Moment ist es sehr einfach und bietet viel Raum für Verbesserungen. Wenn Sie daran interessiert sind, das Abfrageerlebnis der Autodoc-CLI zu verbessern, schauen Sie sich dieses Problem an.
Führen Sie die folgenden Schritte aus, um mit Autodoc Dokumentation für Ihr eigenes Repository zu erstellen.
Wechseln Sie in das Stammverzeichnis Ihres Projekts:
cd $PROJECT_ROOT
Stellen Sie sicher, dass Ihr OpenAI-API-Schlüssel in der aktuellen Sitzung verfügbar ist:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Führen Sie den init
-Befehl aus:
doc init
Sie werden aufgefordert, den Namen Ihres Projekts und die GitHub-URL einzugeben und auszuwählen, auf welche GPT-Modelle Sie Zugriff haben. Wenn Sie nicht sicher sind, auf welche Modelle Sie Zugriff haben, wählen Sie die erste Option. Sie können auch Ihre eigenen GPT-Datei-/Verzeichnis-Eingabeaufforderungen angeben, die zum Zusammenfassen/Analysieren des Code-Repositorys verwendet werden. Dieser Befehl generiert eine autodoc.config.json
Datei im Stammverzeichnis Ihres Projekts, um die Werte zu speichern. Diese Datei sollte in Git eingecheckt werden.
Hinweis: Überspringen Sie nicht die Eingabe dieser Werte, da sonst die Indizierung möglicherweise nicht funktioniert.
Eingabeaufforderungskonfiguration: Sie finden in prompts.ts
angegebene Eingabeaufforderungsanweisungen, wobei einige Snippets in autodoc.config.json
anpassbar sind. Die aktuellen Eingabeaufforderungen sind auf Entwickler ausgerichtet und gehen davon aus, dass Ihr Repo auf Code ausgerichtet ist. Wir werden in Zukunft weitere Referenzvorlagen haben.
Führen Sie den index
aus:
doc index
Sie sollten einen Bildschirm wie diesen sehen:
Dieser Bildschirm schätzt die Kosten für die Indizierung Ihres Repositorys. Sie können diesen Bildschirm auch über den Befehl doc estimate
aufrufen. Wenn Sie bereits einmal indiziert haben, indiziert doc index
nur Dateien neu, die beim zweiten Mal geändert wurden.
Für jede Datei in Ihrem Projekt berechnet Autodoc die Anzahl der Token in der Datei basierend auf dem Dateiinhalt. Je mehr Codezeilen, desto größer die Anzahl der Token. Anhand dieser Zahl wird ermittelt, welches Modell pro Datei verwendet wird, wobei immer das günstigste Modell ausgewählt wird, dessen Kontextlänge die Anzahl der Token in der Datei unterstützt. Wenn Sie daran interessiert sind, dabei zu helfen, die Modellauswahl in Autodoc konfigurierbar zu machen, schauen Sie sich dieses Problem an.
Hinweis: Diese naive Modellauswahlstrategie bedeutet, dass Dateien unter ca. 4.000 Token mit GPT-3.5 dokumentiert werden, was zu einer weniger genauen Dokumentation führt. Wir empfehlen mindestens die Verwendung von GPT-4 8K. Die Indizierung mit GPT-4 führt zu einer deutlich besseren Ausgabe. Den Zugang können Sie hier beantragen.
Bei großen Projekten können die Kosten mehrere hundert Dollar betragen. Sehen Sie sich hier die OpenAI-Preise an.
In naher Zukunft werden wir selbst gehostete Modelle wie Lama und Alpaka unterstützen. Lesen Sie diese Ausgabe, wenn Sie daran interessiert sind, zu dieser Arbeit beizutragen.
Wenn die Indizierung Ihres Repositorys abgeschlossen ist, sollte ein Bildschirm wie dieser angezeigt werden:
Sie können Ihre Anwendung jetzt mithilfe der unter „Abfrage“ beschriebenen Schritte abfragen.
Es gibt eine kleine Gruppe von uns, die Vollzeit an Autodoc arbeitet. Treten Sie uns auf Discord bei oder folgen Sie uns auf Twitter für Updates. Wir werden regelmäßig Beiträge veröffentlichen und die Autodoc-Anwendung weiter verbessern. Möchten Sie einen Beitrag leisten? Lesen Sie weiter unten.
Als Open-Source-Projekt in einem sich schnell entwickelnden Bereich sind wir äußerst offen für Beiträge, sei es in Form einer neuen Funktion, einer verbesserten Infrastruktur oder einer besseren Dokumentation.
Ausführliche Informationen zur Mitwirkung finden Sie hier.