Как создать README для Python-проекта за 10 минут: руководство с использованием ChatGPT и Midjourney

от автора

Привет, читатели Habr! Сегодня я хочу поделиться с вами уникальными и полезными советами о том, как за считанные минуты создать качественный README для вашего Python-проекта и стильный логотип, используя возможности ChatGPT и Midjourney.

В эпоху ИИ, документирование проектов становится не только проще, но и значительно быстрее. Многие разработчики часто игнорируют создание документации, поскольку это занимает много времени. Однако с использованием ИИ это проблема больше не актуальна.

Основная цель состоит в том, чтобы ChatGPT мог разобраться в коде нашего проекта и без труда составить для него README. Однако стоит учесть ограничения: GPT-4 может запомнить до 25 000 слов в диалоге, а GPT-3 — до 3 000 слов. Если вы превысите эти лимиты, ChatGPT потеряет контекст. В связи с этим, просто скопировать 100 000 строк кода и попросить ИИ составить README не получится. Вместо этого мы научимся экономить количество слов и максимально эффективно использовать возможности ИИ.

Читайте далее, и вы узнаете самые лучшие практики и секреты создания README и логотипов с помощью ИИ!

Вот проект, который был на 80% написан с помощью ИИ https://github.com/denisxab/speakerpy

Часть 1 — Создаем автоматическую документацию проекта с помощью Sphinx

Оптимальным решением для экономии слов при работе с ChatGPT является использование docstring и аннотаций аргументов в классах и функциях.

  1. Генерируем документацию проекта с помощью Sphinx

    1. Установка sphinx

      pip install sphinx sphinx_rtd_theme;
    2. Создание структуры документации sphinx

      mkdir docs cd docs #Инициализация проекта sphinx-quickstart
    3. Заменить содержимое файла ./docs/source/conf.py на следующее:

      import sys import pathlib  BASE_DIR = pathlib.Path(__file__).parent.parent.parent.parent project = BASE_DIR.name  # Добавляем проект с модулями в путь Python sys.path.insert(0, str(BASE_DIR / project)) extensions = [     "sphinx.ext.autodoc", ] templates_path = ["_templates"] exclude_patterns = [] language = "ru" html_theme = "sphinx_rtd_theme" html_static_path = ["_static"]
    4. Добавить в файл ./docs/source/index.rst модули, которые должны быть включены в документацию:

      .. toctree::    :maxdepth: 2    :caption: Contents:  .. automodule:: ИмяМодуляИлиФайла    :members:    :undoc-members:    :special-members:  __init__    :inherited-members:    :private-members:
    5. Собираем ./docs/docs/build/html/index.html

      make html   
  2. После того как получен файл ./docs/build/html/index.html, мы можем преобразовать его в простой текст и отправить в ChatGPT.

    sudo apt install lynx
     lynx -dump ./docs/docs/build/html/index.html > /docs/docs/build/html/index.txt

Часть 2 — Обращаемся к ChatGPT для написания README

  • Начните диалог с следующим промптом:

    Запоминай весь текст который я тебе буду отправлять. Когда я напишу команду "Напиши README по тексту который ты запомнил" тебе нужно будет написать README.md в формате Markdwon по тексту который я тебе отправил ранее. Если я тебе не дал команду "Напиши README по тексту который ты запомнил", то ожидай новой части текста, а в текущий ответ напиши мне "...". Ты меня понял ?
    • После того как ChatGPT подтвердит понимание, отправляйте текст с помощью такой команды:

      Запомни этот текст:  [ТЕКСТ]
    • Когда вы отправили всю необходимую информацию, используйте эту команду для создания README:

      Напиши README по тексту который ты запомни
  • Если у вас уже есть README, и вы хотите его оптимизировать на основе предоставленного текста:

    Оптимизируй это README на основание текста который ты запоминал:   [ТЕКСТ README]
  • Если вам нужно оптимизировать и дополнить существующую главу документации:

    Оптимизируй и допиши эту главу на основание прошлого ответа. В текущий ответ напиши оптимизированную главу:  [ТЕКСТ Главы] 
  • Вы можете попросить написать новую главу, основываясь на вашем тексте:

    На основание прошлых ответов, напиши главу "ПроЧтоНаписатьГлаву" 
  • Команда для продолжения предыдущего ответа с места остановки:

    Продолжи свой прошлый ответ, на том месте где ты остановился
  • Команда чтобы он придумал краткое описание для текста

    На основание текста который ты запомнил, и на основание README, напиши About о программе.  Можешь использовать смайлики GitHub. Обязательно не более 350 символов.
  • Команда чтобы он придумал промт для midjourney, с помощью которого мы создадим логотип проекта.

    На основе текста который ты запомнил, и на основании своих ответов - придумай промт(на английском языке) для midjourney чтобы он нарисовал логотип.

Скрин диалога с ChatGPT


ссылка на оригинал статьи https://habr.com/ru/post/725132/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *