Обновить
2

Пользователь

Отправить сообщение

Как быстро сделать Low-Code RAG для своей компании?

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

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

Если вы руководитель отдела или ведете собственный бизнес, вы наверняка подумаете «наверное, это дорогая технология, которая требует больших затрат и найма техспециалистов для разработки». Когда-то это было так, но теперь нет.

В этой статье я опишу короткую инструкцию, как реализовать что-то похожее на описанный функционал без особых навыков. Лучшие умы человечества могут уличить меня в том, что моя предлагаемая реализация максимально проста и наивна. И да, это так. Целью я ставил — показать массовому читателю прикольную штуку, а не задушнить ;-) 

Читать дальше

Как я устал тестировать LLM-системы вручную и написал универсальный сканер уязвимостей

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

Полгода назад я работал над внедрением RAG-системы в крупной финансовой компании. Задача была типичная: построить корпоративного чат-бота, который мог бы отвечать на вопросы сотрудников по внутренним документам. Казалось бы, что может пойти не так? Берем готовую LLM, подключаем к базе знаний, добавляем немного магии с векторным поиском — и готово.

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

Читать далее

Как сделать поиск в интернет-магазине

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

Привет, Хабр! Меня зовут Степан Родионов, я из Х5 Digital. Сегодня расскажу о поиске в интернет-магазине — типовой задаче для e-commerce, которая в теории имеет типовое решение, но на практике оказывается сложнее.

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

Рассказывать буду на примере проекта Vprok.ru — это мой текущий, самый крупный проект. Он входит в Х5 Digital и занимает на российском рынке третье место: 10 регионов присутствия, более 72 тысяч товаров, примерно 300 RPS на товарные запросы и около 700 тысяч комбинаций товар+склад.

Найдется все

Пять элементов Inference-платформы Selectel. Как мы сделали своего Аватара

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

Когда дело доходит до инференса ML-моделей, на ум приходит стандартный вариант — задеплоить Helm chart с Triton в Kubernetes. А что если добавить магии, как в «Аватаре»?

Привет! Я — Антон, DevOps-инженер в команде Data/ML-продуктов Selectel. В статье я продолжу рассказывать о нашем новом продукте — Inference-платформе (для которой все еще доступен бесплатный двухнедельный тест). На этот раз рассмотрим пять новых фичей, которые и отличают ее от стандартного варианта. Прошу под кат — там тест работающих моделей без даунтайма, генерация котят голосом и много другой магии.
Читать дальше →

Асинхронный Rust в трех частях. Введение

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

Async/await, или «асинхронный ввод‑вывод», — это относительно новая функция языка, которая позволяет программам выполнять несколько задач одновременно. Это своего рода альтернатива многопоточности, хотя программы на Rust часто используют и то и другое. Асинхронный ввод‑вывод особенно популярен в веб‑сервисах и сетевых приложениях, работающих с большим числом подключений одновременно.

Эта серия статей представляет собой введение в "futures", задачи и асинхронный ввод‑вывод в Rust. Наша цель — понять основные механизмы, чтобы асинхронный код не казался магией. Мы начнем с преобразования (так называемой «рассахаризации») асинхронных примеров в обычный Rust и постепенно создадим собственную асинхронную «среду выполнения». На данном этапе под «средой выполнения» мы понимаем библиотеку или фреймворк, которые используются для написания асинхронных программ.

Создание собственных фьючерсов, задач и механизма ввода‑вывода позволит понять, что именно делает для нас среда выполнения. Предполагается, что вы уже немного писали на Rust и читали The Rust Programming Language \или аналогичный источник.

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

Читать далее

Vuex нарушает инкапсуляцию

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

Когда мой проект на Vue начал разрастаться и достиг нескольких сотен компонентов, я задумался о подходе Vue и Vuex к архитектуре проекта.


Читать дальше →

Информация

В рейтинге
4 329-й
Зарегистрирован
Активность