🆓 Бесплатные курсы на YouTube
|
Как подготовить онлайн данные для файнтюнинга
|
Мини-курс научит создавать специализированные наборы данных для файнтюнинга (дообучения) больших языковых моделей на определенной тематике или типе данных. В качестве примера используются комментарии с Reddit. Основные темы видео: - Обзор доступных источников данных с Reddit (торрент с комментариями 2007-2015 гг., архив Archive.org, а также Reddit BigQuery с 17 миллиардами комментариев 2007-2019 гг.).
- Экспорт и обработка сырых данных из BigQuery.
- Распаковка и объединение сжатых архивов с нужными данными по целевым сабреддитам.
- Структурирование и преобразование данных в формат, пригодный для обучения моделей.
- Создание обучающих семплов из отфильтрованных данных и сохранение их в базу данных.
- Генерация специализированных JSON файлов для обучающих данных.
- Файнтюнинг модели QLoRA на созданном наборе данных и анализ результатов.
|
Машинное обучение для начинающих в 2024
|
Свежий курс от freeCodeCamp предназначен для людей, которые уже знакомы с основами Python и подумывают о карьере в ИИ-разработке. В программе: - Дорожная карта по машинному обучению на 2024 год – с теорией, понятной для начинающих, и с акцентом на практику.
- Разбор обязательных навыков для карьеры в области машинного обучения.
- Базовые концепции машинного обучения – смещение-дисперсия, переобучение, регуляризация.
- Теория линейной и логистической регрессии.
- Практическое исследование данных с применением линейной регрессии:
- Загрузка и исследование данных
- Определение зависимых и независимых переменных
- Очистка и предобработка данных
- Описательная статистика и визуализация данных
- Выявление выбросов
- Анализ корреляции
- Разделение данные на обучающие и тестовые выборки с train_test_split()
- Построение моделей линейной регрессии
- Проверка предположений линейной регрессии
- Применение линейной регрессии для прогнозной аналитики
|
Как использовать технологию RAG
|
Если вы следите за развитием ИИ технологий, то наверняка уже слышали о RAG – методике, которая позволяет связывать документы или базы знаний с языковыми моделями, чтобы они давали более релевантные и персонализированные ответы. Количество документов при этом может быть любым – с помощью RAG к модели можно подключить и пару файлов, и миллион. Суперпродвинутых навыков программирования на Python для этого не требуется, достаточно начальных знаний. В публикации How to Learn RAG in 2024 представлена серия из 7 видео на YouTube, в которых понятно, шаг за шагом, объясняются основы RAG. Обзорное видео расскажет о технологии в общих чертах. |
1. Парсинг, разбиение текста на части, индексирование В этом видео объясняется, как создать библиотеку документов, распарсить их в единый формат, разбить на меньшие части (чанки) и проиндексировать вместе с метаданными. |
2. Создание эмбеддингов Рассказывается об эмбеддингах, моделях эмбеддингов, векторах и векторных базах данных. Показано, как создавать эмбеддинги с помощью моделей Hugging Face и сохранять их в базу данных. |
3. Подача запросов моделям Объясняется, как передавать промпты моделям, загружая их из Hugging Face и OpenAI. Показано, как проверять корректность ответа модели, используя предоставленный контекст, и отслеживать использование токенов, вывод и время обработки. |
4. RAG с текстовым запросом Демонстрируется, как объединить библиотеку знаний с эмбеддингами и модель для поиска по текстовому запросу. Рассматриваются стратегии извлечения и поиска информации. |
5. RAG с семантическим запросом Показывается семантический (на естественном языке) поиск, который использует преимущества эмбеддингов и векторных баз данных для извлечения ответов из сложных документов. |
6. RAG с многошаговым гибридным запросом Подводится итог по пройденному материалу. Демонстрируется использование модели DRAGON-YI-6b-GGUF от Hugging Face на ноутбуке для многошаговых гибридных запросов. Также объясняется верификация доказательств (предотвращение галлюцинаций модели) и сохранение результатов в JSON или CSV. |
После прохождения всех видео вы будете готовы к более сложным аспектам работы с генеративным ИИ, например, к созданию агентов. |
Чат с пользовательскими PDF документами
| Туториал How to build a PDF chatbot with Langchain and FAISS тоже посвящен основам изучения RAG – автор демонстрирует, как создать чат-бота, который может отвечать на вопросы по содержимому PDF-файлов. Вот что можно изучить, если сделать такой проект: Извлечение и векторное представление текста из PDF - Сначала код загружает текст из указанных PDF-файлов и разбивает его на небольшие фрагменты (чанки).
- Затем с помощью библиотеки OpenAI эти текстовые фрагменты преобразуются в векторные представления (эмбеддинги), которые позволяют сравнивать их по смыслу.
Хранение векторных представлений в FAISS
Векторные эмбеддинги текстовых фрагментов сохраняются в векторной базе FAISS*. Это позволяет эффективно искать наиболее релевантные фрагменты для данного запроса. Запрос к большой языковой модели с контекстом - При получении вопроса от пользователя выполняется векторный поиск в FAISS* для нахождения наиболее релевантных текстовых фрагментов из PDF.
- Эти релевантные фрагменты предоставляются в качестве контекста для большой языковой модели (в данном случае ChatGPT).
- Модель генерирует ответ на вопрос, опираясь на предоставленный контекст из PDF-файлов.
Использование библиотеки Langchain Проект использует библиотеку Langchain для облегчения работы с языковыми моделями, векторными эмбеддингами, и интеграцией с OpenAI. Langchain позволяет абстрагироваться от низкоуровневых деталей и сосредоточиться на создании цепочек обработки данных. Такой подход позволяет создать чат-бота со знаниями из определенной предметной области. ИИ будет извлекать информацию из указанных документов, и это: - Обеспечит точность и достоверность ответов.
- Позволит ИИ работать с данными, которые неизвестны модели.
- Поможет сделать кастомную интерактивную базу знаний – например, для службы поддержки или обучающего курса.
|
Генерация QR кодов с помощью Python и Flask
|
Как создать квиз на Django и HTMX за 6 минут
| ☑️ Как правильно обновлять Python/Django приложен
|
Обновление версий Python и Django в работающих приложениях – серьезная задача. Обновления небезопасно выполнять прямо в продакшене во избежание простоев и ошибок. Автор публикации рассказывает, как свести риски к минимуму: - Прочитать документацию по новой версии, особенно раздел с примечаниями. Необходимо изучить, какие функции были обновлены, изменены или объявлены устаревшими.
- Локально проверить свой проект, выполнив manage.py check, чтобы увидеть предупреждения об устаревших функциях.
- Обновить зависимости в тестовой среде, используя pip install -U имя_пакета. Убедиться, что проект корректно работает с новыми версиями зависимостей.
- Внести необходимые изменения в код, заменив устаревшие функции/методы на новые аналоги согласно документации.
- Протестировать проект локально в режиме отладки (DEBUG=True) со всеми обновлениями, чтобы убедиться в его корректной работе.
- При успешном локальном тестировании деактивировать режим отладки DEBUG=False.
- Создать резервные копии продакшн данных и кода.
- Развернуть обновленный код и зависимости в продакшене.
- Тщательно протестировать обновленный проект в продакшен среде.
- При возникновении критических проблем быстро вернуться на предыдущую стабильную версию.
Что еще почитать про обновление Python в продакшене: публикацию Python Upgrade Playbook, автор которой детально рассказывает о процессе обновлений 1500+ репозиториев компании Lyft. |
🚀 Реактивный фронтенд без использования React
|
Арсенал инструментов, позволяющих создавать динамичный фронтенд для Python-приложений без написания кода на React, пополнился двумя крутыми разработками – FastUI и flect. FastUI позволяет Python-разработчику использовать все возможности React без необходимости писать что-либо на React, JS или TS. Не понадобится даже установка npm! Примеры всех компонентов FastUI можно посмотреть здесь. |
Пример формы, созданной с помощью FastUI |
flect – полноценный UI-фреймворк, основанный на тех же принципах, что и FastUI: для создания интерфейса он использует Pydantic модели, которые соответствуют свойствам React компонентов на фронтенде. Эта интеграция позволяет быстро разрабатывать интерактивные и красивые интерфейсы, используя только Python. Ключевые особенности flect: - Быстрая разработка. Можно написать фулстек-приложение исключительно на Python, бесшовно интегрируя логику бэкенда и UI.
- Простая валидация форм. Достаточно определить одну Pydantic модель для согласованной валидации форм по всему приложению.
- Маршрутизация на основе директорий. Поддерживается простое управление маршрутами через структуру папок.
- Переходы без перезагрузки. Можно быстро и плавно переключаться между страницами без перезагрузок.
- Поддержка SEO. Рендеринг на стороне сервера обеспечивает лучшую видимость в поисковых системах.
|
На этом все, до встречи на следующей неделе! * Библиотека FAISS разработана компанией Meta, деятельность которой признана экстремистской и запрещена на территории РФ. |
|
|
Вы получили это письмо, потому что подписались на нашу рассылку. Если вы больше не хотите получать наши письма, нажмите здесь.
|
|
|
|