Migrate MedCAT v1 model to MedCAT v2¶
If you've got an existing model built and saved with MedCAT v1, it will need to be converted into MedCAT v2's new format before it can be used.
PS:
MedCAT will automatically convert a v1 model to the correct v2 format upon loading.
Though this behaviour can be disabled by setting the enviornmental variable MEDCAT_AVOID_LECACY_CONVERSION=true.
When automatic conversion is enabled loading v1 models directly results in much longer load times.
It is generally recommended to instead convert the v1 model manually (saving it on disk) and subsequently loading it normally.
First we need to install the entirety of MedCAT v2.
MedCAT v2 core doesn't include some optional dependencies (like spacy and tarnsformers).
However, the v1 model is likely to need one or more of those.
! pip install medcat[meta-cat,spacy,deid]~=2.4.0
DEPRECATION: git+https://github.com/CogStack/MedCAT2@v0.2.1#egg=medcat2[meta-cat,spacy,deid] contains an egg fragment with a non-PEP 508 name. pip 25.1 will enforce this behaviour change. A possible replacement is to use the req @ url syntax, and remove the egg fragment. Discussion can be found at https://github.com/pypa/pip/issues/13157 Collecting medcat2 (from medcat2[deid,meta-cat,spacy]) Cloning https://github.com/CogStack/MedCAT2 (to revision v0.2.1) to /private/var/folders/h4/sklqg_zx1dbbbx76m2__zb8h0000gn/T/pip-install-f7srzh1n/medcat2_b202bcc7f8764e7a955b5a4d04c7b080 Running command git clone --filter=blob:none --quiet https://github.com/CogStack/MedCAT2 /private/var/folders/h4/sklqg_zx1dbbbx76m2__zb8h0000gn/T/pip-install-f7srzh1n/medcat2_b202bcc7f8764e7a955b5a4d04c7b080 Running command git checkout -q 350d3b136d5b2789dca37faf371354416ace54bf Resolved https://github.com/CogStack/MedCAT2 to commit 350d3b136d5b2789dca37faf371354416ace54bf Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: numpy>2.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (2.2.3) Requirement already satisfied: dill in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (0.3.8) Requirement already satisfied: pandas<3.0,>=2.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (2.2.3) Requirement already satisfied: tqdm<5.0,>=4.64 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (4.67.1) Requirement already satisfied: xxhash<4.0,>=3.5.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (3.5.0) Requirement already satisfied: pydantic>2.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (2.10.6) Requirement already satisfied: peft<1.0,>0.8.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (0.15.2) Requirement already satisfied: torch<3.0,>=2.4.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (2.6.0) Requirement already satisfied: scikit-learn<2.0,>=1.1.3 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (1.6.1) Requirement already satisfied: datasets<3.0.0,>=2.2.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (2.21.0) Requirement already satisfied: transformers<5.0,>=4.41.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (4.51.3) Requirement already satisfied: spacy in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from medcat2->medcat2[deid,meta-cat,spacy]) (3.8.5) Requirement already satisfied: filelock in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (3.18.0) Requirement already satisfied: pyarrow>=15.0.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (20.0.0) Requirement already satisfied: requests>=2.32.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2.32.3) Requirement already satisfied: multiprocess in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (0.70.16) Requirement already satisfied: fsspec<=2024.6.1,>=2023.1.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from fsspec[http]<=2024.6.1,>=2023.1.0->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2024.6.1) Requirement already satisfied: aiohttp in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (3.11.18) Requirement already satisfied: huggingface-hub>=0.21.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (0.30.2) Requirement already satisfied: packaging in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (24.2) Requirement already satisfied: pyyaml>=5.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (6.0.2) Requirement already satisfied: python-dateutil>=2.8.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from pandas<3.0,>=2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2.9.0.post0) Requirement already satisfied: pytz>=2020.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from pandas<3.0,>=2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2025.1) Requirement already satisfied: tzdata>=2022.7 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from pandas<3.0,>=2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2025.1) Requirement already satisfied: psutil in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from peft<1.0,>0.8.2->medcat2->medcat2[deid,meta-cat,spacy]) (7.0.0) Requirement already satisfied: accelerate>=0.21.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from peft<1.0,>0.8.2->medcat2->medcat2[deid,meta-cat,spacy]) (1.6.0) Requirement already satisfied: safetensors in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from peft<1.0,>0.8.2->medcat2->medcat2[deid,meta-cat,spacy]) (0.5.3) Requirement already satisfied: annotated-types>=0.6.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from pydantic>2.0->medcat2->medcat2[deid,meta-cat,spacy]) (0.7.0) Requirement already satisfied: pydantic-core==2.27.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from pydantic>2.0->medcat2->medcat2[deid,meta-cat,spacy]) (2.27.2) Requirement already satisfied: typing-extensions>=4.12.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from pydantic>2.0->medcat2->medcat2[deid,meta-cat,spacy]) (4.12.2) Requirement already satisfied: scipy>=1.6.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from scikit-learn<2.0,>=1.1.3->medcat2->medcat2[deid,meta-cat,spacy]) (1.15.2) Requirement already satisfied: joblib>=1.2.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from scikit-learn<2.0,>=1.1.3->medcat2->medcat2[deid,meta-cat,spacy]) (1.4.2) Requirement already satisfied: threadpoolctl>=3.1.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from scikit-learn<2.0,>=1.1.3->medcat2->medcat2[deid,meta-cat,spacy]) (3.6.0) Requirement already satisfied: networkx in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from torch<3.0,>=2.4.0->medcat2->medcat2[deid,meta-cat,spacy]) (3.4.2) Requirement already satisfied: jinja2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from torch<3.0,>=2.4.0->medcat2->medcat2[deid,meta-cat,spacy]) (3.1.6) Requirement already satisfied: sympy==1.13.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from torch<3.0,>=2.4.0->medcat2->medcat2[deid,meta-cat,spacy]) (1.13.1) Requirement already satisfied: mpmath<1.4,>=1.1.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from sympy==1.13.1->torch<3.0,>=2.4.0->medcat2->medcat2[deid,meta-cat,spacy]) (1.3.0) Requirement already satisfied: regex!=2019.12.17 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from transformers<5.0,>=4.41.0->medcat2->medcat2[deid,meta-cat,spacy]) (2024.11.6) Requirement already satisfied: tokenizers<0.22,>=0.21 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from transformers<5.0,>=4.41.0->medcat2->medcat2[deid,meta-cat,spacy]) (0.21.1) Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.11 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (3.0.12) Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.0.5) Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.0.12) Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (2.0.11) Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (3.0.9) Requirement already satisfied: thinc<8.4.0,>=8.3.4 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (8.3.6) Requirement already satisfied: wasabi<1.2.0,>=0.9.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.1.3) Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (2.5.1) Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (2.0.10) Requirement already satisfied: weasel<0.5.0,>=0.1.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (0.4.1) Requirement already satisfied: typer<1.0.0,>=0.3.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (0.15.2) Requirement already satisfied: setuptools in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (65.5.0) Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from spacy->medcat2->medcat2[deid,meta-cat,spacy]) (3.5.0) Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2.6.1) Requirement already satisfied: aiosignal>=1.1.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (1.3.2) Requirement already satisfied: async-timeout<6.0,>=4.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (5.0.1) Requirement already satisfied: attrs>=17.3.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (25.3.0) Requirement already satisfied: frozenlist>=1.1.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (1.6.0) Requirement already satisfied: multidict<7.0,>=4.5 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (6.4.3) Requirement already satisfied: propcache>=0.2.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (0.3.1) Requirement already satisfied: yarl<2.0,>=1.17.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from aiohttp->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (1.20.0) Requirement already satisfied: language-data>=1.2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from langcodes<4.0.0,>=3.2.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.3.0) Requirement already satisfied: six>=1.5 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas<3.0,>=2.2->medcat2->medcat2[deid,meta-cat,spacy]) (1.17.0) Requirement already satisfied: charset-normalizer<4,>=2 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from requests>=2.32.2->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (3.4.1) Requirement already satisfied: idna<4,>=2.5 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from requests>=2.32.2->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from requests>=2.32.2->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2.4.0) Requirement already satisfied: certifi>=2017.4.17 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from requests>=2.32.2->datasets<3.0.0,>=2.2.2->medcat2->medcat2[deid,meta-cat,spacy]) (2025.1.31) Requirement already satisfied: blis<1.4.0,>=1.3.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from thinc<8.4.0,>=8.3.4->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.3.0) Requirement already satisfied: confection<1.0.0,>=0.0.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from thinc<8.4.0,>=8.3.4->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (0.1.5) Requirement already satisfied: click>=8.0.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from typer<1.0.0,>=0.3.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (8.1.8) Requirement already satisfied: shellingham>=1.3.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from typer<1.0.0,>=0.3.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.5.4) Requirement already satisfied: rich>=10.11.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from typer<1.0.0,>=0.3.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (14.0.0) Requirement already satisfied: cloudpathlib<1.0.0,>=0.7.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from weasel<0.5.0,>=0.1.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (0.21.0) Requirement already satisfied: smart-open<8.0.0,>=5.2.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from weasel<0.5.0,>=0.1.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (7.1.0) Requirement already satisfied: MarkupSafe>=2.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from jinja2->torch<3.0,>=2.4.0->medcat2->medcat2[deid,meta-cat,spacy]) (3.0.2) Requirement already satisfied: marisa-trie>=1.1.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from language-data>=1.2->langcodes<4.0.0,>=3.2.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.2.1) Requirement already satisfied: markdown-it-py>=2.2.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from rich>=10.11.0->typer<1.0.0,>=0.3.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (3.0.0) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from rich>=10.11.0->typer<1.0.0,>=0.3.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (2.19.1) Requirement already satisfied: wrapt in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from smart-open<8.0.0,>=5.2.1->weasel<0.5.0,>=0.1.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (1.17.2) Requirement already satisfied: mdurl~=0.1 in /Users/martratas/Documents/CogStack/.MedCAT.nosync/MedCATv2tutorials/.venv/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0.0,>=0.3.0->spacy->medcat2->medcat2[deid,meta-cat,spacy]) (0.1.2) [notice] A new release of pip is available: 25.0.1 -> 25.1 [notice] To update, run: pip install --upgrade pip
Now we're ready to do the conversion. This is actually relatively straightforward. Though there are some additional options that can be set, they're mostly to do with how verbose the output is and whether a new folder needs / can be created for the new model pack.
model_path = "models/medcat1_model_pack.zip"
new_model_folder = "models" # file in this folder
! python -m medcat.utils.legacy.legacy_converter $model_path $new_model_folder --verbose
Missing class medcat.utils.config_utils.default_weighted_average, replacing with LegacyClassNotFound. Saving converted model to 'models'