whatisgithub

What is ludwig?

ludwig-ai/ludwig — explained in plain English

Analysis updated 2026-06-24

11,696PythonAudience · dataComplexity · 4/5LicenseSetup · moderate

In one sentence

Ludwig is a Python framework that trains and fine-tunes AI models from a YAML config file, no training code required, covering language model fine-tuning, classifiers, time-series forecasting, and image tasks.

Mindmap

mindmap
  root((ludwig))
    What it does
      YAML-driven AI training
      No code required
      Fine-tuning
    Tasks
      Language models
      Classification
      Time-series
      Image segmentation
    Techniques
      LoRA fine-tuning
      Quantization
      Distributed training
    Output
      Trained models
      REST API
      Batch predictions
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Fine-tune a large language model like Llama on your own dataset by writing a YAML config, no Python code required.

USE CASE 2

Train a classifier that combines text, numbers, and images using a single Ludwig configuration file.

USE CASE 3

Deploy a trained Ludwig model as a REST API so other apps can send data and receive predictions.

USE CASE 4

Run distributed model training across multiple machines using Ludwig's built-in Ray integration.

What is it built with?

PythonPyTorchRayYAML

How does it compare?

ludwig-ai/ludwigusagi-org/ai-goofish-monitorflagopen/flagembedding
Stars11,69611,69511,674
LanguagePythonPythonPython
Setup difficultymoderatemoderatemoderate
Complexity4/53/53/5
Audiencedatageneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Fine-tuning large language models requires a GPU, LoRA and quantization reduce memory needs but hardware is still required.

Apache 2.0, free to use, modify, and distribute for any purpose including commercial use, with attribution.

So what is it?

Ludwig is a Python framework for training and fine-tuning AI models without writing a lot of code. Instead of programming a model from scratch, you describe what you want in a YAML configuration file, which is a plain text file of settings, and Ludwig handles the rest. This approach is aimed at teams and individuals who want to build AI models but do not want to write and debug the underlying training machinery. The framework covers a wide range of tasks: fine-tuning large language models like Llama on custom datasets, training classifiers that combine text with numbers and images, forecasting time-series data, and image segmentation. For each task, you list your input data columns and what you want to predict, set training options, and run a command. Ludwig reads your data file, trains the model, and saves the result. For language model fine-tuning specifically, Ludwig supports techniques like LoRA, which is a method of updating only a small part of a large model rather than the whole thing, making training feasible on hardware that could not handle full retraining. It also supports running fine-tuning with reduced memory usage through quantization, where model weights are stored in a compressed format. These options are all configured through the same YAML file rather than requiring custom Python code. Once a model is trained, Ludwig provides commands for making predictions on new data and for launching a REST API so other applications can send requests to the model and receive predictions back. Distributed training across multiple machines is supported through integration with Ray. Ludwig is hosted by the Linux Foundation AI and Data organization and is available under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
I have a CSV dataset and want to fine-tune Llama using Ludwig. Show me the YAML config I need and the command to start training.
Prompt 2
How do I configure Ludwig to use LoRA so I can fine-tune a large language model on a GPU with limited memory?
Prompt 3
I trained a Ludwig model and want to serve predictions via a REST API. What command do I run and how do I send a request to it?
Prompt 4
How do I write a Ludwig YAML config to train a classifier that uses both a text column and a numeric column as inputs?
Prompt 5
How do I set up Ludwig to run distributed training across multiple machines using Ray?

Frequently asked questions

What is ludwig?

Ludwig is a Python framework that trains and fine-tunes AI models from a YAML config file, no training code required, covering language model fine-tuning, classifiers, time-series forecasting, and image tasks.

What language is ludwig written in?

Mainly Python. The stack also includes Python, PyTorch, Ray.

What license does ludwig use?

Apache 2.0, free to use, modify, and distribute for any purpose including commercial use, with attribution.

How hard is ludwig to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ludwig for?

Mainly data.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.