TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/No-Country-simulation/G9-LATAM-Team-58/llms.txt
Use this file to discover all available pages before exploring further.
/predict endpoint is the core of Mindloom’s ML pipeline. Given a plain-text content body, it classifies the text into one of eight Spanish-language technology categories, generates a 384-dimensional L2-normalized embedding vector, assigns the item to a K-means cluster, and projects it onto a 2D UMAP space for visualization. It also extracts the top TF-IDF keywords and the most influential terms from the baseline logistic regression classifier.
This is an inference service endpoint — it runs on FastAPI (port 8000) and is called internally by the Spring API during content ingestion. It is not exposed to the public internet. This documentation is intended for developers running, testing, or integrating the inference service directly.
Endpoint
http://inference:8000 (internal Docker network); http://localhost:8000 when running locallyAuth: None
Content-Type:
application/json
Request Body
The content body to classify. Send only the body text — the title is stored by the API separately and is not sent to
/predict.Response — 200 OK
A successful request returns aPredictResponse object.
Predicted category label in Spanish. One of:
"Backend", "Frontend", "Datos e IA", "Bases de datos", "DevOps y Cloud", "Seguridad", "Móvil", "Fundamentos".Classifier confidence score for the predicted category, in the range
0.0–1.0. This is the softmax probability from the ensemble classifier’s predict_proba output for the winning class.Top 5 TF-IDF terms extracted from the input text by the keyword vectorizer. Terms are returned in descending TF-IDF weight order. The array may contain fewer than 5 items if the input has fewer distinct meaningful terms.
Top 5 terms from the baseline logistic regression classifier, ranked by TF-IDF weight × classifier coefficient for the predicted class. These are the terms that most strongly pushed the model toward its prediction.
384-dimensional L2-normalized float32 embedding vector for the input text, generated by
intfloat/multilingual-e5-small with the "passage: " prefix applied. Each element is a floating-point number. When stored in Oracle via the API, this vector is serialized using VectorUtils.toBytes().K-means cluster assignment for the embedding. Integer index into the set of clusters computed at training time.
UMAP x-coordinate for the embedding, used to render the content map visualization.
UMAP y-coordinate for the embedding, used to render the content map visualization.
Example
Request
Response
Implementation notes
Only the
body of a content item is sent to /predict. The title is stored by the Spring API but is not included in the classification payload.The E5 model internally prepends
"passage: " to the text before encoding it. This prefix is applied automatically inside the inference service — do not add it to the text field yourself. Manually adding the prefix will cause it to appear twice, degrading embedding quality.Error Codes
| HTTP Status | detail | Description |
|---|---|---|
503 | "Model Not Found" | The model has not been loaded yet. The inference service is still initializing, or the artifact failed to load from OCI Object Storage at startup. |