Тэги: Spring AI, Kotlin, Docker, нейросети, rest.
В статье Spring AI: пишем telegram-bot для ChatGPT мы научились общаться с нейросетью в диалоговом режиме, сохраняя контекст беседы. А в статье Spring AI: retrieval augmented generation мы добавляли в контекст модели произвольные данные из векторного хранилища. Теперь давайте пойдём ещё дальше и посмотрим, как можно добавлять в контекст модели сторонние инструменты.
Протокол контекста модели (Model Context Protocol, MCP) — это открытый стандарт, разработанный и представленный компанией Anthropic 25 ноября 2024 года. Основная цель MCP — создание унифицированного протокола взаимодействия между большими языковыми моделями (LLM) и внешними источниками данных и инструментами. MCP унифицирует определения вызовов интерфейса для доступа к возможностям различных инструментов.
Тэги: PostgreSQL, нейросети, Docker, gradle, Excel, Kotlin, Spring AI, SQL.
В статье Spring AI: пишем telegram-bot для ChatGPT мы научились работать с нейросетью в диалоговом режиме, сохраняя контекст беседы. Инструкции нейросети, которые наиболее важны для нас, мы передавали в первом системном сообщении. Помимо инструкций, в системном промте мы можем сообщать нейросети какую-то дополнительную информацию, тем самым обогащая её контекст. Но что делать, если контекст, который надо сообщить, слишком большой? Что, если вы делаете корпоративного виртуального ассистента, который должен оперировать вашей внутренней базой знаний, состоящей из десятков и сотен документов, да ещё и в разном формате?
Если пытаться всю эту базу знаний поместить в системное сообщение, то вы довольно быстро упрётесь в ширину контекстного окна, которая зависит от конкретной модели. Я уж не говорю про то, что вам нужно уметь парсить такие форматы как word, html, markdown и т.п., чтобы не расходовать токены на форматирование, которое не несёт особой смысловой нагрузки.
Тэги: руководство, Docker, Spring Boot, rest, devops, Kotlin.
В этой статье мы рассмотрим, как можно в один клик развернуть RabbitMQ в облаке. Также напишем простое приложение на Spring Boot и Kotlin, которое будет взаимодействовать с этим брокером сообщений.
Представьте, что в один прекрасный день к вам пришёл заказчик и говорит: «в рамках импортозамещения мы должны отказаться от Jira и вместо неё разработать собственный инструмент для управления задачами». Конкретно вам поручено разработать небольшой сервис. Этот сервис оперирует статусами задач и подзадач, которые в неё входят.
Тэги: Spring Boot, Kotlin, gradle, YouTube, руководство, yaml, чат-боты, Docker.
В настоящее время чат-боты в Telegram не делал только ленивый. Они плотно вошли в нашу жизнь и почти у каждой компании есть бот, решающий какие-то задачи бизнеса, тем самым разгружая «живых» сотрудников. После прочтения этой статьи вы сможете создать и запустить свой чат-бот в Telegram.
Пример готового приложения можно найти на github.
Сперва нам нужно выбрать подходящее имя для бота и зарегистрировать его в Telegram. Регистрация происходит через главного бота по имени BotFather. Просто найдите его через поиск контактов Telegram. В чате вы всегда можете понять, что общаетесь с ботом, т.к. рядом с его именем есть подпись «bot». BotFather позволяет управлять вашими ботами в диалоговом режиме. Команды боту представляют собой текст, начинающийся со слеша.
Тэги: gradle, Spring Boot, руководство, Docker, devops.
После того как вы создали своё первое приложение на Spring Boot, вы можете задаться вопросом: как развернуть его на сервере, чтобы оно работало в режиме 24/7 и было доступно в интернете? Для этих целей можно создать виртуальный сервер, установить туда нужную ОС, установить java и, возможно, развернуть базу данных типа Postgres. После этого надо собрать jar-файл (можно и локально), загрузить его по ssh и запустить как Unix-сервис. Подобные шаги я описывал в статье Настройка Ubuntu под хостинг JVM приложения. Однако это неудобно и затратно по времени.
Более правильный вариант – это настроить конвейер CI/CD, чтобы не вручную закачивать jar-файл, а запускать сборку автоматически при отправке новых изменений в github. Однако для этого нужно обладать знаниями devops, и, что более критично, хороший конвейер потребляет много ресурсов при сборке, ибо тоже работает на сервере. Порой даже больше, чем будет потреблять собираемое им приложение.
Отсюда следует вывод, что для небольших проектов нецелесообразно разворачивать полноценный конвейер. Но тогда как получить непрерывную сборку и интеграцию и при этом потратить минимум усилий, избегая ручной работы? Об этом и поговорим далее.
Kotlin, Java, Spring, Spring Boot, Spring Data, Spring AI, SQL, PostgreSQL, Oracle, H2, Linux, Hibernate, Collections, Stream API, многопоточность, чат-боты, нейросети, файлы, devops, Docker, Nginx, Apache, maven, gradle, JUnit, YouTube, новости, руководство, ООП, алгоритмы, головоломки, rest, GraphQL, Excel, XML, json, yaml.