Pull to refresh
0
0
Send message

Разработка и управление едиными контрактами API

Level of difficultyEasy
Reading time15 min
Reach and readers5.2K

Привет, Хабр! Пол года назад на AnalystDays #18 я рассказывал про API-контракты, и доклад вызвал большой интерес у аудитории. Пока видео не опубликовали, решил адаптировать материал в формат статьи.

Читать далее

Настройка CI/CD для самых маленьких разработчиков

Level of difficultyEasy
Reading time8 min
Reach and readers74K

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

Читать далее

Kafka. Лучшие практики применения. Настройки Producer & Consumer

Level of difficultyMedium
Reading time20 min
Reach and readers35K

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

Меня зовут Михаил, я являюсь ФинТех системным аналитиком, исполняющим роль архитектора на проектах. И сегодня я хочу поделиться материалами по Kafka, которые подготовил для обучения сотрудников из своей команды. В материале постарался отразить самые важные технические моменты по Kafka, которые будут подкреплены наглядными кейсами и примерами использования. Материал будет полезным как для начинающих, так и для продвинутых пользователей. Желаю приятного прочтения.

Kafka. Лучшие практики применения.

Нотация моделирования архитектуры С4 — примеры диаграмм и инструменты

Level of difficultyMedium
Reading time19 min
Reach and readers267K

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

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

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

Читать далее

AsyncAPI — Swagger для брокеров сообщений и не только, или Если хочется иметь структурированную доку по асинхрону

Level of difficultyEasy
Reading time12 min
Reach and readers11K

В мире интеграций REST API на сегодняшний день занимает по праву свое почетное, королевское место. Сегодня мало какой проект или продукт обходится без стандартных HTTP-методов и документации к ним.

Но если для REST API уже всемирную славу приобрел Open API со своей Swagger-документацией, которая внедряется практически повсеместно и является по праву, так сказать, золотым стандартом, то для брокеров сообщений и, в целом для асинхронного взаимодействия, в большинстве случаев дела обстоят далеко не так однозначно.

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

На некоторых порталах, в том числе и здесь, уже косвенно поднималась тема AsyncAPI и вызывала у авторов, как правило, смешанные чувства. Описывали преимущества и недостатки, приводили некоторые примеры. Справедливо отметить, что AsyncAPI, конечно же, не идеален.

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

Читать далее

Полное руководство по оценке компонентов системы RAG: что необходимо знать

Reading time10 min
Reach and readers3.9K

Системы дополненной генерации (RAG) были разработаны для улучшения качества ответа крупной языковой модели (LLM). Когда пользователь отправляет запрос, система RAG извлекает релевантную информацию из векторной базы данных и передает ее в LLM в качестве контекста. Затем LLM использует этот контекст для генерации ответа для пользователя. Этот процесс значительно улучшает качество ответов LLM с меньшим количеством «галлюцинаций».

Читать далее

Архитектура RAG: часть вторая — Advanced RAG

Level of difficultyHard
Reading time7 min
Reach and readers12K

С момента написания моей прошлой статьи прошло не так много времени, но прогресс не стоит на месте и произошло несколько важных изменений. Раньше про RAG можно было услышать из холодильника, теперь же ситуация изменилась. Каким образом - читайте дальше.

Читать далее

Промптинг: действительно полезное руководство

Level of difficultyMedium
Reading time11 min
Reach and readers20K

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

Читать далее

Построение базы знаний компании и поиска документов на LLM и RAG

Level of difficultyEasy
Reading time16 min
Reach and readers16K

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

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

Я разделяю вашу боль, давайте разберемся, о чем они говорят.

Читать далее

Разрабатываем первое AI приложение

Level of difficultyMedium
Reading time13 min
Reach and readers6.7K

Эволюция языка сыграла значительную роль в развитии человечества. Она дает нам возможность делиться знаниями и работать вместе. Благодаря этому большая часть нашего опыта продолжает сохраняться и передаваться через разные письменные тексты.

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

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

Читать далее

Генерация дополненного извлечения (RAG): от теории к реализации LangChain

Reading time7 min
Reach and readers3.3K

