Apa ini? • Memulai • Komunitas • Berkontribusi
Autodoc adalah perangkat eksperimental untuk menghasilkan dokumentasi basis kode secara otomatis untuk repositori git menggunakan Model Bahasa Besar, seperti GPT-4 atau Alpaca. Autodoc dapat diinstal di repo Anda dalam waktu sekitar 5 menit. Ini mengindeks basis kode Anda melalui traversal mendalam pertama dari semua konten repositori dan memanggil LLM untuk menulis dokumentasi untuk setiap file dan folder. Dokumen-dokumen ini dapat digabungkan untuk menjelaskan berbagai komponen sistem Anda dan cara kerjanya bersama.
Dokumentasi yang dihasilkan ada di basis kode Anda, dan menyebar ke mana pun kode Anda berpindah. Pengembang yang mengunduh kode Anda dapat menggunakan perintah doc
untuk mengajukan pertanyaan tentang basis kode Anda dan mendapatkan jawaban yang sangat spesifik dengan tautan referensi kembali ke file kode.
Dalam waktu dekat, dokumentasi akan diindeks ulang sebagai bagian dari pipeline CI Anda, sehingga selalu terkini. Jika Anda tertarik untuk berkontribusi pada pekerjaan ini, lihat edisi ini.
Autodoc sedang dalam tahap awal pengembangan. Ini fungsional, tetapi belum siap untuk penggunaan produksi. Segala sesuatunya mungkin rusak, atau tidak berfungsi sebagaimana mestinya. Jika Anda tertarik untuk mengerjakan kerangka inti Autodoc, silakan lihat berkontribusi. Kami akan senang menerima bantuan Anda!
Pertanyaan: Saya tidak mendapatkan tanggapan yang baik. Bagaimana cara meningkatkan kualitas respons?
Jawaban: Autodoc sedang dalam tahap awal pengembangan. Oleh karena itu, kualitas respons dapat sangat bervariasi berdasarkan jenis proyek yang Anda indeks dan cara pertanyaan diutarakan. Beberapa tip untuk menulis kueri yang baik:
Berikut adalah beberapa contoh bagaimana Autodoc dapat digunakan.
.autodoc
. Ikuti petunjuk di sini untuk mempelajari cara menanyakannya.Autodoc memerlukan Node v18.0.0 atau lebih tinggi. v19.0.0 atau lebih tinggi direkomendasikan. Pastikan Anda menjalankan versi yang tepat:
$ node -v
Contoh keluaran:
v19.8.1
Instal alat Autodoc CLI sebagai modul NPM global:
$ npm install -g @context-labs/autodoc
Perintah ini menginstal alat Autodoc CLI yang memungkinkan Anda membuat dan menanyakan indeks Autodoc.
Jalankan doc
untuk melihat perintah yang tersedia.
Anda dapat menanyakan repositori yang telah menginstal Autodoc melalui CLI. Kami akan menggunakan repositori Autodoc itu sendiri sebagai contoh untuk mendemonstrasikan cara kerja kueri di Autodoc, namun ini bisa berupa repositori Anda sendiri yang berisi indeks.
Kloning Autodoc dan ubah direktori untuk memulai:
$ git clone https://github.com/context-labs/autodoc.git
$ cd autodoc
Saat ini Autodoc hanya mendukung OpenAI. Pastikan kunci API OpenAI Anda telah diekspor di sesi Anda saat ini:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Untuk memulai CLI kueri Autodoc, jalankan:
$ doc q
Jika ini pertama kalinya Anda menjalankan doc q
, Anda akan melihat layar yang meminta Anda memilih model GPT mana yang dapat Anda akses. Pilih mana yang sesuai dengan tingkat akses Anda. Jika Anda tidak yakin, pilih opsi pertama:
Anda sekarang siap untuk menanyakan dokumentasi untuk repositori Autodoc:
Ini adalah pengalaman kueri inti. Ini sangat mendasar saat ini, dengan banyak ruang untuk perbaikan. Jika Anda tertarik untuk meningkatkan pengalaman kueri Autodoc CLI, selesaikan masalah ini.
Ikuti langkah-langkah di bawah ini untuk membuat dokumentasi untuk repositori Anda sendiri menggunakan Autodoc.
Ubah direktori menjadi root proyek Anda:
cd $PROJECT_ROOT
Pastikan kunci OpenAI API Anda tersedia di sesi saat ini:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Jalankan perintah init
:
doc init
Anda akan diminta memasukkan nama proyek Anda, url GitHub, dan memilih model GPT mana yang dapat Anda akses. Jika Anda tidak yakin model mana yang dapat Anda akses, pilih opsi pertama. Anda juga dapat menentukan perintah file/direktori GPT Anda sendiri yang akan digunakan untuk meringkas/menganalisis kode repoPerintah ini akan menghasilkan file autodoc.config.json
di root proyek Anda untuk menyimpan nilai. File ini harus diperiksa ke git.
Catatan: Jangan lewatkan memasukkan nilai-nilai ini karena pengindeksan mungkin tidak akan berhasil.
Konfigurasi Cepat: Anda akan menemukan petunjuk arah yang ditentukan dalam prompts.ts
, dengan beberapa cuplikan dapat disesuaikan di autodoc.config.json
. Perintah saat ini berfokus pada pengembang dan menganggap repo Anda berfokus pada kode. Kami akan memiliki lebih banyak templat referensi di masa mendatang.
Jalankan perintah index
:
doc index
Anda akan melihat layar seperti ini:
Layar ini memperkirakan biaya pengindeksan repositori Anda. Anda juga dapat mengakses layar ini melalui perintah doc estimate
. Jika Anda sudah mengindeks satu kali, maka doc index
hanya akan mengindeks ulang file yang telah diubah pada kesempatan kedua.
Untuk setiap file dalam proyek Anda, Autodoc menghitung jumlah token dalam file berdasarkan konten file. Semakin banyak baris kode, semakin besar jumlah tokennya. Dengan menggunakan nomor ini, ia menentukan model mana yang akan digunakan per file, selalu memilih model termurah yang panjang konteksnya mendukung jumlah token dalam file. Jika Anda tertarik untuk membantu membuat pemilihan model dapat dikonfigurasi di Autodoc, lihat masalah ini.
Catatan: Strategi pemilihan model yang naif ini berarti bahwa file dengan jumlah kurang dari ~4000 token akan didokumentasikan menggunakan GPT-3.5, yang akan menghasilkan dokumentasi yang kurang akurat. Kami merekomendasikan penggunaan minimal GPT-4 8K. Pengindeksan dengan GPT-4 menghasilkan keluaran yang jauh lebih baik. Anda dapat mengajukan permohonan akses di sini.
Untuk proyek besar, biayanya bisa mencapai beberapa ratus dolar. Lihat harga OpenAI di sini.
Dalam waktu dekat, kami akan mendukung model yang dihosting sendiri, seperti Llama dan Alpaca. Baca terbitan ini jika Anda tertarik untuk berkontribusi pada pekerjaan ini.
Ketika repositori Anda selesai diindeks, Anda akan melihat layar seperti ini:
Anda sekarang dapat mengkueri aplikasi Anda menggunakan langkah-langkah yang diuraikan dalam kueri.
Ada sekelompok kecil dari kami yang bekerja penuh waktu di Autodoc. Bergabunglah dengan kami di Discord, atau ikuti kami di Twitter untuk pembaruan. Kami akan memposting secara berkala dan terus menyempurnakan aplikasi Autodoc. Ingin berkontribusi? Baca di bawah.
Sebagai proyek sumber terbuka di bidang yang berkembang pesat, kami sangat terbuka terhadap kontribusi, baik dalam bentuk fitur baru, peningkatan infra, atau dokumentasi yang lebih baik.
Untuk informasi rinci tentang cara berkontribusi, lihat di sini.