Как стать автором
Обновить

Администрирование

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

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

Время на прочтение8 мин
Количество просмотров561

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

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

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

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

---

## Зачем?

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

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

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

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

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

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

---

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

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

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

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

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

---

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

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

Читать далее

Спринт без смысла, тикеты без души: ищем выход вместе с разработчиками, DevOps-магами и аналитиками

Время на прочтение1 мин
Количество просмотров1.5K

С каждым новым спринтом кажется, что ты просто двигаешь тикеты по доске?
Не только тебе. Когда задачи теряют смысл, проект буксует, а мотивация тает где-то между дейликом и очередными «небольшими изменениями — вот здесь, здесь и здесь», возникает закономерный вопрос: где же те самые большие задачи, в которых хочется быть? Где простор для роста, свободы и влияния?

Если честно, мы знаем ответ. Но ведь так неинтересно! Поэтому мы нарисовали комикс о том, как карьерный тупик трёх IT-специалистов — разработчика, аналитика и DevOps-инженера — внезапно превращается в портал, за которым их ждут испытания: Legacy-Хаос, техдолг и поток данных, грозящий поглотить всё живое. Чтобы пройти их, героям понадобятся не суперсилы, а кое-что куда важнее: автоматизация, гибкие подходы и возможность делать то, что имеет значение. Погружаемся в комикс — и проверим, что будет, если карьерным мечтам действительно дать пространство для развития.

Читать далее

Как мигрировать с OpenShift на любой дистрибутив Kubernetes без единой правки

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров1.6K

После ухода известных вендоров у многих возникла задача импортозамещения и миграции между платформами контейнеризации. В этой статье разберём опыт решения этой задачи и как свести к минимуму зависимости приложений от конкретной версии и/или реализации Kubernetes. Рассмотрим проблемы, обсудим возможные пути и конкретные технологии для их решения и, главное, посмотрим, как всё это работает.

Статья написана по мотивам выступления Максима Чудновского, лидера по продукту Platform V Synapse Service Mesh СберТех на Highload++, где он рассматривал кейс миграции с OpenShift на Platform V DropApp, но предложенные подходы могут быть использованы и для миграции на другие российские Kubernetes-платформы: Deckhouse, Штурвал, Боцман и так далее.

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

Читать далее

Apache NiFi для новичков: обзор функций, принцип работы, полезные ссылки

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров389

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

Читать далее

Минус Lua, плюс перформанс: как толстый клиент на Go сделал работу с Tarantool эффективнее

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.2K

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

Меня зовут Максим Коновалов, я архитектор Tarantool в VK Tech. В этой статье я расскажу, зачем и как мы уходили от Lua и что получили в итоге.

Подробнее

Нулевой байт как помощник в исследованиях уязвимостей сайтов

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

Это статья пентестера 0xold, который 8 месяцев занимался поиском уязвимостей для bug bounty и решил поделиться своим опытом и наблюдениями. В статье рассказывается о нескольких уязвимостях, которые были обнаружены с помощью инъекции нулевого байта. В целях конфиденциальности все проверяемые сайты будут обозначаться в статье как company.com.

Читать далее

Вышла «Альт Рабочая станция» 11.0 с новой графической средой GNOME

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

«Базальт СПО» выпустила операционную систему «Альт Рабочая станция» 11.0 с новой графической оболочкой GNOME. Также добавлены новые приложения для системных администраторов и пользователей, поддержка современного оборудования, расширена линейка совместимых принтеров.

GNOME выбирают по всему миру

Главное новшество релиза — графическая оболочка GNOME, пришедшая на смену устаревшей MATE.

Директор по продуктам «Базальт СПО» Олег Щавелев отметил, что рабочее окружение GNOME является признанным корпоративным стандартом по всему миру. Согласно исследованию компании Lansweeper от 2024 года, операционные системы с GNOME используют 78% пользователей Linux в корпоративном сегменте.

«Мы первыми на российском рынке выбрали GNOME 47. Эта версия позволяет создавать приложения, которые одинаково работают на ноутбуках, десктопах и мобильных устройствах — система сама подстраивается под размер экрана и тип устройства, автоматически настраивает светлые и темные темы. Это удешевляет и ускоряет разработку, а также повышает качество приложений», — добавил Олег Щавелев.

Благодаря большому количеству участников сообщества GNOME уже создано множество свободных пользовательских приложений, основанных на данных технологиях, и продолжается их активная разработка. Среди участников сообщества есть и сотрудники «Базальт СПО».

2 профиля рабочего стола

В «Альт Рабочей станции» предусмотрены 2 профиля оформления рабочего стола.

«Наша команда разработала ALT Panelmoded — сервис, позволяющий переключаться между двумя профилями оформления системы — «GNOME» и «Панельный». Первый предлагает обычное для пользователей GNOME оформление, напоминающее интерфейс мобильных устройств. Второй призван обеспечивать максимально плавный и комфортный переход пользователей с графических окружений MATE, Xfce, KDE, Cinnamon и ОС Windows», — объясняет релиз-менеджер операционной системы Семён Фомченков.

Читать далее

Apache Zookeeper: гид для начинающих

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.8K

Разбираемся, что это за инструмент, какие у него есть плюсы, минусы и аналоги.

Apache ZooKeeper — это сервис, который помогает разным частям распределенной системы (серверам, приложениям, процессам) работать согласованно.

Читать далее

Как я превратил 3 мин. кликов в 20-шаговую Markdown-инструкцию и залил её на Хабр одной кнопкой

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.7K

История о том, как я перестал делать “PrintScreen → PowerPoint → Ctrl + V” и начал жить.

В своей прошлой статье я рассказал о том, как работал в стройке, перешёл в IT и через 3 года создал свой продукт, статья тут

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

