Использование ИИ в поиске Гостендеров. .NET.. .NET. Microsoft SQL Server.. .NET. Microsoft SQL Server. гостендер.. .NET. Microsoft SQL Server. гостендер. искусственный интеллект.. .NET. Microsoft SQL Server. гостендер. искусственный интеллект. косинусное сходство.. .NET. Microsoft SQL Server. гостендер. искусственный интеллект. косинусное сходство. Машинное обучение.. .NET. Microsoft SQL Server. гостендер. искусственный интеллект. косинусное сходство. Машинное обучение. тендеры и закупки.

В этой статье я расскажу как я использовал новейшие возможности ИИ MSSQL 2025 для поиска гостендеров. Текущую рабочую версию я выложил на https://artemtender.ru

Не секрет, что сейчас тяжелые времена для программистов, тем более если тебе за 40, 80% резюме даже не доходит до рекрутеров. Я попробовал поискать работу на гостендерах. Не смотря на то, что общее мнение в том, что большая часть предложений там не рентабельна, с помощью вайбкодинга можно было бы вытянуть проект в плюс.

Оказалось что на zakupki.gos.ru найти что-то не реально. Там нет нормального фильтра, нужно вручную просматривать сотни позиций, и то позиция может выглядеть просто как “Разработка и поставка ПО”. Дальше нужно скачивать документацию вручную и читать. Первая мысль – нужно скармливать Chat GPT и спрашивать подходит ли заказ лично мне. С этим он справляется неплохо, но нужно в начале эту позицию найти, а с этим он уже не справится.

Решение следующее – необходимо зарегистрироваться в системе госзакупок и получить токен на получение данных. Для поиска позиций я использую косинусную сходимость. Тут очень пригодился новый тип Vector в MSSQL . В базе он выглядит так: [Vector] vec NULL. Этот тип уже поддерживается новейшим EF Core. Все названия закупок индексируются помощью модели ai-forever/ru-en-RoSBERTa методом проб и ошибок я выбрал ее. Подскажите в комментариях, может быть есть что то и лучше. Микросервис на пайтоне получает batch запрос на индексацию и через RabbitMQ возвращает в микросервис обработки БД на .NET Core. В профиле пользователь создает товары и услуги которые так же индексируются через поле Vector. Поиск и сравнение идет уже средствами самого MSSQL и в результате все работает довольно быстро. Скан нескольких сотен тысяч позиций происходит в реальном времени. Единственно, сама индексация не столь быстрая, поэтому я вынес в профиль. Кроме того, по моему это просто удобно – ведь твои услуги меняются не так часто и их проще выбрать из списка. В моем веб-приложении https://artemtender.ru это выглядит так:

Заполнение профиля компании

Заполнение профиля компании

Профиль пользователя необходим, для того, что бы создать запрос к LLM.

вот как выглядит поиск после заполнения профиля – регионы, проиндексированный вид работ

результаты поиска с помощью типа Vector в MSSQL

результаты поиска с помощью типа Vector в MSSQL

Теперь к ключевому функционалу. После поиска подходящих позиций по смыслу и региону необходим собственно анализ. Уже проанализированные заявки отображаются в виде значка 5 звезд. При нажатии Анализ сервер скачивает прикрепленные документы и с помощью сервиса pandoc трансфоримирует прикремленные doc/docx, xls/xlsx, pdf, rtf файлы в текст и используя описание из профиля направляет их на анализ в LLM. По завершению пользователь получает такой ответ (можно скачать в формате MS Word(docx))

результат анализа

результат анализа

По моему опыту в моем случае заказов, конечно, очень мало. Можно сказать нет вообще. Большинство закупок – это либо лицензии 1c/касперский/астралинукс либо сделано под конкретного исполнителя – доработка существующего проприетарного продукта. Я больше рассчитывал что нужно будет сделать какой-то областной госпортал/витрину, но такого я не находил.

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

Автор: youscriptor

Источник

Rambler's Top100