Типичный технический стек с использованием vowpal wabbit?

Привет, я хочу увидеть пример технического стека, где используется vowpal wabbit.

Это может быть реальное приложение, которое используют люди, или воображаемое, которое иллюстрирует, как подходит VW.

В настоящее время мы сталкиваемся с общей проблемой устаревшего кода. Наш бэкэнд представляет собой набор веб-сервисов, реализованных на C ++ с использованием реляционных БД, а Front end — это веб-приложение, основанное на Javascript, поверх этих веб-сервисов.

Теперь мы хотим расширить наш бэкэнд для предоставления некоторых аналитических услуг, которые используют функциональность машинного обучения. Посмотрев вокруг, мне очень понравился Apache Spark + ML + GraphX, так как граф уже широко используется в логике нашего сервера. Но проблема в том, что они не C ++. Хотя они могут быть сделаны для интеграции с ним, но, поскольку мы будем писать много собственных вещей, нам придется писать код не на C ++ / Javascript, который в настоящее время не рассматривается.

Vowpal Wabbit — еще один кандидат, отвечающий нашим критериям, но я не уверен, как он будет подходить в целом — от хранения необработанных данных до логики приложения. Отсюда и вопрос.

4

Решение

Насколько я помню, VW может быть построен в виде статической библиотеки (см. Примеры в папке ./library). И, возможно, как динамическая библиотека тоже. Таким образом, он может быть просто включен в ваше старое приложение на C ++.

1

Другие решения

Vowpal может использоваться в качестве библиотеки, а исходный код включает примеры использования API в C ++. Мы используем его в iOS-приложении без проблем. Единственная небольшая странность заключается в необходимости использовать boost :: program_options для инициализации библиотеки и различных методов. Если у вас есть мотивация, вы можете продолжить разработку API, чтобы принимать аргументы. Сопровождающие, похоже, активно поощряют разработку патчей и функций.

0