Эта книга написана, чтобы помочь разработчикам создавать приложения для анализа мультимодальных данных с использованием современных языковых технологий. Здесь рассматриваются языковые модели и основные библиотеки Python, которые понадобятся для работы с ними. С помощью серии мини-проектов показано, как использовать языковые модели для анализа текста, табличных данных, графов, изображений, видео- и аудиофайлов. Изучив такие темы, как промпт-инжиниринг (создание подсказок для языковых моделей), дообучение и современные программные фреймворки, вы сможете с помощью моделей быстро создавать сложные, производительные и экономически эффективные приложения для анализа данных.
Кем бы вы ни были — разработчиком программного обеспечения, специалистом по работе с данными или любителем, интересующимся этой сферой, — эта книга для вас, если вы хотите использовать мощные возможности больших языковых моделей для выполнения различных видов анализа данных.
Предварительный опыт работы с языковыми моделями не требуется, так как в книге изложены все основы. Однако полезно иметь опыт программирования на Python, хотя бы на базовом уровне, поскольку примеры взаимодействия с моделями приведены именно на этом языке.
Книга состоит из десяти глав, разделенных на три части. Часть I знакомит с языковыми моделями и позволяет составить первое впечатление о преимуществах их использования для анализа данных.
• Глава 1 содержит общее описание языковых моделей и объяснение принципов их применения в области анализа данных.
• В главе 2 рассказывается о чат-боте ChatGPT, показан анализ текстовых и табличных данных в веб-интерфейсе ChatGPT.
Часть II знакомит с библиотекой компании OpenAI для Python и показывает, как анализировать различные типы данных с помощью языковых моделей непосредственно на Python.
• Глава 3 рассказывает о библиотеке компании OpenAI для Python, позволяющей пользователям отправлять запросы к языковым моделям и настраивать их поведение различными способами.
• В главе 4 показано, как использовать языковые модели для обработки текстовых данных: например, для классификации документов или извлечения конкретных сведений.
• В главе 5 демонстрируется процесс создания интерфейсов запросов на естественном языке с использованием языковых моделей, которые переводят вопросы на естественном языке в формальные запросы, обращаясь к табличным или графовым данным.
• В главе 6 описывается использование мультимодальных языковых моделей для обработки изображений или видеоданных, чтобы решать такие задачи, как обнаружение объектов, ответы на вопросы и генерация описаний.
• В главе 7 представлено несколько вариантов использования языковых моделей при анализе аудиоданных: например, транскрибация аудиозаписей, реализация интерфейсов голосовых запросов или перевод голосового ввода на другие языки.
Часть III посвящена темам для углубленного изучения, позволяющим оптимизировать выбор моделей, конфигураций и фреймворков.
• В главе 8 рассматриваются различные поставщики больших языковых моделей, а также дается краткий обзор предлагаемых ими моделей и соответствующих библиотек Python.
• В главе 9 демонстрируются методы, которые можно использовать для минимизации стоимости обработки и максимизации качества результатов при работе с языковыми моделями, включая оптимизацию выбора модели и настройки параметров, а также дообучение.
• В главе 10 рассматривается несколько программных фреймворков, в частности LangChain и LlamaIndex, которые позволяют создавать сложные приложения на основе больших языковых моделей, сокращая затраты на реализацию.
Начинать чтение рекомендуется с главы 1, в которой приведены важные термины и понятия. Вы можете пропустить главу 2, если уже работали с языковыми моделями через веб-интерфейсы. В большинстве других глав речь идет о библиотеке OpenAI для Python. Поэтому стоит прочитать главу 3, прежде чем переходить к следующим. Главы 4–7 посвящены различным типам данных, и их можно читать в любом порядке. Аналогично главы 8–10 не связаны друг с другом, поэтому очередность их изучения может быть любой.
Эта книга содержит множество примеров исходного кода в нумерованных и ненумерованных листингах. Полный код в пронумерованных листингах доступен для скачивания по ссылкам, размещенным на сайте книги www.dataanalysiswithllms.com в разделе Resources. Ссылки на файлы с кодом и сопутствующие тестовые данные сгруппированы в соответствии с главами книги. Кроме того, весь репозиторий кода и данные можно скачать с сайта издательства: www.manning.com/books/data-analysis-with-llms.
Исходный код отформатирован моноширинным шрифтом, чтобы отделить его от обычного текста. Во многих случаях оригинальный код был переформатирован: добавлены разрывы строк и изменены отступы, чтобы он уместился на странице. Кроме того, если код листинга был описан в тексте, то комментарии из него часто удалялись. Многие листинги снабжены аннотациями, в которых описаны важные концепции.