Most AI tasks no longer need a frontier model Read launch post

GLiNER PII and NuNER Zero

Two open models that find the personal data in a text, in one API call. superlinked/pii-redact

  • Accuracy

    SPIA, F1 · not measured as one model

  • Time per request

    61 ms

    per document

  • Serverless price

    $0.08

    per 1M tokens

  • Leave 32% less personal data exposed than AWS Comprehend, 79% cheaper

    90.9%

    Personal data masked · 660 documents

    61 ms

    Time per document

    $73

    Cost per 1M documents

    See the comparison on Redact (PII)

Call it

from sie_sdk import SIEClient
​
client = SIEClient(api_key="sk-sie-…")
​
result = client.extract(
"modelsuperlinked/pii-redact",
{"text": "text{"date_time": "1978-03-29 17:28:13", "name": "Emma A. Platini", "street_address": "19325 John Motorway, Apt. 488"} {"date_time": "2022-01-02 14:35:18", "name": "John D. Smith", "street_address": "456 Oakwood Avenue, Unit 3C"} {"date_time": "2021-12-15 09:19:21", "name": "Alex N. Thompson", "street_address": "334 King's Cross, Flat 15B"}"},
)
for span in result["entities"]:
print(span["label"], span["text"])
import { SIEClient } from '@superlinked/sie-sdk';

const client = new SIEClient(undefined, { apiKey: 'sk-sie-…' });

const result = await client.extract(
  'superlinked/pii-redact',
  { text: "{\"date_time\": \"1978-03-29 17:28:13\", \"name\": \"Emma A. Platini\", \"street_address\": \"19325 John Motorway, Apt. 488\"}\n{\"date_time\": \"2022-01-02 14:35:18\", \"name\": \"John D. Smith\", \"street_address\": \"456 Oakwood Avenue, Unit 3C\"}\n{\"date_time\": \"2021-12-15 09:19:21\", \"name\": \"Alex N. Thompson\", \"street_address\": \"334 King's Cross, Flat 15B\"}" },
  { labels: [] }, // the model's default types
);
console.log(result.entities);
curl https://api.superlinked.com/v1/extract/superlinked%2Fpii-redact \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"items\":[{\"text\":\"{\\\"date_time\\\": \\\"1978-03-29 17:28:13\\\", \\\"name\\\": \\\"Emma A. Platini\\\", \\\"street_address\\\": \\\"19325 John Motorway, Apt. 488\\\"}\\n{\\\"date_time\\\": \\\"2022-01-02 14:35:18\\\", \\\"name\\\": \\\"John D. Smith\\\", \\\"street_address\\\": \\\"456 Oakwood Avenue, Unit 3C\\\"}\\n{\\\"date_time\\\": \\\"2021-12-15 09:19:21\\\", \\\"name\\\": \\\"Alex N. Thompson\\\", \\\"street_address\\\": \\\"334 King's Cross, Flat 15B\\\"}\"}]}"
Build the "Find personal data to mask" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: superlinked/pii-redact (SIE primitive: /extract). Keep the model id configurable.

Task
- Input: a block of text.
- Behaviour: return the spans of personal data found, each with its type and character offsets; my code masks them.
- Call the selected SIE primitive once per request and map the response into your domain type.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
Output

entities · 6start–end

  • person Emma A. Platini 46–61
  • street address 19325 John Motorway, Apt. 488 83–112
  • person John D. Smith 161–174
  • street address 456 Oakwood Avenue, Unit 3C 196–223
  • person Alex N. Thompson 272–288
  • street address 334 King's Cross, Flat 15B 310–336

masked · 6

{"date_time": "1978-03-29 17:28:13", "name": "name", "street_address": "address"}
{"date_time": "2022-01-02 14:35:18", "name": "name", "street_address": "address"}
{"date_time": "2021-12-15 09:19:21", "name": "name", "street_address": "address"}

Next to the other PII models

Next to the other PII models
Model SPIA, F1 Time per request Serverless price Size
NuNER Zero numind 0.463 Not timed $0.05 per 1M tokens 449M
gliner multi pii v1 urchade 0.377 Not timed $0.04 per 1M tokens 289M
All 3 PII models
Evaluation
Accuracy
Run on SIE against the public dataset named in each figure
Time
SIE timed on a GPU server with the client alongside, one request at a time
Prices
Serverless list prices

Run GLiNER PII and NuNER Zero on Serverless or in your own cloud

SIE Cluster

Kubernetes in your own cloud, backed by our engineers.

  • Terraform modules for your cloud
  • Apache-2.0, same engine as Serverless
  • GPU workers scale to zero between jobs
  • Separate worker pools for each tenant
Agent prompt Deploy SIE to our AWS account with the superlinked/sie/aws Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Google Cloud project with the superlinked/sie/google Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Azure subscription with the superlinked/sie/azure Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Alibaba Cloud account with the superlinked/sie/alicloud Terraform module. Docs: superlinked.com/docs/deployment.

SIE Local

The open-source server on your own machine.

  • Runs on your NVIDIA GPU
  • One container, no cluster
  • Process your data fully offline
  • Same SDK and model IDs as Serverless
docker run --gpus all -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cuda12-default

Talk to us

Tell us about your use case and we'll get back to you shortly.

Apply for an inference grant

Free capacity on our hosted cluster for selected projects. Tell us what you run and we reply by email.