К курсам
AI010 Professional

Введение в большие языковые модели для разработчиков

Этот курс представляет собой адаптированную китайским условиям версию трехчастной серии по большим языковым моделям, совместно запущенной Эндрю Нг и OpenAI. В курсе рассматриваются техники создания промптов, создание систем с использованием API ChatGPT, разработка приложений на основе LangChain и использование LangChain для доступа к частным данным. Курс даёт чёткое и доступное введение в то, как использовать возможности больших языковых моделей для создания приложений с функциями резюмирования, вывода, трансформации, расширения и чат-взаимодействия.

4.8
24h
916 учеников
8 лайки
Искусственный интеллект
Начать обучение

Обзор курса

📚 Краткое содержание

Этот курс является китайской адаптацией трехчастной серии по крупным моделям языка (LLM), разработанной совместно Эндрю Нг и OpenAI. Он охватывает технику создания подсказок (Prompt Engineering), создание систем на основе API ChatGPT, разработку приложений с использованием LangChain и применение LangChain для доступа к частным данным. Курс предоставляет глубокое, но доступное введение в использование возможностей крупных моделей языка для создания приложений с функциями резюмирования, вывода, преобразования, расширения и чат-функций.

Освойте технику создания подсказок и фреймворк LangChain, чтобы стать разработчиком приложений ИИ в эпоху крупных моделей.

🎯 Цели обучения

  1. Различать базовые модели языка (Base LLMs) и модели, дообученные под инструкции (Instruction Tuned LLMs).
  2. Применять четыре конкретные стратегии для написания четких и точных инструкций (ограничители, структурированный вывод, проверка условий и примеры с небольшим числом случаев — few-shot prompting).
  3. Реализовывать стратегии, позволяющие модели «подумать»: определять шаги задачи и требовать независимого решения проблемы.
  4. Осуществлять структурированную обработку текста: резюмировать и извлекать конкретную информацию из одного или нескольких документов при контроле длины и фокуса вывода.
  5. Выполнять автоматический анализ текста: классифицировать настроение, выявлять конкретные эмоции и проводить нулевую классификацию тем с помощью подсказок.
  6. Выполнять мультимодальные преобразования: переводить между языками, преобразовывать форматы данных (например, JSON в HTML) и программно исправлять грамматику и орфографию.
  7. Различать базовые модели языка (Base LLMs) и модели, дообученные под инструкции (Instruction-Tuned LLMs), а также понимать влияние токенизации на поведение модели.
  8. Реализовывать структурированные архитектуры систем с использованием ролей сообщений: система (System), пользователь (User) и ассистент (Assistant) для определения личности модели.
  9. Применять методы классификации и модерации для оценки входных данных пользователя с точки зрения безопасности и маршрутизации.
  10. Реализовывать цепочки подсказок (Prompt Chaining): разбивать сложные задачи на управляемые подзадачи для повышения надежности и снижения затрат.

🔹 Урок 1: Принципы подсказок и итеративная разработка

Обзор: В этом уроке рассматриваются основные принципы создания подсказок для разработчиков, переход от простых «базовых моделей языка» (Base LLMs) к «моделям, дообученным под инструкции» (Instruction Tuned LLMs). Вводятся два ключевых направления эффективного взаимодействия: формулировка четких и точных инструкций и предоставление модели достаточного времени для «обдумывания». Кроме того, устанавливается итеративный рабочий процесс по улучшению подсказок для соответствия конкретным бизнес-требованиям, таким как ограничения по длине и формату.

Результаты обучения:

  • Различать базовые модели языка (Base LLMs) и модели, дообученные под инструкции (Instruction Tuned LLMs).
  • Применять четыре конкретные стратегии для написания четких и точных инструкций (ограничители, структурированный вывод, проверка условий и few-shot prompting).
  • Реализовывать стратегии, позволяющие модели «подумать», определяя шаги задачи и требуя независимого решения проблемы.

🔹 Урок 2: Основные возможности создания подсказок и чат-ботов

Обзор: В этом уроке рассматривается практическое применение крупных моделей языка (LLMs) в пяти ключевых областях: резюмировании, выводе, преобразовании, расширении и создании интерактивных чат-ботов. Предоставляется пошаговое руководство для разработчиков по использованию Python и API OpenAI для обработки текста, извлечения структурированных данных, изменения стилистики языка и сохранения контекста диалога для реальных приложений, таких как боты службы поддержки клиентов.

Результаты обучения:

  • Осуществлять структурированную обработку текста: резюмировать и извлекать конкретную информацию из одного или нескольких документов при контроле длины и фокуса вывода.
  • Выполнять автоматический анализ текста: классифицировать настроение, выявлять конкретные эмоции и проводить нулевую классификацию тем с помощью подсказок.
  • Выполнять мультимодальные преобразования: переводить между языками, преобразовывать форматы данных (например, JSON в HTML) и программно исправлять грамматику и орфографию.

🔹 Урок 3: Логика системы: классификация входных данных и рассуждения

Обзор: В этом уроке рассматриваются основные механизмы крупных моделей языка (LLMs), начиная с базовой токенизации и ролей сообщений и переходя к продвинутым стратегиям обработки входных данных. Студенты узнают, как создавать надежные системы, классифицируя намерения пользователей, модерируя контент с точки зрения безопасности и реализуя рассуждения по цепочке мыслей (Chain of Thought — CoT), чтобы повысить точность и контролировать пользовательский опыт через «внутренние монологи».

