Обновить
72.82

Data Engineering *

Обсуждаем вопросы сбора и подготовки данных

Сначала показывать
Период
Уровень сложности

Создание Умной Документации на основе Встраиваний OpenAI (Деление на фрагменты, Индексация и Поиск)

Время на прочтение8 мин
Охват и читатели699

Всем привет! Хочу поделиться своим подходом к созданию чат-бота с функцией «умной документации» для проекта, над которым я работаю. **Я не являюсь экспертом в области ИИ, поэтому любые предложения и улучшения приветствуются!**

Цель этой статьи — **не** создавать очередной туториал по сборке чат-бота с OpenAI. Таких материалов уже достаточно.

Вместо этого я расскажу, как **индексировать документацию**, разделив её на **удобоваримые фрагменты**, создать для них **векторные представления (эмбеддинги)** с помощью OpenAI и выполнять **поиск по схожести**, чтобы находить наиболее релевантную информацию по пользовательскому запросу.

В моем случае документация представлена файлами в формате Markdown, но это может быть любой текст, объект базы данных и т.д.

---

## Зачем?

Потому что бывает сложно найти нужную информацию. Я хотел создать чат-бота, который может отвечать на вопросы по определенной теме и предоставлять соответствующий контекст из документации.

Такой ассистент может использоваться в разных сценариях:

- **Быстрые ответы на частые вопросы**

- **Поиск по документации как в Algolia**

- **Помощь пользователям в навигации по документации**

- **Анализ пользовательских вопросов и хранение их для анализа**

---

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

Ниже приведены три основные части решения:

1. Чтение файлов документации

2. Индексация документации (разбиение, перекрытие, эмбеддинги)

3. Поиск по документации и интеграция с чат-ботом

---

## 1. Чтение файлов документации

Вместо того чтобы жестко прописывать текст, вы можете просканировать папку и найти все `.md` файлы с помощью `glob`.

Читать далее

Эра Big Data: новые возможности в принятии решений

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.4K

Big Data - это огромные объёмы данных, которые невозможно обработать с помощью традиционных методов.

Они могут быть структурированными (например, данные из баз данных) или неструктурированными (например, текстовые данные из социальных сетей).

Большие данные представляют собой колоссальные массивы информации, генерируемые в процессе повседневной деятельности индивидов и организаций.

Эти данные аккумулируются, подвергаются обработке и анализу с применением специализированных технологий и методологий, что позволяет извлекать из них ценные инсайты и прогнозировать будущие тенденции.

Подробнее читать статью

Аналитика по скидке: когда клиенты готовы платить только впечатлениями

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели678

Аналитика по скидке: когда клиенты готовы платить только впечатлениями

Если данные новая нефть, то почему за нее не готовы платить?

Как измерить ценность внедрения аналитики?

Читать далее

Пример экспресс-анализа предпочтительности моделей импутации пропусков в многомерных временных рядах

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели691

Как правило, устранение пропусков — обязательный этап  предварительной обработки временных рядов. Эта небольшая работа — попытка создания инструмента оперативного подбора модели для импутации (вменения) пропущенных последовательностей.

Читать далее

Zero-shot и Few-shot Learning в NLP

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.6K

Zero-shot Learning (ZSL) - это способность модели выполнять задачи без каких-либо примеров обучения. Она делает это за счёт обобщённых знаний, полученных во время предобучения.

Few-shot Learning (FSL) - это метод, при котором модели предоставляется всего несколько примеров (обычно от 1 до 5), чтобы лучше понять структуру задачи.

Читать далее

LLM red teaming: полное руководство [+советы экспертов]

Время на прочтение12 мин
Охват и читатели867

Давайте представим стратегию, зародившуюся в военной сфере, где команды притворяются врагами друг друга, чтобы проверить оборонительные механизмы. Этот подход, известный как red teaming, оказался чрезвычайно ценным и теперь нашёл новое применение. Сегодня, когда искусственный интеллект занимает всё больше места в нашей повседневной жизни, использование метода red teaming для тестирования этих систем становится необходимым. Red teaming для моделей-LLM помогает убедиться, что они не только эффективны в работе, но и безопасны и надежны.

Читать далее

Практика создания кастомных сборок Spark Kubernetes Executor

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели460

Поделюсь с коллегами практикой создания Docker-сборок на базе Spark разных версий, которые могут запускаться как Spark Kubernetes Executors для параллельного выполнения Spark-задач в кластере.

В нашем конкретном случае сборки включают Pyspark и Cassandra Connector, однако вы можете использовать этот материал как набор практических примеров, чтобы сконструировать собственные Docker-сборки для Spark на другом стеке или с другими приложениями.