От теории из оригинальной академической статьи до ее реализации на Python с OpenAI, Weaviate и LangChain

Читать далее

Основы промптинга и математические возможности моделей Llama

Level of difficultyEasy
Reading time10 min
Reach and readers5.5K

Меня зовут Грибанов Никита, я Data Scientist в отделе R`n`D&ML компании Raft Digital Solutions, и сегодня я расскажу о больших языковых моделях. На данный момент в мире их существует уже более 39 тысяч! Далее буду называть их хайповым названием LLM (Large Language Model).

В этой статье вы сначала узнаете новые или освежите в памяти уже известные вам основы общения с языковыми моделями. Затем разберёте пару реальных примеров настройки запросов и увидите математические возможности Llama 3.2 3B в сравнении с Llama 3.1 8B.

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

Читать далее

ИИ-агенты: от теории к практике

Level of difficultyMedium
Reading time10 min
Reach and readers29K

Два наиболее интересных похода в создании AI‑систем в 2024 — это агенты (agents, agentic AI systems) и мультиагентность (multi‑agent systems)

Ключевая черта, отличающая агентов от других AI‑систем — это автономность

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

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

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

Читать далее

Nvidia Triton Inference Server: строим production ML без разработчиков

Level of difficultyEasy
Reading time10 min
Reach and readers4.2K

Привет, Хабр! Меня зовут Антон, я DevOps-инженер в команде Data/ML-продуктов Selectel. В этой статье расскажу про наш новый продукт — Inference-платформу Selectel, а также вызовы, с которыми мы столкнулись при ее разработке без разработчиков.

Почему без разработчиков? Рынок ML все еще молодой. В его российском сегменте не так много решений, связанных с Inference‑платформами. Перед началом создания полноценного продукта наша команда сначала проверяет технологические гипотезы, не растрачивая существенные ресурсы на разработку. Все делается силами небольшой команды Ops‑инженеров. Мы используем сервисы с открытым исходным кодом на базе инфраструктуры облака Selectel — тем самым достаточно быстро и недорого тестируем предположения, а в случае успеха легко масштабируем до готового продукта. Дальнейшее развитие уже определяется обратной связью от наших клиентов.
Читать дальше →

Хватит называть контейнеризацию виртуализацией

Reading time5 min
Reach and readers15K

Привет, Хабр! Меня зовут Матвей Мочалов, я — компьютерный инженер и один из авторов корпоративного блога cdnnow! Как-то мы уже обсуждали особенности Docker на разных системах, а сегодня я хочу копнуть глубже — поговорить о том, как наша индустрия поймала саму себя в ловушку Джокера и умудрилась запутать всех, выдавая контейнеризацию за виртуализацию.

Продолжим об этом ниже в посте.

Читать далее

О векторных базах данных простым языком

Level of difficultyMedium
Reading time6 min
Reach and readers21K

Представьте, что управляете онлайн-магазином, предлагающим тысячи товаров.

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

Например, когда пользователь вводит «лето», вы можете показывать предметы вроде шортов, платьев, панам и пляжных зонтов.

Как бы вы реализовали такую систему?
Читать дальше →

Идентификаторы в БД: INT vs UUID

Level of difficultyEasy
Reading time4 min
Reach and readers6.4K

Привет! Меня зовут Женя, я бэкенд-разработчик, и в этом посте хотела бы кратко обсудить плюсы и минусы разных вариантов идентификаторов в базе данных.

Читать далее

Разница между прямым прокси, обратным прокси и балансировщиком нагрузки

Level of difficultyEasy
Reading time5 min
Reach and readers24K

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

Читать далее

Что такое Retrieval-Augmented Generation (RAG) в языковых моделях и как оно работает?

Level of difficultyEasy
Reading time8 min
Reach and readers13K

В контексте разговоров о больших языковых моделях (LLM) все чаще возникает аббревиатура RAG – Retrieval-Augmented Generation, или если переводить на русский язык, то «поисковая дополненная генерация». В этом тексте попробуем в общих чертах разобраться, как работает RAG, и где он может быть применим на практических задачах.

Читать далее

Information

Rating
Does not participate
Registered
Activity