Как создать 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/


Интересные статьи

Интересные статьи

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрались, как настроить и запустить проект, а сегодня продолжим создавать наш планировщи...
Хедлайнерами конференции «Умные решения – умная страна», которую проводит ЛАНИТ, всегда становятся необычные эксперты. В прошлом году всех волновал постковидный мир, и его постарался описать футуролог...
ВведениеКак показывает практика, статьи про репутацию и её влияние на мнение пользователя вызывают негатив, поскольку речь зачастую идет именно об исправлении ситуации, когда компания уже накосячила, ...
С проникновением аналитики во многие сферы нашей жизни она не могла обойти стороной финансы. В этой статье рассмотрим ее применение для анализа ETF с целью их анализа, в том числе и с применением визу...
Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как ...