В рамках поставленной задачи мне понадобилось подготовить, как минимум, пару Docker-сборок: одну для поддержки легаси кода и другую вполне современную для последующей миграции. Ниже я расскажу об этапах создания таких Docker-сборок, погружаясь в детали по ходу дела.

Читать далее

Пишем отложенные сообщения для ВК на питоне

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.2K

Данная проблема возникла у меня, когда мне нужно было уехать загород на несколько недель, при этом во время отъезда нужно было отправить сообщение в ВК, а доступа в интернет я не имел бы. Поискав информацию в интернете, я ничего не смог найти про отложенные сообщения в ВК, поэтому у меня остался только один вариант - придумать как реализовать свои отложенные сообщения для ВК.

Читать далее

Бенчмаркинг AI-агентов: оценка производительности в реальных задачах

Время на прочтение11 мин
Охват и читатели1.6K

AI-агенты уже решают реальные задачи — от обслуживания клиентов до сложной аналитики данных. Но как убедиться, что они действительно эффективны? Ответ заключается в комплексной оценке AI-агентов.

Чтобы AI-система была надежной и последовательной, важно понимать типы AI-агентов и уметь их правильно оценивать. Для этого используются продвинутые методики и проверенные фреймворки оценки AI-агентов.

В этой статье мы рассмотрим ключевые метрики, лучшие практики и основные вызовы, с которыми сталкиваются компании при оценке AI-агентов в корпоративных средах.

Читать далее

Оценка систем LLM: основные метрики, бенчмарки и лучшие практики

Время на прочтение17 мин
Охват и читатели2.1K

Оценка LLM-систем вручную — это утомительное, времязатратное и порой раздражающее занятие. Поэтому, если вам приходилось многократно прогонять набор промптов, чтобы вручную проверять каждый вывод LLM, вас обрадует, что эта статья научит вас всему необходимому для правильной оценки LLM и обеспечения долгосрочной эффективности вас и вашего приложения на основе LLM.

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

На повестке дня:

В чем разница между оценкой LLM и оценкой системы LLM, а также их преимущества

Офлайн-оценки, что такое бенчмарки системы LLM, как создавать наборы данных для оценки и выбирать правильные метрики оценки LLM, а также распространенные ошибки

Оценки в реальном времени и их польза для улучшения наборов данных для офлайн-оценок

Реальные примеры использования систем LLM и как их оценивать, включая chatbotQA и Text-SQL

Читать далее

Законы масштабирования – архитектура O1 Pro // Инфраструктура синтетических данных, RLAIF, токеномика вычислений

Время на прочтение29 мин
Охват и читатели767

С каждым днем растут страхи и сомнения относительно законов масштабирования ИИ. Большинство предсказателей отрасли ИИ утверждают об окончании законов масштабирования, которые за последние несколько лет привели к мгновенному улучшению возможностей больших языковых моделей (LLM). К ним присоединились журналисты, вооружившись неопределенной информацией о неспособности моделей успешно масштабироваться из-за предполагаемой низкой производительности. Критики также указывают на исчерпание доступных данных для обучения и замедление масштабирования оборудования для обучения.

Читать далее

Что такое метаданные в BI и как ими управлять? Обзор инструмента OpenMetadata

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.9K

Метаданные или метаинформация – это данные, которые предоставляют информацию о других данных.

Подробнее о том, с какими метаданными сталкиваются в BI, чем полезны системы управления метаданными и с какими важными функциями инструмента OpenMetadata знакома на практике, рассказываю в этой статье.

Читать далее

Отход от Airflow: почему Dagster — это оркестратор данных следующего поколения

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели7.9K

Мы запустили Dagster, потому что в мире данных наблюдается кризис инструментов и инженерии. Существует драматическое несоответствие между сложностью и критичностью данных и инструментами и процессами, которые существуют для их поддержки.

Читать далее

Ближайшие события

StarRocks 4.0: FlatJSON — делаем запросы к JSON столь же эффективными, как к колоночному хранению

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели2.5K

Статья объясняет, как StarRocks 4.0 делает запросы к JSON почти столь же быстрыми, как к нативным столбцам. FlatJSON на этапе загрузки «колоннизирует» частые поля и задействует индексы (включая ZoneMap), словарное кодирование и Global Dictionary, а также Late Materialization. В результате логовая, e‑commerce и IoT‑аналитика работает в реальном времени без тяжёлого ETL.

Читать далее

Инвест Гусь: телеграм-бот (Open-source) для прогноза стоимости акций и криптовалют

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.8K

