अपने नियंत्रण वाले हार्डवेयर पर क्लिनिकल टेक्स्ट को संरचित, डी-आइडेंटिफ़ाइड जानकारी में बदलें।
आवश्यक मॉडल आर्टिफ़ैक्ट उपलब्ध होने के बाद OpenMed का मुख्य स्थानीय रनटाइम निष्कर्षण और डी-आइडेंटिफ़िकेशन करता है। मॉडल डाउनलोड, रिमोट प्रोवाइडर अडैप्टर, टेलीमेट्री-सक्षम पथ और उपयोगकर्ता द्वारा कॉन्फ़िगर किए गए एकीकरण नेटवर्क का उपयोग कर सकते हैं; हर मॉडल और डेटासेट की शर्तें जाँचें।
PyPI package · Python 3.10+ · Model catalog · Research paper · Apache-2.0 SDK source
OpenMedKit · Apple Silicon / MLX · Android / ONNX Runtime Mobile · Browser / Transformers.js · Documentation
स्थानीय-प्रथम रनटाइम · 33 मॉडल-समर्थित PII भाषाएँ · Apache-2.0 SDK
English · 简体中文 · Español · Français · Deutsch · Italiano · Português · Nederlands · العربية · हिन्दी · తెలుగు · 日本語 · Türkçe · فارسی · Kiswahili
यह iPhone उदाहरण आवश्यक मॉडल आर्टिफ़ैक्ट उपलब्ध होने के बाद OpenMed के स्थानीय रनटाइम का उपयोग करता है:
OpenMedKit के माध्यम से iPhone पर: इस कॉन्फ़िगरेशन में Apple MLX स्थानीय रूप से क्लिनिकल नोट को स्कैन, डी-आइडेंटिफ़ाई और संकेतों को निकालता है।
रीयल-टाइम PII डी-आइडेंटिफिकेशन: इस कॉन्फ़िगर किए गए स्थानीय वर्कफ़्लो में Nemotron Privacy Filter सिंथेटिक क्लिनिकल डिस्चार्ज पैकेट से नाम, पते, ID और बिलिंग डेटा छिपाता है। (दिखाए गए सभी मान सिंथेटिक हैं।)
from openmed import analyze_text
result = analyze_text(
"Patient started on imatinib for chronic myeloid leukemia.",
model_name="disease_detection_superclinical",
)
for entity in result.entities:
print(f"{entity.label:<12} {entity.text:<28} {entity.confidence:.2f}")
# DISEASE chronic myeloid leukemia 0.98
# DRUG imatinib 0.95आवश्यक आर्टिफ़ैक्ट उपलब्ध होने के बाद एक क्लिनिकल NER मॉडल स्थानीय रनटाइम का उपयोग करता है।
उपभोक्ता एजेंट-उपयोग गाइड से शुरू करें या चुनी हुई llms.txt दस्तावेज़ सूची लोड करें। कॉल किए जा सकने वाले स्थानीय इंटरफ़ेस के लिए MCP सर्वर, टाइप की गई टूल रजिस्ट्री या कमांड-लाइन इंटरफ़ेस का उपयोग करें। तैयार क्रॉस-टूल प्रक्रियाएँ रिपॉज़िटरी स्किल्स सूची में हैं।
| परिनियोजन विचार | OpenMed SDK की सीमा |
|---|---|
| मुख्य रनटाइम | आवश्यक आर्टिफ़ैक्ट उपलब्ध होने के बाद स्थानीय रूप से प्रोसेस करता है |
| वैकल्पिक नेटवर्क पथ | डाउनलोड, रिमोट अडैप्टर, टेलीमेट्री पथ और एकीकरण नेटवर्क उपयोग कर सकते हैं |
| सत्यापन | परिनियोजन स्वामी मॉडल व डेटा शर्तें, गोपनीयता व्यवहार और क्लिनिकल उपयुक्तता जाँचता है |
| इंटरफ़ेस | जहाँ समर्थित हों वहाँ Python, Swift, Android, ब्राउज़र और सेवाएँ |
- चयनित मॉडल कैटलॉग: अपने उपयोग के लिए हर मॉडल, लाइसेंस और डेटासेट को सत्यापित करें।
- Safe Harbor-संरेखित कॉन्फ़िगरेशन: 18 पहचानकर्ता श्रेणियों को लक्षित कर सकता है; विशेषज्ञ परिनियोजन समीक्षा आवश्यक रहती है और केवल SDK का उपयोग HIPAA अनुपालन सिद्ध नहीं करता।
- समर्थित निष्पादन पथ: CPU, CUDA, MLX, मोबाइल, सेवा और ब्राउज़र अडैप्टर वातावरण व आर्टिफ़ैक्ट के अनुसार बदलते हैं।
- परिनियोजन इंटरफ़ेस: Python, कंटेनर, सेवाएँ और बैच वर्कफ़्लो कॉन्फ़िगरेशन व सत्यापन माँगते हैं।
- SDK स्रोत: Apache-2.0 License के अंतर्गत जारी; मॉडल और डेटासेट की शर्तें अलग-अलग होती हैं।
समर्थित Apple हार्डवेयर पर, आवश्यक आर्टिफ़ैक्ट उपलब्ध होने के बाद OpenMed स्थानीय प्रोसेसिंग के लिए MLX और OpenMedKit का उपयोग कर सकता है। मॉडल प्राप्ति और उपयोगकर्ता द्वारा कॉन्फ़िगर किए गए रिमोट एकीकरण अलग नेटवर्क सीमाएँ हैं।
// Add OpenMedKit to your app
dependencies: [
.package(url: "https://github.com/maziyarpanahi/openmed.git", from: "2.2.0"),
]अपेक्षित परिणाम: Swift Package Manager OpenMedKit को resolve करता है और आपके ऐप target में
import OpenMedKit उपलब्ध कराता है।
- PII टोकन वर्गीकरण, Privacy Filter परिवार, प्रायोगिक GLiNER-परिवार zero-shot कार्यों और Laneformer के साथ Python MLX-LM टेक्स्ट जनरेशन के लिए MLX रनटाइम; समर्थित टोकन-वर्गीकरण artifacts के लिए CoreML fallback path भी शामिल है।
- एक मॉडल नाम, हर प्लेटफ़ॉर्म: गैर-Apple हार्डवेयर पर MLX मॉडल नाम स्वचालित रूप से संबंधित PyTorch चेकपॉइंट पर वापस आ जाते हैं।
- Apple Silicon पर Python भी:
pip install --upgrade "openmed[mlx]"।
गाइड: MLX बैकएंड · OpenMedKit (Swift) · CoreML एक्सपोर्ट
Apple Silicon पर MLX: CPU PyTorch की तुलना में 24–33× तेज़: Privacy Filter के लिए प्रति inference चरण की median latency; कम मान बेहतर हैं।
OpenMedKit स्थानीय दस्तावेज़ intake, OCR handoff, PII redaction और ONNX Runtime Mobile के माध्यम से
टोकन-वर्गीकरण inference के लिए नेटिव Android/Kotlin लाइब्रेरी के रूप में भी उपलब्ध है। मोबाइल मॉडल repositories
में स्थिर tensor नाम, dynamic sequence axes, tokenizer फ़ाइलें, labels और Android-ready fp32, fp16, INT8 तथा
वैकल्पिक .ort outputs शामिल हैं।
settings.gradle.kts में scoped JitPack repository जोड़ें:
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://jitpack.io")
content { includeGroup("com.github.maziyarpanahi") }
}
}
}फिर immutable OpenMed v2.2.0 release उपयोग करें:
dependencies {
implementation("com.github.maziyarpanahi:openmed:v2.2.0")
}स्थानीय build और publishing विवरण के लिए Android installation guide देखें।
val model = OpenMedKit.fromDirectory(modelDir)
val entities = model.analyzeText("Patient Alice Nguyen was seen in cardiology.")- Android ONNX profile
model.onnx,model_fp16.onnx,model_int8.onnx, tokenizer assets, labels औरopenmed-onnx.jsonबनाता है। - ORT Mobile support ONNX Runtime conversion tooling install होने पर minimal-build operator configuration दर्ज करता है।
- Kotlin parity tests tokenizer offsets, span boundaries और decoder output को Python runtime के अनुरूप रखते हैं।
गाइड: Android ONNX एक्सपोर्ट · Android span parity · OpenMedKit Android
from openmed import OnnxModel
model = OnnxModel.from_pretrained(
"OpenMed/OpenMed-PII-ClinicalE5-Small-33M-v1-onnx-android"
)
entities = model("Patient Alice Nguyen was seen in cardiology.")npm install openmed @huggingface/transformersimport { loadOnnxModel } from "openmed";
const model = await loadOnnxModel(
"OpenMed/OpenMed-PII-ClinicalE5-Small-33M-v1-onnx-android",
);
const entities = await model("Patient Alice Nguyen was seen in cardiology.");flowchart LR
A["Clinical text"] --> B["OpenMed<br/>(local-first)"]
B --> C["Medical entities"]
B --> D["PII detected"]
B --> E["De-identified text"]
style B fill:#0D6E6E,stroke:#0A5656,stroke-width:2px,color:#ffffff
style C fill:#D6EBEB,stroke:#0D6E6E,color:#0E1116
style D fill:#F7DCD8,stroke:#C5453A,color:#0E1116
style E fill:#F5E27A,stroke:#A9A088,color:#0E1116
Rendered परिणाम: एक स्थानीय clinical-text pipeline जो cloud API को डेटा भेजे बिना चिकित्सा एंटिटी, PII निष्कर्ष और डी-आइडेंटिफाइड टेक्स्ट लौटाती है।
skills/ catalog डिवाइस पर डी-आइडेंटिफिकेशन, क्लिनिकल NER, FHIR export, evaluation और उनसे जुड़े healthcare workflows के लिए portable Agent Skills देता है। वही SKILL.md folders Claude Code, OpenAI Codex, OpenCode और compatible agents में काम करते हैं; installer हर client की skills directory के साथ cross-client ~/.agents/skills convention का उपयोग करता है।
git clone https://github.com/maziyarpanahi/openmed && cd openmed
./install-skills.sh # Claude Code, Codex, OpenCode और ~/.agents/skills के लिएफिर synthetic placeholders का उपयोग करते हुए अपने agent से pipeline बनाने के लिए कहें:
एक local OpenMed pipeline बनाएं जो synthetic discharge note को डी-आइडेंटिफाई करे और medication entities निकाले।
यह सही skills load करके डिवाइस पर चलने वाली pipeline (openmed.deidentify(...) → openmed.analyze_text(...)) बनाता है। एक बार model download होने के बाद वास्तविक notes पर pipeline को locally चलाएं; वास्तविक PHI को cloud-hosted agent prompt में paste न करें। skills catalog और 30-second example देखें।
# Core + Hugging Face runtime (Linux, macOS, Windows; CPU or CUDA)
pip install --upgrade "openmed[hf]"
# Add the REST service
pip install --upgrade "openmed[hf,service]"
# Apple Silicon acceleration (MLX)
pip install --upgrade "openmed[mlx]"अपेक्षित परिणाम:
Successfully installed openmed-...
|
Python API from openmed import analyze_text
result = analyze_text(
"Patient received 75mg "
"clopidogrel for NSTEMI.",
model_name=
"pharma_detection_superclinical",
)
print([(e.label, e.text) for e in result.entities])उदाहरण output: |
REST सेवा uvicorn openmed.service.app:app \
--host 0.0.0.0 --port 8080उदाहरण output:
|
बैच from openmed import BatchProcessor
p = BatchProcessor(
model_name=
"disease_detection_superclinical",
group_entities=True,
)
results = p.process_texts([...])
print(len(results), sum(len(r.entities) for r in results))
print([(e.label, e.text) for e in results[0].entities[:1]])उदाहरण output: |
ब्राउज़र / WebGPU
Transformers.js के माध्यम से ब्राउज़र में inference के लिए ONNX टोकन-वर्गीकरण exports को package करें:
python -m openmed.onnx.convert \
--model dslim/bert-base-NER \
--output dist/example-onnx \
--include-transformersjsउदाहरण output:
Exported Transformers.js bundle to dist/example-onnx
import { pipeline } from "@huggingface/transformers";
const detector = await pipeline(
"token-classification",
"/models/openmed-pii/transformersjs",
{ device: "webgpu" },
);
const entities = await detector("Patient Casey Example called 212-555-0198.");
console.log(entities.slice(0, 2));उदाहरण output:
[
{ entity: "NAME", word: "Casey Example", score: 0.99 },
{ entity: "PHONE", word: "212-555-0198", score: 0.98 },
]Transformers.js एक्सपोर्ट गाइड
ऑफ़लाइन / एयर-गैप्ड? model_name (या model_id) को किसी स्थानीय directory की ओर इंगित करें और OpenMed उसे Hugging Face Hub से संपर्क किए बिना load करेगा:
from openmed import OpenMedConfig, analyze_text
result = analyze_text(
"Patient presents with chronic myeloid leukemia and Type 2 diabetes.",
model_id="./models/OpenMed-NER-DiseaseDetect-SuperClinical-434M",
config=OpenMedConfig(device="cpu"),
)
for entity in result.entities:
print(f"{entity.label:<12} {entity.text:<28} {entity.confidence:.2f}")उदाहरण output:
DISEASE chronic myeloid leukemia 0.98
DISEASE Type 2 diabetes 0.96
क्योंकि model_id स्थानीय directory को इंगित करता है, यह उदाहरण Hugging Face Hub या किसी बाहरी model provider से संपर्क नहीं करता।
विशेष चिकित्सा NER मॉडलों की curated registry; पूरा catalog देखें।
| मॉडल | विशेषज्ञता | एंटिटी प्रकार | आकार |
|---|---|---|---|
disease_detection_superclinical |
रोग और स्थितियाँ | DISEASE, CONDITION, DIAGNOSIS | 434M |
pharma_detection_superclinical |
दवाएँ और औषधियाँ | DRUG, MEDICATION, TREATMENT | 434M |
pii_superclinical_large |
PII और डी-आइडेंटिफिकेशन | NAME, DATE, SSN, PHONE, EMAIL, ADDRESS | 434M |
anatomy_detection_electramed |
शरीर रचना और अंग | ANATOMY, ORGAN, BODY_PART | 109M |
gene_detection_genecorpus |
जीन और प्रोटीन | GENE, PROTEIN | 109M |
from openmed import extract_pii, deidentify
text = "Patient: John Doe, DOB: 01/15/1970, SSN: 123-45-6789"
# Extract PII with smart merging (prevents tokenization fragmentation)
result = extract_pii(text, model_name="pii_superclinical_large", use_smart_merging=True)
print([(e.label, e.text) for e in result.entities])
# De-identify with the method you need
print(deidentify(text, method="mask").deidentified_text)
print(deidentify(text, method="replace").deidentified_text)
print(deidentify(text, method="hash").deidentified_text)
print(deidentify(text, method="shift_dates", date_shift_days=180).deidentified_text)उदाहरण output:
[('NAME', 'John Doe'), ('DATE', '01/15/1970'), ('SSN', '123-45-6789')]
Patient: [NAME], DOB: [DATE], SSN: [SSN]
Patient: Emily Chen, DOB: 03/22/1985, SSN: 456-78-9012
Patient: 6b8f...c4a1, DOB: 48b1...91de, SSN: 3f13...e912
Patient: John Doe, DOB: 07/14/1970, SSN: 123-45-6789
सिंथेटिक Hinglish उदाहरण (केवल कृत्रिम डेटा; इसमें कोई वास्तविक रोगी जानकारी नहीं है):
from openmed import deidentify
# Synthetic Hinglish data; no real patient information.
hinglish_text = (
"रोगी Asha Verma ka phone +91 9876543210 hai aur वह Delhi clinic में "
"follow-up ke liye aayi."
)
result = deidentify(hinglish_text, lang="hi", method="mask")
print(result.deidentified_text)उदाहरण output:
रोगी [NAME] ka phone [PHONE] hai aur वह [ADDRESS] में follow-up ke liye aayi.
- स्मार्ट एंटिटी मर्जिंग
01/15/1970को खंडित करने के बजाय पूरा रखती है। - नीति-सचेत पाइपलाइन HIPAA/GDPR/research profiles, calibrated thresholds, signed audit reports, redaction previews और minimum-necessary action selection जोड़ती हैं।
- Faker-आधारित obfuscation में clinical-ID के custom providers शामिल हैं (CPF, CNPJ, BSN, NIR, Codice Fiscale, NIE, Aadhaar, Steuer-ID, NPI)।
- HIPAA सीमा: Safe Harbor-संरेखित श्रेणियाँ और कॉन्फ़िगर करने योग्य सीमाएँ कार्यान्वयन सहायक हैं; विशेषज्ञ परिनियोजन समीक्षा आवश्यक रहती है और केवल SDK उपयोग अनुपालन सिद्ध नहीं करता।
- बैच और streaming PII:
BatchProcessor(operation="extract_pii" | "deidentify", batch_size=16)या incremental streaming helpers से अनेक दस्तावेज़ों में PII निकालें या डी-आइडेंटिफाई करें।
पूर्ण PII notebook · स्मार्ट मर्जिंग · Anonymization quickstart
Privacy Filter परिवार: OpenAI Privacy Filter architecture पर तीन model families
मॉडल code समान है (local attention, sink tokens, RoPE+YaRN और tiktoken o200k_base वाला gpt-oss-style sparse-MoE transformer); केवल training data अलग है। सभी एक ही extract_pii() / deidentify() API से गुजरते हैं; केवल model_name= बदलता है।
openai/privacy-filter Hugging Face पर local weights का model identifier है;
इसे यहाँ उपयोग करने से OpenAI API call नहीं होती।
| Variant | PyTorch (CPU + CUDA) | MLX (Apple Silicon) | MLX 8-bit |
|---|---|---|---|
| OpenAI Privacy Filter | openai/privacy-filter |
OpenMed/privacy-filter-mlx |
…-mlx-8bit |
| Nemotron-PII fine-tune | OpenMed/privacy-filter-nemotron |
…-nemotron-mlx |
…-nemotron-mlx-8bit |
| OpenMed Multilingual | OpenMed/privacy-filter-multilingual |
…-multilingual-mlx |
…-multilingual-mlx-8bit |
from openmed import extract_pii
text = "Patient Sarah Connor (DOB: 03/15/1985) at MRN 4471882."
variants = {
"baseline": extract_pii(text, model_name="openai/privacy-filter"),
"nemotron": extract_pii(text, model_name="OpenMed/privacy-filter-nemotron"),
"mlx": extract_pii(text, model_name="OpenMed/privacy-filter-mlx"),
}
print([(e.label, e.text) for e in variants["baseline"].entities])उदाहरण output:
[('NAME', 'Sarah Connor'), ('DATE', '03/15/1985'), ('ID', '4471882')]
गैर-Apple-Silicon hosts पर MLX मॉडल नाम matching PyTorch checkpoint से अपने-आप बदल दिए जाते हैं (एक बार warning के साथ): एक मॉडल नाम ship करें और कहीं भी चलाएँ। Privacy Filter architecture और backend routing देखें।
निष्कर्षण और डी-आइडेंटिफिकेशन 35 समर्थित PII भाषा codes में उपलब्ध हैं:
am, ar, as, bn, cs, da, de, el, en, es, fr, he, hi, id, it, ja, ko, mr, nl, no, or, pt, ro, ru, sv, sw, ta, te, th, tr, uk, vi, xh, zh और zu, कुल रजिस्ट्री-आधारित PII मॉडल कैटलॉग के साथ।
Russian routing अभी दस्तावेज़ित multilingual default-model placeholder का उपयोग
करती है। Bengali, Chinese और Tamil के dedicated registry entries हैं।
एक वैकल्पिक, उपयोगकर्ता द्वारा configured Indic NER family चार अतिरिक्त routes
(gu, kn, ml और pa) स्वीकार करती है और Assamese, Bengali, Hindi,
Marathi, Tamil तथा Telugu को भी सेवा दे सकती है। OPENMED_INDIC_NER_MODEL सेट करें; OpenMed इन
weights को न तो bundle करता है और न अपने आप चुनता है।
OpenMed में Polish, Latvian, Slovak, Malay, Filipino और Finnish जैसे अतिरिक्त ID-only locales के लिए validator-समर्थित national-ID coverage भी शामिल है।
हर code के default PII मॉडल, Faker locale और डी-आइडेंटिफिकेशन के पहले/बाद के उदाहरण के लिए प्रति-भाषा गाइड देखें।
python -c "from openmed import extract_pii; print([(e.label, e.text) for e in extract_pii('Dr. Pedro Almeida, CPF: 123.456.789-09, email: pedro@hospital.pt', lang='pt').entities])"उदाहरण output:
[('NAME', 'Pedro Almeida'), ('ID', '123.456.789-09'), ('EMAIL', 'pedro@hospital.pt')]
प्रति-भाषा उदाहरण दिखाएँ (Portuguese, Dutch, Hindi, Arabic, Japanese, Turkish)
from openmed import extract_pii
portuguese = extract_pii("Paciente: Pedro Almeida, CPF: 123.456.789-09, telefone: +351 912 345 678", lang="pt", use_smart_merging=True)
dutch = extract_pii("Patiënt: Eva de Vries, BSN: 123456782, telefoon: +31 6 12345678", lang="nl", use_smart_merging=True)
hindi = extract_pii("रोगी: अनीता शर्मा, फोन: +91 9876543210, पता: नई दिल्ली 110001", lang="hi", use_smart_merging=True)
arabic = extract_pii("المريضة ليلى حسن، الهاتف +20 10 1234 5678، الرقم القومي 29801011234567.", lang="ar", use_smart_merging=True)
japanese = extract_pii("患者 佐藤 花子、電話 +81 90 1234 5678、マイナンバー 1234 5678 9012.", lang="ja", use_smart_merging=True)
turkish = extract_pii("Hasta Ayşe Yılmaz, telefon +90 532 123 45 67, TCKN 10000000146.", lang="tr", use_smart_merging=True)
for r in (portuguese, dutch, hindi, arabic, japanese, turkish):
print([(e.label, e.text) for e in r.entities])उदाहरण output:
[('NAME', 'Pedro Almeida'), ('ID', '123.456.789-09'), ('PHONE', '+351 912 345 678')]
[('NAME', 'Eva de Vries'), ('ID', '123456782'), ('PHONE', '+31 6 12345678')]
[('NAME', 'अनीता शर्मा'), ('PHONE', '+91 9876543210'), ('ADDRESS', 'नई दिल्ली 110001')]
[('NAME', 'ليلى حسن'), ('PHONE', '+20 10 1234 5678'), ('ID', '29801011234567')]
[('NAME', '佐藤 花子'), ('PHONE', '+81 90 1234 5678'), ('ID', '1234 5678 9012')]
[('NAME', 'Ayşe Yılmaz'), ('PHONE', '+90 532 123 45 67'), ('ID', '10000000146')]
Request validation, shared pipeline preload और unified error envelopes वाली Docker-अनुकूल FastAPI सेवा।
pip install --upgrade "openmed[hf,service]"
uvicorn openmed.service.app:app --host 0.0.0.0 --port 8080
# or with Docker
docker build -t openmed:local .
docker run --rm -p 8080:8080 -e OPENMED_PROFILE=prod openmed:localउदाहरण output:
INFO: Uvicorn running on http://0.0.0.0:8080
curl -X POST http://127.0.0.1:8080/pii/extract \
-H "Content-Type: application/json" \
-d '{"text":"Paciente: Maria Garcia, DNI: 12345678Z","lang":"es"}'संक्षिप्त उदाहरण response:
{
"text": "Paciente: Maria Garcia, DNI: 12345678Z",
"entities": [
{"text": "Maria Garcia", "label": "NAME", "confidence": 0.99, "start": 10, "end": 22},
{"text": "12345678Z", "label": "ID", "confidence": 0.98, "start": 29, "end": 38}
],
"model_name": "OpenMed/privacy-filter-multilingual"
}मॉडल lifecycle और service controls: GET /models/loaded, POST /models/unload और keep_alive idle window से आवश्यकता पर memory खाली करें;
v1.8 में API-key/JWT auth, no-PHI request logging, tracing, gRPC, async jobs, webhooks, warm pools, dynamic batching,
request coalescing, rate और concurrency limits, /livez, /readyz और opt-in metrics भी शामिल हैं:
OPENMED_SERVICE_KEEP_ALIVE=10m uvicorn openmed.service.app:app --host 0.0.0.0 --port 8080
curl -X POST http://127.0.0.1:8080/models/unload -H "Content-Type: application/json" -d '{"all":true}'उदाहरण response:
{
"unloaded": true,
"released": {"models": 1, "tokenizers": 1, "pipelines": 1},
"active_models": {}
}पूर्ण REST सेवा गाइड देखें।
पूर्ण गाइड openmed.life/docs पर उपलब्ध हैं।
AI agents चुनी हुई llms.txt index या inline llms-full.txt feed लोड कर सकते हैं। हर strict MkDocs build के दौरान दोनों को मौजूदा दस्तावेज़ों से फिर बनाया जाता है।
OpenMed का संरक्षक एक रोएँदार फ़ारसी बिल्ली है जिसे छोटे एविसेना (इब्न सीना) के रूप में दिखाया गया है—वह महान फ़ारसी चिकित्सक जिनकी क़ानून फ़ी अल-तिब्ब (The Canon of Medicine) लगभग 600 वर्षों तक दुनिया की मानक चिकित्सा पुस्तक रही। वह चिकित्सा ज्ञान की खुली पुस्तक की रक्षा करता है, जिसका रंग-पटल फ़ारसी फ़िरोज़ा (fīrūza) से प्रेरित है: आपके सबसे निजी डेटा के लिए एक लोकल-फर्स्ट संरक्षक।
Bug reports, feature requests और PR—सभी योगदानों का स्वागत है। पहले योगदान गाइड और हमारा Code of Conduct पढ़ें।
- Issue खोलें
- योगदान गाइड · Code of Conduct · सुरक्षा नीति
- अनुवादों का स्वागत है: ऊपर language switcher में linked अन्य भाषाओं की README पूरी करने में मदद करें।
कोई vulnerability मिली? OpenMed PHI को redact करता है, इसलिए redaction bypass या PHI/PII leak सुरक्षा समस्या है: इसे निजी रूप से report करें, कभी public issue के रूप में नहीं। Responsible disclosure policy के लिए SECURITY.md और private reporting form देखें। Report में कभी वास्तविक रोगी डेटा शामिल न करें।
OpenMed उत्कृष्ट ओपन-सोर्स कार्य पर आधारित है: विशेष धन्यवाद OpenAI (Privacy Filter architecture), NVIDIA (Nemotron PII dataset), Hugging Face (transformers, Transformers.js और model ecosystem), Apple (MLX) और Faker maintainers को।
OpenMed SDK का स्रोत Apache-2.0 License के अंतर्गत जारी किया गया है। Third-party asset notices NOTICE में दर्ज हैं।
@misc{panahi2025openmedneropensourcedomainadapted,
title={OpenMed NER: Open-Source, Domain-Adapted State-of-the-Art Transformers for Biomedical NER Across 12 Public Datasets},
author={Maziyar Panahi},
year={2025},
eprint={2508.01630},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2508.01630},
}अपेक्षित परिणाम: papers, posters और derived documentation में OpenMed को reference करने के लिए BibTeX-compatible citation metadata।
यदि OpenMed आपके लिए उपयोगी है, तो एक star दूसरों को इसे खोजने में मदद करता है।
4,700+ GitHub stars · 29 Jul 2026 snapshot
OpenMed टीम द्वारा निर्मित
वेबसाइट · दस्तावेज़ · X / Twitter · LinkedIn
