М.С. Воробьев | ИИ-ассистенты на Python. Применяем LLM, GPT, RAG на практике + Диск (2026) [PDF]
Автор: М.С. Воробьев
Издательство: Наука и Техника
Серия: Для тех, кто хочет стать профессионалом
ISBN: 978-5-6049659-2-4
Жанр: Компьютерная литература
Формат: PDF
Качество: OCR
Иллюстрации: Черно-белые
Описание:Цель книги: предоставить читателю доступные и понятные шаги по созданию ИИ-ассистентов и ИИ-агентов на языке Python, поэтому книга написана в формате практического руководства, которое поможет, шаг за шагом, освоить ключевые концепции и принципы работы с LLM, GPT и RAG (основной метод для создания умных помощников).
В ходе изучения вы познакомитесь с популярными фреймворками (LangChain и Llamalndex) и различными архитектурными приемами разработки ИИ-ассистентов, получите знания о принципах работы с большими языковыми моделями, промт-инжиниринге и способах эффективного управления ими.
Для практического применения в книге подробно разбирается создание чат-ботов для популярных платформ: Telegram и ВКонтакте, это позволит вам самостоятельно проектировать и внедрять ИИ-ассистентов в свои бизнес-процессы. Также даны рекомендации по получению бесплатного доступа к некоторым языковым моделям для реализации ИИ-ассистентов на практике.
Полезным бонусом к книге будет виртуальный диск с исходным кодом шаблонами и необходимыми библиотеками, которые использовались при создании проектов книги.
Книга будет полезна как начинающим специалистам, студентам, желающим узнать больше о возможностях этих моделей, фрилансерам и предпринимателям оказывающим услуги бизнесу, специалистам компаний желающим внедрить ИИ в свою деятельность или оптимизировать свою работу, так и разработчикам, бизнес-аналитикам, специалистам по ИИ и всем, кто интересуется разработкой полезных инструментов на Python на базе GPT и LLM.
Оглавление
Введение .................................................................................... 14
Для кого эта книга ......................................................................................................... 16
Что получит читатель .................................................................................................. 17
Необходимые базовые навыки ................................................................................. 17
Необходимое оборудование и ресурсы ................................................................... 18
Примечание ................................................................................................................... 19
ГЛАВА 1. Что такое нейронные сети, GPT и LLM ................ 21
1.1. Основы и терминология ....................................................................................... 22
1.2. Нейронные сети ..................................................................................................... 24
1.3. Архитектуры нейронных сетей ........................................................................... 25
Полносвяэные нейронные сети .......................................................... 25
Рекуррентные нейронные сети ........................................................... 26
Свёрточные сети .................................................................................. 27
Трансформеры ..................................................................................... 28
1.4. Генеративный предобученный трансформер (GPT) ....................................... 28
1.5. Большая языковая модель (LLM) ....................................................................... 29
1.6. NLP (обработка естественного языка) ............................................................... 31
1.7. ИИ-ассистенты и ИИ-агенты ................................................................................ 31
ГЛАВА 2. Характеристики LLM ................................................ 33
2.1. Размер модели ....................................................................................................... 34
2.2. Контекстное окно .................................................................................................. 36
2.3. Контекст обучения LLM ........................................................................................ 38
ГЛАВА 3. Как работает LLM ..................................................... 41
3.1. Ключевые этапы в работе LLM ........................................................................... 42
Токенизация ........................................................................................ .42
Векторизация (эмбедцинг) .................................................................. 47
Обработка входной информации в модели ...................................... 51
Генерация ответа ................................................................................. 53
3.2. Общая схема работы больших языковых моделей ........................................ 54
ГЛАВА 4. Способы управления генерируемым текстом ... 57
4.1. Режим Playground (песочница) ............................................................................ 58
4.2. Температура - креативность генерации .......................................................... 61
4.3. Top-k и Тор-р - фильтры вероятных ответов ................................................. 63
4.4. Max_tokens - длина ответа ................................................................................. 65
4.5. Штрафы за повторения ........................................................................................ 66
Штраф за повторения (repetition penalty) ........................................... 66
Штраф за частоту (frequency penalty) ................................................ 67
4.6. Промпт-инжиниринг .............................................................................................. 68
Промпт .................................................................................................. 69
Роль ...................................................................................................... 70
Контекст ................................................................................................ 71
Действие ............................................................................................... 71
Ограничения ........................................................................................ 72
Формат вывода ..............................· . .....................................................7 3
Целевая аудитория .............................................................................. 73
Стиль .................................................................................................... 74
4.7. Контекст: особенности и секреты ...................................................................... 75
4.8. Системный промпт ................................................................................................ 78
ГЛАВА 5. Роли и сообщения (messages) ............................... 83
5.1. Роли сообщений .................................................................................................... 84
5.2. Разделение ролей .................................................................................................. 85
ГЛАВА 6. Ограничения и проблемы LLM .............................. 89
6.1. Галлюцинации LLM ............................................................................................... 91
Вероятностная природа генерации .................................................... 91
Стремление дать ответ любой ценой ................................................ 91
Отсутствие истинного понимания ...................................................... 92
6.2. Интерпретируемость ответов .............................................................................. 92
6.3. Устаревание или отсутствие необходимых данных ....................................... 93
6.4. Убедительность LLM ............................................................................................. 94
6.5. Деградация языковых моделей .......................................................................... 95
ГЛАВА 7. Способы взаимодействия с LLM .......................... 97
7.1. Взаимодействие через APl ................................................................................... 99
7 .2. Использование SDK (Software Development Kit) ............................................ 101
7.3. Фреймворки для построения цепочек и агентов ........................................... 102
7.4. Локальное разворачивание ............................................................................... 103
7.5. Локальные веб-клиенты .................................................................................... 105
ГЛАВА 8. REST API доступ к LLM .......................................... 107
8.1. Yandex Cloud ......................................................................................................... 108
8.2. Платформа Studio от СБЕР ................................................................................ 114
8.3. ОреnАl-совместимые модели и платформа Evolution от Cloud.ru ............. 121
8.4. Подключение к моделям Ollama ....................................................................... 126
ГЛАВА 9. Заключение к первой части ................................. 129
9.1. Что уже узнали и чему научились .................................................................... 130
9.2. Что дальше? (не переключайтесь, будет интересно) ................................... 130
mдвд 1 о. Базовый ИИ-ассисrент с интеграцией в Telegram и VК ... 131
10.1. Описание ассистента ........................................................................................ 132
10.2. Регистрация Telegram-бoтa .............................................................................. 136
10.3. Регистрация бота во ВКонтакте ...................................................................... 136
ИИ-ассистеиты на Python
10.4. Модуль openAI_APl.py ...................................................................................... 138
10.5. Модуль yandexgpt_APl.py ................................................................................ 140
10.6. Модуль gigachat_api.py .................................................................................... 142
10.7. Модуль config.py ................................................................................................ 146
10.8. Модуль keyboards_tg.py ................................................................................... 148
10.9. Модуль keyboards_vk.py .................................................................................. 151
10.1 О. Модуль handlers_tg.py .................................................................................... 153
10.11. Модуль handlers_ vk.py ................................................................................... 160
10.12. Модуль bot_tg.py ............................................................................................. 166
10.13. Модуль bot_vk.py ............................................................................................. 168
10.14. Запуск ИИ-ассистента ..................................................................................... 170
ГЛАВА 11. Простой диалоговы й И И-асс истент .................. 173
11.1. Введение в диалоговые ИИ-ассистенты ....................................................... 174
11.2. Модуль config.py ................................................................................................ 183
11.3. Модуль LLM_service.py ..................................................................................... 184
11.4. Модуль message_handler_tg.py ....................................................................... 189
11.5. Модуль message_handler_vk.py ...................................................................... 196
11.6. Модуль bot_tg.py ................................................................................................ 203
11.7. Модуль bot_vk.py ............................................................................................... 205
11.8. Запуск ИИ-ассистента ....................................................................................... 208
ГЛАВА 12. Диалоговый ИИ-ассистент с определением намерений .. 209
12.1. Определение намерений с применением LLM ............................................. 210
12.2. Схема взаимодействия ИИ-ассистента с LLM и пользователем .............. 220
12.3. Модуль config.py ............................................................................................... 225
12.4. Модуль LLM_service.py ..................................................................................... 225
12.5. Модуль message_handler_tg.py ....................................................................... 226
12.6. Модуль message_handler_vk.py ...................................................................... 230
12.7. Модуль intent_handlers_tg.py .......................................................................... 234
12.8. Модуль intent_handlers_vk.py .......................................................................... 242
12.9. Модули bot_tg.py и bot_vk.py .......................................................................... 248
12.1 О. Запуск ИИ-аrента .............................................................................................. 248
ГЛАВА 13. Заключение ко второй части ............................. 249
13.1. Что уже узнали и чему научились .................................................................. 250
13.2. Что дальше? (не переключайтесь, будет интересно) ................................. 251
ГЛАВА 14. Технология RAG ................................................... 253
14.1. Введение в RAG ................................................................................................. 254
Дообучение (fine-tuning) моделей .................................................... 254
Технология RAG ................................................................................ 255
14.2. Подrотовка и индексация данных .................................................................. 257
Шаг 1. Подготовка документов ......................................................... 258
Шаг 2. Разбивка документов ............................................................. 258
Шаг 3. Индексация (генерация эмбеддингов) . ................................ 258
Шаг 4. Хранение в векторных БД . .................................................... 259
14.3. Поиск релевантных данных - Retrieval ....................................................... 259
Шаг 1. Поиск данных . ........................................................................ 260
Шаг 2. Реранкинг найденных результатов . ...................................... 260
14.4. Генерация ответа ............................................................................................... 260
14.5. Особенности разбивки на чанки ..................................................................... 261
14.6. Инструменты работы с RAG ............................................................................ 264
ГЛАВА 15. Фреймворк Llamalndex ....................................... 267
15.1. Введение в Llamalndex ..................................................................................... 268
15.2. Задание начальных параметров .................................................................... 269
15.3. Заrрузка документов ......................................................................................... 272
15.4. Разбивка документов на чанки (фрагменты) ...............................................2 75
SentenceSplitter - разбиение с сохранением целостности
предложений ...................................................................................... 276
SemanticSplitterNodeParser - семантическое разбиение ............. 277
CodeSplitter - разбиение исходного кода ...................................... .278
15.5. Создание индексов ........................................................................................... 278
Vector Store lndex - векторный индекс ........................................... 280
Summary lndex - списковый индекс ............................................... 280
Keyword ТаЫе lndex .......................................................................... .281
Тгее lndex ........................................................................................... 284
Graph lndex ......................................................................................... 287
15.6. Настройка RAG ................................................................................................... 290
15.7. Ретриверы (retrievers) ....................................................................................... 293
BM25Retriever .................................................................................... 294
QueryFusionRetriever ......................................................................... 295
15.8. Сериализация индексов ................................................................................... 297
15.9. Инкрементальное обновление индексов ...................................................... 298
ГЛАВА 16. Векторные базы данных .................................... 303
16.1. Что такое векторные БД ................................................................................... 304
16.2. Реализации векторных БД ............................................................................... 305
16.3. Метаданные в векторных БД .......................................................................... 308
ГЛАВА 17. Фреймворк LangChain ......................................... 311
17.1. Введение в LangChain ...................................................................................... 312
17.2. Загрузка документов (Document Loaders) ..................................................... 313
17.3. Разбивка документов на чанки (фрагменты) ............................................... 316
17.4. Создание векторного индекса ......................................................................... 317
17.5. Retrievers ............................................................................................................. 319
Базовый векторный ретривер ........................................................... 320
SetfQueryRetriever - обеспечивает поиск на естественном языке ... 321
ContextualCompressionRetriever - обеспечивает "умное" сжатие
контекста ............................................................................................ 323
EnsemЫeRetriever - объединяет результаты нескольких
ретриверов ......................................................................................... 325
MultiQueryRetriever - генерирует несколько переформулировок
запроса ............................................................................................... 325
17.6. Memory (память) ................................................................................................ 326
Хранение полной истории (Buffer Memory) ...................................... 327
Саммаризация истории ..................................................................... 328
Оконная память ................................................................................ 329
Векторная память .............................................................................. 330
17.7. Chains (цепочки) ................................................................................................. 332
Последовательная цепочка (Pipeline) .............................................. 337
Параллельное выполнение (RunnaЫeParallel) ............................... 338
Выполнение пользовательских функций (RunnaЫelambda) ......... 340
Условная маршрутизация (RunnaЫeBranch) ................................... 343
17.8. Agent (агент) ....................................................................................................... 346
LLM - центральный компонент ....................................................... 347
Инструменты (tools) ........................................................................... 349
Исполнительный движок (AgentExecutor) ........................................ 350
ГЛАВА 18. Рекомендации по разбивке (чанкинrу) документов
и организации метаданных ....................................... 355
18.1. Почему чанкинг и индексация определяют качество RAG ........................ 356
18.2. Типовые правила разбиения на чанки .......................................................... 358
Добавление метаданных к каждому фрагменту ............................. 358
Разделение данных по предметным областям ............................... 358
Сохранение семантической целостности при разбиении .............. 359
Избегание дублирования и перекрытия там, где это вредит ......... 360
Адаптация размера чанка под задачу и модель ............................. 360
18.3. Примеры стратегий из реальных кейсов ...................................................... 361
Один гигантский документ и множество мелких ............................. 361
Табличные данные в форматах Markdown или ТХТ ....................... 361
Исходный код, SQL-зanpocы, конфигурационные файлы .............. 362
Чат-логи и истории диалогов ............................................................ 362
Документы с многоуровневой иерархией (ГОСТы, законы
технические задания) ........................................................................ 363
Документы со ссылками .................................................................... 364
Формы документов, анкеты, шаблоны ............................................. 365
Конфиденциальные фрагменты внутри общих документов .......... 365
Длинные повествовательные тексты (аналитические отчёты
художественная литература) ............................................................ 366
ГЛАВА 19. И И-агент на основе LangChain .......................... 367
19.1. Описание ИИ-агента .......................................................................................... 368
19.2. Модули bot_tg.py bot_vk.py .............................................................................. 369
19.3. Модуль config.py ................................................................................................ 370
19.4. Модули handler_tg.py и handler_vk.py ............................................................ 371
19.5. Модуль base.py .................................................................................................. 372
19.6. Модуль tools.py .................................................................................................. 374
19.7. Модуль agent.py ................................................................................................. 377
19.8. Модуль memory_manager.py ............................................................................ 379
19.9. Модули base_chain.py, organization_chain.py, service_chain.py и books_
chain.py ......................................................................................................... 380
ГЛАВА 20. Критерии успеха RАG-системы ......................... 383
20.1. Метрики качества ретриверов ......................................................................... 384
20.2. Как выбрать К для RАG-системы ................................................................... 391
20.3. Метрики генерации ............................................................................................ 393
Фактическая точность (Factuality) ..................................................... 394
Релевантность ответа ....................................................................... 396
Согласованность (Consistency) ........................................................ 397
Полнота (Completeness) .................................................................... 398
20.4. Инструменты LLM-as-a-Judge .......................................................................... 400
Комплексная оценка RAG систем с применением фреймворка
RAGAS ............................................................................................... .401
Оценка RАG-систем с применением фрейм вор ка Trulens .......... .404
ГЛАВА 21. Заключение к третьей части .............................. 407
21.1. Что уже узнали и чему научились .................................................................. 408
21.2. Что дальше? (не переключайтесь, будет интересно) ................................. 410
ГЛАВА 22. Введение в безопасность и этику работы с LLM .. 411
22.1. Основные угрозы .............................................................................................. 412
22.2. Правдивость и достоверность результатов работы LLM .......................... 413
ГЛАВА 23. Основные уязвимости LLM и типичные атаки .. 415
23.1. Промпт-инъекция (Prompt lnjection) ............................................................... 416
Примеры угроз .................................................................................. .417
Причины уязвимости ......................................................................... 417
Меры предосторожности и защиты ................................................. .418
23.2. Раскрытие конфиденциальной информации (Sensitive lnformation
Disclosure) .................................................................................................... 418
Примеры угроз .................................................................................. .419
Меры предосторожности ................................................................. .420
23.3. Уязвимости цепочки поставок (Supply Chain Vulnerabllities) ..................... 420
Основные векторы атак ................................................................... .421
Причины уязвимости ........................................................................ .422
Меры предосторожности .................................................................. 422
23.4. Отравление данных и модели (Data and Model Poisoning) ........................ 423
Примеры угроз .................................................................................. .424
Меры предосторожности ................................................................. .424
23.5. Небезопасная обработка выходных данных (lnsecure Output Handling)425
Примеры угроз - типичные сценарии атак ................................... .426
Причины уязвимости ........................................................................ .426
Меры предосторожности ................................................................. .427
23.6. Отказ в обслуживании модели (Model Denial of Service). ...........................4 28
Примеры типичных атак .................................................................... 428
Меры предосторожности ................................................................. .429
23.7. Утечка системного промпта {System Prompt Leakage) ................................ 430
Пример угрозы ................................................................................... 431
Меры предосторожности .................................................................. 431
23.8. Небезопасный дизайн плаrинов {lnsecure Plugin Design) .......................... 432
Типичные сценарии атак ................................................................... 433
Причины уязвимости ......................................................................... 433
Меры предосторожности ................................................................. .434
23.9. Чрезмерная автономия {Excessive Agency) .................................................. 435
Типичные сценарии риска ................................................................. 436
Причины уязвимости ........................................................................ .436
Меры предосторожности ................................................................. .436
23.10. Чрезмерное доверие {Overreliance) .............................................................. 437
Типичные проявления чрезмерного доверия .................................. 438
Меры предосторожности .................................................................. 439
Вместо заключения .....................................•.............................................................. 440
ГЛАВА 24. Этика применения LLM ....................................... 443
24.1. Справедливость и отсутствие предвзятости ............................................... 445
24.2. Прозрачность и объяснимость ....................................................................... 446
24.3. Ответственность .......................................................................................•........ 446
24.4. Конфиденциальность и уважение к личности ............................................. 448
24.5. Безопасность и благополучие ........................................................................ 448
Заключение .............................................................................. 451
ПРИЛОЖЕНИЕ 1. Общая часть системного промпта для диалогового ИИ-
ассистента с определением намерений ................................................. 454
ПРИЛОЖЕНИЕ 2. Вывод лога демонстрации работы Llamalndex .................... 460
Список использованных источников информации ................... 462
Скриншоты:
Время раздачи: с 09:00 до 21:00 (минимум до появления первых 3-5 скачавших)