Мамкин инвестор знает, что если ежедневно ловить сигналы от мощных трейдеров, то скоро карманы будут набиты звенящей цифровой монетой. Но чтобы стать богаче всякого, в эпоху ИИ нужно нечно большее, чем какой-то сигнал. Нужно чтобы был карманный генератор сигналов по всем возможным активам.

Га!

Переход на event-driven интеграции — создаем устойчивую архитектуру с гарантией доставки

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5.3K

Все больше компаний переходят от синхронных интеграций к событийным или гибридным. Причина в том, что бизнесу нужно реагировать быстрее — на заказы, транзакции, действия пользователей. 

Привет, я Саид Джабаров, системный аналитик в Далее. Сегодня расскажу и покажу на артефактах, как построить event-driven систему с гарантией доставки и прозрачным мониторингом. Так, чтобы она действительно помогала бизнесу, а не усложняла его.

Читать далее

Иван Оселедец с докладом «Успехи и проблемы больших языковых моделей»

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.8K

Я распечатал доклад, стараясь не поломать авторскую речь и мысль. Но всё таки доклад не читался, а произносился по памяти и слайдам, поэтому несколько слов убрал или заменил. Доклад на полчаса, выложу в двух частях.

Представление - Доктор физико-математических наук, профессор РАН, генеральный директор института Айри, декан факультета искусственного интеллекта МГУ Иван Оселедец с докладом «Успехи и проблемы больших языковых моделей».

Дальше говорит Оселедец.

Да, всем доброе утро. На самом деле у меня будет такое, с одной стороны, рассказ действительно об успехах, некоторые анонсы нашего института, и в конце я немножко порассуждаю о проблемах, которых много, и над чем, собственно, мы думаем, над чем работаем, какие были получены в этом году результаты. В целом, на самом деле, институт и наши сотрудники неплохо поработали в этом году. У нас мы считали 93 статьи на конференции, то есть больше, чем все остальные центры которые этим занимаются что приятно, но конечно статьи не является самой целью, у нас довольно много практических историй.

Если переходить к докладу, то недавно вышло интервью Андрея Карпаты. Очень интересный, кто не видел, посмотрите. Полтора часа, и не суммаризация . Много интересных мыслей. Одна из мыслей, за которую я так зацепился, которая была не очень очевидна.

Иногда говорят, что языковые модели просто запоминают. Мы долго-долго объясняли, как работают языковые модели, что есть этап предобучения, мы сгружаем все данные из интернета и обучаем модель. Наконец-то general public, если говорить по-английски, обыватели поняли это, это хорошо. Но, с другой стороны, поняли все равно многие неправильно.

Читать далее

Расширяем функционал Apache NiFi 2.0: руководство к написанию своего процессора

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели6.2K

Привет, Хабр!

В последние годы потоки данных в различных системах и между ними только увеличиваются, а в дальнейшем этот тренд наврятли изменится. Для работы с данными всегда требуются различные инструменты.

Apache NiFi — программный продукт с открытым исходным кодом, написанный на языке Java, предназначенный для автоматизации потоков данных между системами. Главная его задача: организовывать ETL-процессы. На GitHub у Apache NiFi имеется 5.9 тысяч звезд.

Эта статья посвящена написанию процессора для Apache NiFi на Java и требует базовых знаний в области Apache NiFi, опыт программирования на Java и IDE на борту компьютера.

Читать далее

Atomic insert in Clickhouse

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.1K

В этой статье мы поговорим о том, как реализовать поведение атомарной вставки в ClickHouse. Рассмотрим несколько вариантов, подсветим их сильные и слабые стороны, а также, когда каждый из них применять.

Читать далее

Глубокое сравнение StarRocks и ClickHouse в задачах аналитики в реальном времени и соображения по выбору

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели6.5K

Статья представляет техническое сравнение StarRocks и ClickHouse для real‑time аналитики. На идентичных AWS‑кластерах с набором ~1 ТБ (Parquet, >3 млрд строк) смоделированы параллельные нагрузки (k6) и непрерывный поток UPSERT из PostgreSQL через CDC. Оцениваются субсекундная Latency, согласованность обновлений, полнофункциональные JOIN и операционная простота (TCO). ClickHouse с Replacing/CollapsingMergeTree обеспечивает eventual consistency и нередко требует FINAL/внешних потоковых компонентов. StarRocks с Primary Key Model дает нативный UPSERT с мгновенной видимостью изменений и асинхронным Compaction. В бенчмарках StarRocks показал до ~40% преимущество в длинных запросах, лучший p99/QPS и стабильность (без HTTP 5xx). В контексте Lakehouse StarRocks сильнее за счет внешних таблиц и записи в Apache Iceberg. Рекомендации: ClickHouse — для append‑only сценариев; StarRocks — для real‑time аналитики с частыми обновлениями.

Читать далее