Track, explore and improve data for AI

Rubrix brings your teams together to make your data better and your projects more robust.

Track predictions and ground-truth data without any hassle

A new way to iterate on data. Enhance your projects with more humans in the loop.

              
                
              
            

Are you eager to try it out?

Check out Rubrix’s installation guide, otherwise, if Docker is no stranger to you just run:

              
  mkdir rubrix && cd rubrix

  pip install rubrix

  wget -O docker-compose.yml https://git.io/rb-docker

  docker-compose up
              
            

Use the libraries you love

No need to wrap your models around a new abstraction. Combine your favourite libraries into novel workflows.

                          
from transformers import pipeline
from datasets import load_dataset
import rubrix as rb

model = pipeline('zero-shot-classification')
dataset = load_dataset("ag_news", split="test[0:100]")

labels = dataset.features["label"].names

for record in dataset:

    prediction = model(record['text'], labels)

    item = rb.TextClassificationRecord(
        inputs=record["text"],
        prediction=list(zip(prediction['labels'],prediction['scores'])),
        annotation=labels[record["label"]]
    )
    rb.log(records=item, name="agnews_zeroshot")
                          
                        
                          
import spacy
import rubrix as rb

text = "Paris a un enfant et la forêt a un oiseau."

nlp = spaCy.load("fr_core_news_sm")

doc = nlp(text)

prediction = [
  (ent.label_, ent.start_char, ent.end_char)
  for ent in doc.ents
]

record = rb.TokenClassificationRecord(
  text=text,
  tokens=[token.text for token in doc],
  prediction=prediction,
  prediction_agent="spaCy.fr_core_news_sm",
)

rb.log(records=record, name="lesmiserables-ner")
                          
                        
             
import pandas as pd
import rubrix as rb

df = pd.read_csv("user_requests.csv")

for i,r in df.iterrows():

  record = rb.TextClassificationRecord(
    inputs={
      "message": r.text,
      "subject": r.subject
    },
    metadata={
      "department": r.department,
      "source": r.source
    },
  )

  rb.log(record, name = "user_requests")
            
            
Logo Hugging Face Check out the tutorial

Explore, curate and label data with a search-driven and transparent interaction.

Bring models, data and people together

Improve data at every step of the life-cycle. Everyone can contribute.

Life-cycle User Data ModelDataModelUser