Результаты обучения:

  • Различать базовые модели языка (Base LLMs) и модели, дообученные под инструкции (Instruction-Tuned LLMs), а также понимать влияние токенизации на поведение модели.
  • Реализовывать структурированные архитектуры систем с использованием ролей сообщений: система (System), пользователь (User) и ассистент (Assistant) для определения личности модели.
  • Применять методы классификации и модерации для оценки входных данных пользователя с точки зрения безопасности и маршрутизации.

🔹 Урок 4: Сложные рабочие процессы и оценка систем

Обзор: В этом уроке рассматривается переход от простых подсказок к сложным многошаговым рабочим процессам с использованием моделей языка. Фокусируется на «цепочках подсказок» (Prompt Chaining) для декомпозиции задач, внедрении слоев безопасности через API модерации и создании строгих рамок для оценки — как для случаев с единственным правильным ответом, так и для задач, требующих субъективной оценки по рубрикам.

Результаты обучения:

  • Реализовывать цепочки подсказок (Prompt Chaining): разбивать сложные задачи на управляемые подзадачи для повышения надежности и снижения затрат.
  • Создавать безопасную конечную систему: интегрировать модерацию входных/выходных данных и механизмы проверки фактов в производственную цепочку.
  • Разрабатывать стратегии оценки: создавать наборы для валидации, чтобы измерять производительность модели путем сравнения с «идеальным» ответом и с использованием рубрик, подготовленных моделью.

🔹 Урок 5: Основы LangChain: модели, подсказки и память

Обзор: В этом уроке представлены основные компоненты фреймворка LangChain, особенно акцент сделан на абстракции взаимодействий с крупными моделями языка (LLM). Рассматривается переход от прямых вызовов API к использованию модульных компонентов LangChain: моделей, шаблонов подсказок и парсеров выходных данных, завершаясь глубоким погружением в четыре различных стратегии памяти для поддержания состояния диалога.

Результаты обучения:

  • Реализовывать базовые вызовы моделей с использованием ChatOpenAI и модульных компонентов LangChain.
  • Создавать повторно используемые структуры шаблонов подсказок (ChatPromptTemplate) для управления сложной логикой подсказок и переменными.
  • Извлекать структурированные данные (JSON/словари Python) из неструктурированных ответов модели с помощью StructuredOutputParser.

🔹 Урок 6: Цепочки в LangChain, вопросы-ответы и автономные агенты

Обзор: В этом уроке рассматриваются основные архитектурные блоки фреймворка LangChain, переход от простых последовательностей подсказка-завершение к сложным логически управляемым системам. Студенты узнают, как координировать несколько вызовов модели с помощью цепочек, реализовывать генерацию ответов с опорой на данные (Retrieval Augmented Generation — Q&A) по частным документам с использованием векторных хранилищ, и развертывать автономных агентов, которые используют рассуждения для выбора и выполнения инструментов. Материал делает акцент на переходе от одиночных подсказок к автоматизированным, масштабируемым приложениям на основе моделей языка.

Результаты обучения:

  • Создавать линейные и сложные многошаговые рабочие процессы с использованием SequentialChain и RouterChain.
  • Создавать систему вопросов-ответов на основе документов с использованием встраиваний, векторных хранилищ и цепочки RetrievalQA.
  • Реализовывать автоматическую оценку приложений на основе моделей языка с использованием QAGenerateChain и QAEvalChain.

🔹 Урок 7: Подготовка частных данных: загрузка и векторизация

Обзор: В этом уроке рассматриваются начальные этапы создания системы генерации с опорой на поиск (RAG) с использованием LangChain. Разработчики проходят путь от загрузки неструктурированных данных из разных источников (PDF, YouTube, веб-страницы, Notion), разделения этих данных на семантически значимые фрагменты до преобразования этих фрагментов в числовые встраивания для хранения и поиска по схожести в векторных базах данных.

Результаты обучения:

  • Реализовывать различные загрузчики документов в LangChain для импорта данных из PDF, аудио с YouTube, веб-адресов и баз данных Notion.
  • Настроить и сравнить различные разделители текста (по символам, рекурсивные, по токенам, по формату Markdown), используя параметры, такие как размер фрагмента и перекрытие.
  • Выполнить процесс векторизации, создавая встраивания и сохраняя их в хранилище векторов Chroma для обеспечения поиска по смыслу.

🔹 Урок 8: Генерация с опорой на поиск (RAG) и взаимодействие

Обзор: Этот материал исследует переход от простого семантического поиска к продвинутым методам извлечения информации и взаимодействия в приложениях на основе моделей языка. Рассматриваются сложные методы извлечения — такие как максимальная маржинальная релевантность (MMR), фильтрация по метаданным и контекстная компрессия — перед демонстрацией построения состоятельных цепочек вопросов-ответов и полнофункциональных чат-ботов с использованием компонентов памяти и графического интерфейса (GUI) в LangChain.

Результаты обучения:

  • Реализовывать продвинутые стратегии извлечения (MMR, само-запросы, компрессия), чтобы повысить разнообразие и релевантность извлеченных документов.
  • Сравнивать и развертывать различные типы цепочек (stuff, MapReduce, Refine) для обработки извлеченного контекста в задачах вопрос-ответ.
  • Создавать интерфейс состоятельного чат-бота с использованием ConversationalRetrievalChain и ConversationBufferMemory для сохранения контекста диалога.