О чём урок
Большие языковые модели значительно улучшают представление и понимание языка машинами. Эти возможности дают разработчикам больше опций для рекомендации, анализа и фильтрации контента. В этом блокноте мы берем тысячи самых популярных постов с Hacker News и демонстрируем некоторые из этих функций: По заданному заголовку существующего поста найти наиболее похожие посты (поиск ближайших соседей с использованием embeddings) По заданному нами запросу найти наиболее похожие посты Построить график архива статей по схожести (где похожие посты находятся близко друг к другу, а разные — далеко) Кластеризовать посты для выявления основных общих тем Извлечь основные ключевые слова из каждого кластера, чтобы мы могли определить, о чем этот кластер (Экспериментально) Назвать кластеры с помощью генеративной языковой модели Начнем с установки необходимых инструментов, а затем импортируем их. Вставьте ваш API key Cohere в следующую ячейку. Для этого сначала зарегистрируйтесь в Cohere (бесплатно!), если вы еще этого не сделали. Затем получите ваш API key здесь. Мы будем использовать топ-3000 постов из раздела Ask HN на Hacker News. Мы предоставляем CSV-файл, содержащий эти посты. Мы вычисляем embeddings, используя модель Cohere embed-v4.0. Полученная матрица embeddings имеет 3000 строк (по одной для каждого поста) и 1024 столбца (что означает, что каждый заголовок поста представлен 1024-мерным embedding). Для поиска ближайших соседей мы можем использовать библиотеку Annoy с открытым исходным кодом. Давайте создадим индекс семантического поиска и передадим ему все embeddings. Мы можем запрашивать соседей конкретного поста, используя get_nns_by_item. Мы не ограничены поиском по существующим элементам. Если у нас есть запрос, мы можем создать его embedding и найти его ближайших соседей в наборе данных. Что, если мы хотим просматривать архив вместо того, чтобы только искать в нем? Давайте построим все вопросы на 2D-графике, чтобы вы могли визуализировать посты в архиве и их схожесть. Перейдем к кластеризации embeddings с использованием KMeans из scikit-learn.
План урока
- Настройка
- Набор данных: Топ-3000 постов Ask HN
- Создание индекса семантического поиска
- 2- По заданному нами запросу найти наиболее похожие посты
- 3- Построить график архива статей по схожести
- 4- Кластеризовать посты для выявления основных общих тем
- 5- Извлечь основные ключевые слова из каждого кластера, чтобы мы могли определить, о чем этот кластер
- График с информацией о кластерах и ключевых словах
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.