И да, я написал его в одиночку с нуля и до текущего релиза 30.04.2025

Читать далее

Релиз WB-Cloud On-Premise, Алиса из коробки и другие новости от Wiren Board

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров991

На WBCE 2025 Александр Дегтярев, руководитель отдела интеграций, представил обзор ключевых обновлений в экосистеме компании. Мы уже публиковали доклад Евгения Богера об  аппаратных новинках, а также рассказали о самых интересных стендах выставки. Сейчас очередь за софтом, а конкретнее облаком, которое превращает Wiren Board в законченную платформу для автоматизации.

Облачные сервисы в последнее время стали важной частью предложения Wiren Board. В статье мы рассмотрим, что здесь появилось нового.

Читать далее

Индекс Anthropic: влияние ИИ на разработку программного обеспечения

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров959

Специализированные AI-агенты для кодирования автоматизируют 79% задач разработки, радикально меняя процесс разработки ПО. Исследование показывает, что веб-разработка и создание пользовательских интерфейсов стали первыми мишенями трансформации, а стартапы используют передовые инструменты AI для кодинга примерно в 2,5 раза активнее крупных предприятий.

Читать далее

Обзор серверного ИБП Ippon Pacific 2000

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.2K

В обзоре изучим серверный ИБП Ippon Pacific 2000 на 1800 Вт: его функционал, конструкцию и схемотехнику. Замерим электрические параметры, в том числе проверим форму выходного напряжения при разной нагрузке, время работы от батареи и алгоритм её заряда. Разберём и другие моменты, о которых не всегда говорится в официальной техдокументации.

Это второй обзор серверного ИБП нашего автора Дмитрия Барта. Дмитрий — инженер из Омска, занимается изучением и испытанием силовой электроники (ИБП, стабилизаторы напряжения и т.д.), разрабатывает методы тестирования и проверки, пишет обзоры и руководства для пользователей. В комментариях вы можете оставить вопросы и пожелания, он ответит на них через официального представителя e2e4.

Одна из особенностей серии линейно-интерактивных ИБП Pacific — восемь независимых розеток с батарейным питанием. Они позволяют применять ИБП как для сервера, так и другого оборудования: сетевого, телефонии, рабочих станций и т.д. При работе от батареи он обеспечивает синусоидальную форму выходного напряжения, а для защиты от перепадов сетевого напряжения имеет двухступенчатую систему регулировки выходного напряжения (AVR).

Читать далее

Для защиты своего сервера я использую zip-бомбы

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

Основной объём трафика в вебе возникает из-за ботов. По большей части, эти боты используются для обнаружения нового контента. Это читалки RSS-фидов, поисковые движки, выполняющие краулинг вашего контента, а сегодня и боты ИИ, собирающие контент, чтобы скармливать его LLM. Но есть и зловредные боты. Их создают спамеры, скрейперы контента и хакеры. На моём прежнем месте работы бот обнаружил уязвимость Wordpress и встроил в наш сервер зловредный скрипт, а затем превратил машину в ботнет, используемый для DDOS. Один из моих первых веб-сайтов был полностью выдавлен из поиска Google из-за ботов, генерирующих спам. Мне нужно было найти способ защиты от этих ботов, поэтому я начал пользоваться zip-бомбами.

Читать далее

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

Объяснительная инженера КИПиА

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

Небольшое предисловие:

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

И так - объяснительная

Как мы челленджим бизнес в GenAI: от простых Naive RAG до workflow-агентских систем

Время на прочтение13 мин
Количество просмотров1.8K

Привет! На связи Валера Ковальский — руководитель направления искусственного интеллекта в red_mad_robot. В работе с AI-инфраструктурой мы постоянно тестируем различные подходы, чтобы создавать решения с реальной бизнес-ценностью.

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

Читать далее

Как настроить резервирование VK Private Cloud с помощью RuBackup

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров645

При эксплуатации облаков, в частности приватных, появляется проблема резервного копирования ресурсов облака. Систему резервного копирования RuBackup можно использовать в качестве решения резервного копирования для виртуальных машин в облаках, в том числе на основе VK Private Cloud.

Предположим, что в вашей локальной инфраструктуре уже проинсталирован и настроен экземпляр VK Private Cloud. Чтобы RuBackup смог работать внутри VK Private Cloud, для начала требуется создать пользователя системы виртуализации openstack, от имени которого будет работать модуль rb_module_openstack RuBackup.

Читать далее

Русский след в истории логотипа PostgreSQL

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

Каждый, кто работает с PostgreSQL, знает его символ — синего слона. Но задумывались ли вы, откуда он взялся? Его история — это не результат работы дорогого брендингового агентства, а захватывающее повествование о зарождении IT-сообщества, питерских энтузиастах, случайных файлах и том, как «маленький презент» стал мировым символом.

Узнать историю slonik.gif

AI-агенты в реальном мире: почему они не работают и как это исправить

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров2.3K

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

Читать далее

Эволюция хранилища ВКонтакте: от первой реализации до наших дней

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.5K

Привет, Хабр! Последние несколько лет я занимаюсь разработкой баз данных ВКонтакте. Аудитория такой крупной соцсети ежедневно генерирует огромные массивы информации. 

В этой статье я расскажу про хранилище ВКонтакте: как оно менялось, что мы делаем для оптимизации занятого места и как гарантируем сохранность данных.

Читать далее

Переходим на C++26: как собрать и настроить GCC 15.1 в Ubuntu

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

На днях вышел GCC 15.1.0 с поддержкой некоторых фич C++26.

Однако нынешняя версия Ubuntu все еще использует старый GCC 13.

Здесь мы и рассмотрим, как вручную установить GCC 15.1 на Ubuntu и начать использовать новейшие элементы C++26 уже сегодня.

Поехали в будущее =>