MCPcopy Create free account
hub / github.com/VowpalWabbit/vowpal_wabbit

github.com/VowpalWabbit/vowpal_wabbit @9.11.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 9.11.2 ↗ · + Follow
7,383 symbols 24,366 edges 1,026 files 1,036 documented · 14% updated 2mo ago9.11.2 · 2026-03-04★ 8,6892 open issues

Browse by type

Functions 6,200 Types & classes 1,182 Endpoints 1
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Vowpal Wabbit

Linux build macOS build Windows build

codecov

This is the Vowpal Wabbit fast online learning code.

Why Vowpal Wabbit?

Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning. There is a specific focus on reinforcement learning with several contextual bandit algorithms implemented and the online nature lending to the problem well. Vowpal Wabbit is a destination for implementing and maturing state of the art algorithms with performance in mind.

  • Input Format. The input format for the learning algorithm is substantially more flexible than might be expected. Examples can have features consisting of free form text, which is interpreted in a bag-of-words way. There can even be multiple sets of free form text in different namespaces.
  • Speed. The learning algorithm is fast -- similar to the few other online algorithm implementations out there. There are several optimization algorithms available with the baseline being sparse gradient descent (GD) on a loss function.
  • Scalability. This is not the same as fast. Instead, the important characteristic here is that the memory footprint of the program is bounded independent of data. This means the training set is not loaded into main memory before learning starts. In addition, the size of the set of features is bounded independent of the amount of training data using the hashing trick.
  • Feature Interaction. Subsets of features can be internally paired so that the algorithm is linear in the cross-product of the subsets. This is useful for ranking problems. The alternative of explicitly expanding the features before feeding them into the learning algorithm can be both computation and space intensive, depending on how it's handled.

Visit the wiki to learn more.

Getting Started

For the most up to date instructions for getting started on Windows, MacOS or Linux please see the wiki. This includes:

Examples and Demos

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 3,655
Function 2,545
Class 1,109
Enum 40
Interface 33
Route 1

Languages

C++65%
C#16%
Python12%
Java6%
TypeScript2%

Modules by API surface

vowpalwabbit/json_parser/src/parse_example_json.cc178 symbols
python/pylibvw.cc171 symbols
python/vowpalwabbit/pyvw.py170 symbols
vowpalwabbit/core/src/reductions/search/search.cc99 symbols
vowpalwabbit/core/src/loss_functions.cc77 symbols
demo/recall_tree/wikipara/WikiExtractor.py73 symbols
python/tests/test_pyvw.py72 symbols
vowpalwabbit/core/src/reductions/lda_core.cc67 symbols
vowpalwabbit/core/src/learner.cc65 symbols
vowpalwabbit/c_wrapper/src/vwdll.cc65 symbols
cs/vw.net/VowpalWabbit.cs61 symbols
cs/vw.net/IVowpalWabbitPredictionFactory.cs60 symbols

For agents

$ claude mcp add vowpal_wabbit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page