Трудности перевода: почему LLM не умеют писать нормальные докстринги на русском и как это исправить

Каждый, кто пробовал заставить кодинг-LLM написать вменяемый комментарий к коду на русском, знает, какая это боль. Часто модели либо срываются на английский, либо выдают «кальку», либо игнорируют структуру. А всё потому, что они изначально заточены на английский язык. Огрехи встречаются, в частности, в терминологии: модели путают технические заимствования, например «деплой», «коммит», с их буквальным переводом, что делает текст неестественным для разработчика. В структуре тоже не всегда всё гладко: при генерации на русском модели часто «ломают» установленный для Docstring формат (описание, параметры, return, exceptions), из-за чего IDE перестают подхватывать документацию. Существующие в природе датасеты для обучения кодинг-моделей вроде CodeSearchNet и The Vault либо не содержат русского языка, либо, как MCoNaLa, заточены на поиск, а не на генерацию документации. Именно эту проблему решают ученые из MWS AI: они самостоятельно собрали датасет StRuCom, как раз ориентированный на обучение ИИ генерировать комментарии к коду. Под катом — история о том, как он был собран.

https://habr.com/ru/companies/mts_ai/articles/1035434/

#датасет #комментарии_к_коду #docstrings #автоматизация_разработки #искусственный_интеллект #llm #обучение_моделей #научные_исследования #синтетические_данные #ai

Трудности перевода: почему LLM не умеют писать нормальные докстринги на русском и как это исправить

Каждый, кто пробовал заставить кодинг-LLM написать вменяемый комментарий к коду на русском, знает, какая это боль. Часто модели либо срываются на английский, либо выдают «кальку», либо игнорируют...

Хабр
GitHub - koaning/smartfunc: Turn docstrings into LLM-functions

Turn docstrings into LLM-functions. Contribute to koaning/smartfunc development by creating an account on GitHub.

GitHub

With #Python now being "the most popular programming language" (don't get me started...), the #Unicode consortium has announced a new #codepoint specifically to aid Python #developers and increase efficiency -- both of time, and of storage.

The next Unicode release will include a codepoint representing triple double quotes, making #docstrings much easier.

#quotes #DoubleQuotes #TripleDoubleQuotes #docstring #syntax #popularity

Kinda interesting tidbit: #chatgpt just introduced spelling errors into #docstrings I asked it to generate.
#python #documentation #docstrings #chat-gpt #tips #howto : "Document Your Python Code and Projects With ChatGPT – Real Python"(https://realpython.com/document-python-code-with-chatgpt/)
Document Your Python Code and Projects With ChatGPT – Real Python

Good documentation is a critical feature of any successful Python project. In practice, writing documentation is hard and can take a lot of time and effort. Nowadays, with tools like ChatGPT, you can quickly document your Python code and projects.

[Перевод] Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx

В этой статье я расскажу о генераторе документации Sphinx , с помощью которого можно автоматически создавать документацию для модулей Python. Кроме того, я буду использовать шаблон проекта Cookiecutter Data Science в Visual Studio Code (VS Code), поскольку он легко интегрируется в Sphinx и имеет стандартизированную структуру директорий. Официальное пособие по использованию Sphinx — отличный ресурс для пользователей, которые хотят углубиться в детали. А моя статья — это краткое руководство по началу работы с этим инструментом.

https://habr.com/ru/companies/netologyru/articles/815563/

#python #документация #sphinx #data_science #автодокументация #docstrings #demopy #строки_документации #confpy #модули_python

Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx

У дата-сайентиста множество обязанностей в каждом проекте, но именно подготовку документации он чаще всего оставляет на последний момент. Возможно, вы добросовестно пишете строки документации для...

Хабр

@davidism

Depending on what you mean by attribute - you just want to extract the #docstrings?

On class (and class instances) and function/method objects, it's available as `<obj>.__doc__`. Same for modules. That covers most types of objects...

If you mean extracting information from type annotations, there's an inspection interface for that, too.

@folkerschamel @zenforyen @kevin @ado

Actually, I think that #type #hints in the #function #signature are usually *better* than having them in #docstrings. Not only can they not get out of date / become wrong (without causing checking failures), static type checking is much easier this way.

#Python question:
How do you talk about \n chars in #docstrings? do you r""" the docstring?
Do you spell out "new line char"?

Anyone know a #FOSS #YAML library for generating documentation? I'm looking to do #DocStrings in #GitLab #CICD files. I've seen a handful of options but they seem abandoned or very nascent.

#Python #DevOps #SoftwareEngineering