Skip to content

Overview

What GQI is

GQI predicts a number from text. You hand it free-form input — a SQL query whose row count you want estimated, a code function whose runtime you want predicted, an essay you want scored, a support ticket whose resolution time you want forecast — and it returns a number together with a calibrated uncertainty (an honest error bar you can act on). In one phrase: calibrated numeric prediction from unstructured input.

The product is delivered through a deliberately familiar surface: a scikit-learn estimator with .fit(X, y) and .predict(X), where X is your unstructured input and y is a real number.

from gqi import GQI

reg = GQI(method="lora", model="small")
reg.fit(["cannot log in, urgent!", "typo on the about page"], [9.0, 2.0])
y_hat, y_std = reg.predict(["payment failing for all users"], return_std=True)
# y_hat -> [8.6]   y_std -> [1.1]   (priority ≈ 8.6, give or take ~1.1)

You write ordinary sklearn-style code. GQI handles reading the input and emitting a calibrated number.

What you can use it for

Anywhere you have free-form input and want a number out of it, with error bars:

  • Estimate cost or cardinality from a SQL query or a query plan.
  • Predict runtime, latency, or resource use from a code function or a job description.
  • Score essays, reviews, tickets, or product descriptions on a numeric scale.
  • Forecast a continuous quantity (resolution time, price, demand) from a text record or a semi-structured row.

If you can describe the thing as text and you want a calibrated number back, it's a fit for GQI.

Why calibrated uncertainty is the differentiator

A general-purpose LLM can emit a number, but it cannot tell you how much to trust it — and the "do it yourself with a prompt" path gives you a bare point estimate with no error bars.

GQI treats uncertainty as a first-class output:

  • predict(return_std=True) returns the number and its calibrated uncertainty. A prediction you can trust the error bars on is worth far more than a bare point estimate — you can threshold on confidence, route low- confidence cases to review, or propagate the uncertainty downstream.
  • The interface is the on-ramp. A clean .fit() / .predict() surface over input→number prediction means there is no new mental model to learn.
  • Adaptation is fast and cheap. Each dataset gets its own lightweight adapter on top of a shared base model, so GQI can be tuned to your input distribution in minutes rather than requiring a model trained from scratch.

Free and local, or hosted and managed

GQI ships in two forms with the same interface:

Local Hosted
Cost Free Paid
Runs on Your own CPU or GPU GQI Cloud
Model A compact open-weights model A larger managed model
Setup pip install gqi An API key
Best for Prototyping, offline use, full control Scale, larger model, no infra to run

The local model is small enough to run on a CPU or a modest GPU, which makes it an easy way to prototype. When you need more accuracy or want to serve at scale without managing hardware, the hosted API exposes the same surface behind an API key — set a key, no rewrite. See the package guide for the details.