Что это? • Начало работы • Сообщество • Внесение вклада
Autodoc — это экспериментальный набор инструментов для автоматического создания документации по кодовой базе для репозиториев git с использованием моделей большого языка, таких как GPT-4 или Alpaca. Autodoc можно установить в ваш репозиторий примерно за 5 минут. Он индексирует вашу кодовую базу посредством обхода всего содержимого репозитория в глубину и вызывает LLM для написания документации для каждого файла и папки. Эти документы можно комбинировать для описания различных компонентов вашей системы и их совместной работы.
Сгенерированная документация находится в вашей кодовой базе и перемещается туда, куда перемещается ваш код. Разработчики, загружающие ваш код, могут использовать команду doc
, чтобы задавать вопросы о вашей кодовой базе и получать конкретные ответы со ссылками на файлы кода.
В ближайшем будущем документация будет переиндексирована как часть вашего конвейера CI, поэтому она всегда будет актуальной. Если вы заинтересованы в том, чтобы внести свой вклад в эту работу, см. этот выпуск.
Autodoc находится на ранней стадии разработки. Он функционален, но не готов к использованию в производстве. Что-то может сломаться или работать не так, как ожидалось. Если вы заинтересованы в работе над основной платформой Autodoc, см. раздел «Внесение вклада». Мы будем рады вашей помощи!
Вопрос: Я не получаю хороших ответов. Как я могу улучшить качество ответов?
Ответ: Autodoc находится на ранней стадии разработки. Таким образом, качество ответов может сильно различаться в зависимости от типа индексируемого проекта и того, как сформулированы вопросы. Несколько советов по написанию хорошего запроса:
Ниже приведены несколько примеров использования Autodoc.
.autodoc
. Следуйте инструкциям здесь, чтобы узнать, как его запросить.Для Autodoc требуется Node версии 18.0.0 или более поздней версии. Рекомендуется версия 19.0.0 или выше. Убедитесь, что вы используете правильную версию:
$ node -v
Пример вывода:
v19.8.1
Установите инструмент Autodoc CLI как глобальный модуль NPM:
$ npm install -g @context-labs/autodoc
Эта команда устанавливает инструмент Autodoc CLI, который позволит вам создавать и запрашивать индексы Autodoc.
Запустите doc
, чтобы увидеть доступные команды.
Вы можете запросить репозиторий, в котором установлен Autodoc, через CLI. Мы будем использовать сам репозиторий Autodoc в качестве примера, чтобы продемонстрировать, как работают запросы в Autodoc, но это может быть ваш собственный репозиторий, содержащий индекс.
Клонируйте Autodoc и измените каталог, чтобы начать:
$ git clone https://github.com/context-labs/autodoc.git
$ cd autodoc
Сейчас Autodoc поддерживает только OpenAI. Убедитесь, что ваш ключ OpenAI API экспортирован в текущий сеанс:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Чтобы запустить CLI запроса Autodoc, выполните:
$ doc q
Если вы впервые запускаете doc q
, вы увидите экран, предлагающий выбрать, к каким моделям GPT у вас есть доступ. Выберите тот, который соответствует вашему уровню доступа. Если вы не уверены, выберите первый вариант:
Теперь вы готовы запросить документацию для репозитория Autodoc:
Это основной опыт запросов. На данный момент это очень просто, и есть много возможностей для улучшения. Если вы заинтересованы в улучшении запросов Autodoc CLI, ознакомьтесь с этим выпуском.
Выполните следующие действия, чтобы создать документацию для собственного репозитория с помощью Autodoc.
Перейдите в корень вашего проекта:
cd $PROJECT_ROOT
Убедитесь, что ваш ключ API OpenAI доступен в текущем сеансе:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Запустите команду init
:
doc init
Вам будет предложено ввести название вашего проекта, URL-адрес GitHub и выбрать, к каким моделям GPT у вас есть доступ. Если вы не уверены, к каким моделям у вас есть доступ, выберите первый вариант. Вы также можете указать свои собственные подсказки для файла/каталога GPT, которые будут использоваться для суммирования/анализа репозитория кода. Эта команда создаст файл autodoc.config.json
в корне вашего проекта для хранения значений. Этот файл необходимо вернуть в git.
Примечание. Не пропускайте ввод этих значений, иначе индексирование может не работать.
Конфигурация подсказки: вы найдете указания подсказки, указанные в prompts.ts
, а некоторые фрагменты можно настроить в autodoc.config.json
. Текущие подсказки ориентированы на разработчиков и предполагают, что ваш репозиторий ориентирован на код. В будущем у нас будет больше справочных шаблонов.
Запустите команду index
:
doc index
Вы должны увидеть такой экран:
На этом экране оценивается стоимость индексации вашего репозитория. Вы также можете получить доступ к этому экрану с помощью команды doc estimate
. Если вы уже проиндексировали один раз, то doc index
будет переиндексировать только те файлы, которые были изменены во второй раз.
Для каждого файла в вашем проекте Autodoc вычисляет количество токенов в файле на основе его содержимого. Чем больше строк кода, тем больше количество токенов. Используя это число, он определяет, какую модель он будет использовать для каждого файла, всегда выбирая самую дешевую модель, длина контекста которой поддерживает количество токенов в файле. Если вы хотите помочь сделать выбор модели настраиваемым в Autodoc, ознакомьтесь с этим выпуском.
Примечание. Эта простая стратегия выбора модели означает, что файлы с количеством токенов менее 4000 будут документироваться с использованием GPT-3.5, что приведет к менее точной документации. Мы рекомендуем использовать как минимум GPT-4 8K. Индексирование с помощью GPT-4 приводит к значительному улучшению результатов. Вы можете подать заявку на доступ здесь.
Для крупных проектов стоимость может составлять несколько сотен долларов. Посмотреть цены OpenAI можно здесь.
В ближайшем будущем мы будем поддерживать автономные модели, такие как Llama и Alpaca. Прочтите этот выпуск, если вам интересно внести свой вклад в эту работу.
Когда индексирование вашего репозитория будет завершено, вы должны увидеть такой экран:
Теперь вы можете запросить свое приложение, выполнив шаги, описанные в запросе.
Есть небольшая группа из нас, которые работают над Autodoc полный рабочий день. Присоединяйтесь к нам в Discord или подписывайтесь на нас в Твиттере, чтобы следить за обновлениями. Мы будем регулярно публиковать сообщения и продолжать совершенствовать приложение Autodoc. Хотите внести свой вклад? Читайте ниже.
Как проект с открытым исходным кодом в быстро развивающейся области, мы чрезвычайно открыты для вклада, будь то в виде новой функции, улучшенной инфраструктуры или улучшенной документации.
Подробную информацию о том, как внести свой вклад, смотрите здесь.