/ Модель

Характеристики

Контекст
128 000 токенов
Параметры
445 млн
Лицензия
CC BY-NC 4.0
Архитектура
lfm2 · dense
Библиотека
transformers
Опубликована
4 мар 2026

meddies-pii

Генерация текстаТекст → текст3 профессии

Meddies PII — компактная многоязычная модель для извлечения персональных данных из медицинских и административных текстов в структурированный JSON.

139скачиваний за 30 дней6лайковвеса обновлены31 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Meddies PII — модель Meddies для извлечения персональных данных из клинических и административных текстов. Это причинная языковая модель семейства LFM2 с 444,6 млн параметров и контекстом до 128 000 токенов; она принимает текст в формате чата и возвращает структурированный JSON со значениями из семи семейств персональных данных. Модель обучена на наборе Meddies/meddies-pii с использованием полного дообучения и последующего GRPO-выравнивания. Заявлена поддержка 17 языков, включая русский, английский, французский, немецкий, испанский, вьетнамский, тайский, бирманский, индонезийский, филиппинский, малайский, тамильский, португальский, китайский, японский и корейский.

Модель предназначена для извлечения имён, дат, названий организаций, адресов электронной почты, телефонных номеров и адресов из клинических записей, выписок, административных форм и смешанных медицинских документов. В опубликованной оценке на смешанной многоязычной выборке точность F1 по сущностям составляет 0,811; сильнее всего модель распознаёт телефонные номера и электронную почту. Компактный размер подходит для экспериментов на потребительских GPU и в браузере.

Модель не выполняет автоматическое удаление или обезличивание данных и не предназначена для принятия медицинских решений. В README отмечены галлюцинации извлечённых значений примерно в 1,3% случаев, слабые результаты для названий компаний, ограничения на вложенные сущности и уязвимость к намеренно уклончивым формулировкам; медицинские показатели, дозировки и возраст исключены из целевых меток. Лицензия CC BY-NC 4.0 ограничивает коммерческое использование; авторы предлагают обращаться к ним по поводу коммерческих проектов.

Сценарии применения

  • извлечение имён, дат и контактов из клинических записей
  • выделение персональных данных из выписок и медицинских форм
  • извлечение адресов и названий организаций из документов здравоохранения
  • подготовка структурированных данных для последующей проверки и обезличивания
  • оценка качества многоязычного извлечения персональных данных

Ограничения

Модель извлекает значения, но не удаляет и не обезличивает их; около 1,3% сгенерированных значений могут отсутствовать во входном тексте. Названия компаний распознаются хуже других классов, вложенные сущности и медицинские показатели не входят в целевые метки, а качество требует локальной проверки; лицензия CC BY-NC 4.0 не допускает коммерческое использование без отдельного разрешения.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Meddies PII — Multilingual PII Extraction Model

A multilingual PII extractor for teams that need structured JSON from clinical and administrative text.

[!IMPORTANT] This is a research artifact for privacy and healthcare AI teams. It is not medical advice, not a redaction tool, and not a substitute for local validation before any clinical deployment, compliance workflow, or high-stakes privacy claim. If you want to use this model in commercial work, please contact us at contact@meddies.ai.

Why this model

PII handling is a load-bearing constraint in healthcare AI.

A model can sound clinically useful and still be unsafe if it leaks names, identifiers, phone numbers, email addresses, or addresses. Traditional NER pipelines also create friction: token alignment bugs, language-specific span normalization, and brittle post-processing when the document format shifts. Meddies PII is built for that problem. Give it raw multilingual text in chat format, and it returns normalized JSON keyed by the target entity families.

The goal is simple: keep extraction behavior stable when the language, document format, or runtime changes.

What this model does

Meddies PII is a causal language model used as a structured PII extractor.

Capabilities:

  • multilingual extraction across 17 languages
  • 7 normalized PII entity families
  • deterministic JSON-friendly prompting
  • a small enough footprint for consumer GPUs and browser deployment

Out of scope:

  • automatic redaction or anonymization
  • nested-entity reasoning
  • adversarial hardening against evasive inputs

Quick start

Transformers

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
    "Meddies/meddies-pii",
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("Meddies/meddies-pii")

messages = [
    {
        "role": "system",
        "content": "Extract <address>, <company_name>, <email_address>, <human_name>, <phone_number>, <id_number>, <date>",
    },
    {
        "role": "user",
        "content": "Patient John Smith, DOB 03/15/1985, was admitted to Mercy General Hospital. Contact: john.smith@email.com, (555) 123-4567. Address: 742 Evergreen Terrace, Springfield, IL 62704.",
    },
]

input_ids = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt",
).to(model.device)

output_ids = model.generate(
    input_ids,
    max_new_tokens=256,
    temperature=0.0,
    do_sample=False,
)

response = tokenizer.decode(
    output_ids[0][input_ids.shape[-1]:],
    skip_special_tokens=True,
)
print(response)

Expected output

{
  "human_name": ["John Smith"],
  "date": ["03/15/1985"],
  "company_name": ["Mercy General Hospital"],
  "email_address": ["john.smith@email.com"],
  "phone_number": ["(555) 123-4567"],
  "address": ["742 Evergreen Terrace, Springfield, IL 62704"]
}

[!NOTE] The bundled chat_template.jinja now defaults to the full 7-label schema. Passing an explicit system prompt is still the safest way to keep extraction keys tight for your exact workflow.

vLLM

from vllm import LLM, SamplingParams

llm = LLM(model="Meddies/meddies-pii", dtype="bfloat16")
sampling = SamplingParams(temperature=0.0, max_tokens=512)

messages = [
    {
        "role": "system",
        "content": "Extract <address>, <company_name>, <email_address>, <human_name>, <phone_number>, <id_number>, <date>",
    },
    {
        "role": "user",
        "content": "Dr. Nguyen Van An, SĐT: 0912-345-678, email: an.nguyen@benhvien.vn",
    },
]

output = llm.chat(messages, sampling_params=sampling)
print(output[0].outputs[0].text)

Transformers.js (browser / Node.js)

import { pipeline } from "@huggingface/transformers";

const extractor = await pipeline("text-generation", "Meddies/meddies-pii-onnx", {
  dtype: "q4",
  device: "webgpu", // or "wasm" for broader compatibility
});

const messages = [
  {
    role: "system",
    content: "Extract <address>, <company_name>, <email_address>, <human_name>, <phone_number>, <id_number>, <date>",
  },
  {
    role: "user",
    content: "Patient John Smith, DOB 03/15/1985, contact: john.smith@email.com",
  },
];

const output = await extractor(messages, {
  max_new_tokens: 512,
  do_sample: false,
  temperature: 0.0,
});

console.log(output[0].generated_text.at(-1).content);

ONNX Runtime (Python)

from optimum.onnxruntime import ORTModelForCausalLM
from transformers import AutoTokenizer

model = ORTModelForCausalLM.from_pretrained("Meddies/meddies-pii-onnx")
tokenizer = AutoTokenizer.from_pretrained("Meddies/meddies-pii-onnx")

Evaluation details

Figure 1. Overall metrics first, then entity and language slices in the Meddies visual system.

MetricDataset / splitResultNotes
Entity F1Meddies/meddies-pii / eval0.8110Mixed-language validation slice
PrecisionMeddies/meddies-pii / eval0.8112Exact-match entity scoring
RecallMeddies/meddies-pii / eval0.8109Exact-match entity scoring
Entity F1Meddies/meddies-pii / test0.8380Held-out test slice
PrecisionMeddies/meddies-pii / test0.8116Exact-match entity scoring
RecallMeddies/meddies-pii / test0.8663Highest overall headline metric
Value hallucinationeval / test1.31% / 1.35%Generated entity values not found in the input

Evaluation uses entity-level set-based exact match on (value, label) pairs. That is stricter than token overlap and closer to the extraction behavior a downstream system actually consumes.

Per-entity performance (eval)

Entity typeF1Reading
phone_number0.9484Strongest class; formatting regularity helps
email_address0.9252Also strong due to rigid surface form
date0.8607Solid despite multilingual date variation
id_number0.8132Usable, but depends on locale formatting
address0.7952Harder because boundary detection is messy
human_name0.7587Sensitive to naming style and nested context
company_name0.3277Known weak spot from label-definition mismatch

Per-language performance (eval)

LanguageF1
Malay0.8588
Korean0.8539
Japanese0.8497
Chinese0.8461
Vietnamese0.8251
Filipino0.8126
Indonesian0.8079
Burmese0.7851
Portuguese0.7802
Tamil0.7740
Spanish0.7772
French0.7623
English0.7528
German0.7376
Thai0.7303
Russian0.7117
Lao0.7077

The spread is usable but not flat. The model holds together across 17 languages, but the lower-resource slices still lag the stronger East Asian and Southeast Asian sources.

How it was built

Figure 2. LFM2 foundation → full SFT on multilingual PII extraction → GRPO alignment with extraction-specific rewards → exact-match evaluation on eval and test → Hub and ONNX release.

Full reward design and GRPO configuration now live in TRAINING.md.

Good fits

Use this model when you care about extracted values more than token-level tagging internals.

Good fits include multilingual de-identification of clinical notes, discharge summaries, admin forms, and mixed healthcare documents; browser or edge experiments where larger extractors are too heavy; and evaluation baselines for structured extraction across multilingual healthcare text.

Limits

This is an extractor. Treat it that way.

  • It does not redact or anonymize source text for you.
  • Good benchmark numbers do not prove GDPR, HIPAA, or local-regulation compliance on your data.
  • company_name is the weakest class in the current release.
  • Around 1.3% of generated values are hallucinated rather than copied from the input.
  • Nested entities are out of scope.
  • If you omit the explicit system message, the bundled chat template defaults to five labels, not seven.
  • Inputs designed to evade detection can still break this model.
  • Medical measurements such as blood pressure, labs, dosages, and ages are intentionally excluded from the target label set.

Feedback

Send us the failures.

The useful reports are concrete: broken quick-start paths, false positives on measurements, misses on localized identifiers, hallucinated values, browser-runtime regressions, or language slices that collapse on your documents.

You can find Meddies on Hugging Face at huggingface.co/Meddies and on the web at meddies.ai.

Collaboration and sponsorship

Meddies is building verifiable clinical intelligence and the infrastructure around it.

We are a small team. Compute and review time are still tight.

If this work matters to you—sponsorship, collaboration, clinician review, or a larger conversation about the Meddies vision—email us at contact@meddies.ai.

Citation

@misc{meddies-pii-2026,
  title={Meddies PII: Multilingual PII Extraction with GRPO},
  author={Meddies Team},
  year={2026},
  url={https://huggingface.co/Meddies/meddies-pii}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Lfm2ForCausalLM
Ревизия весов
0a29fd2

0 моделей