Compatibility of versions

In general, we make sure that Prodigy is always compatible with stable spaCy versions. You can obviously try and use it with Prodigy, but I'd only recommend it for experimental purposes. (Also, remember that spacy-nightly versions usually require new models.)

But for your use case, I'm not even sure you need to use Prodigy with the alpha version of spaCy? You can still collect your annotations with the current stable version, and then use the match patterns or data to train

Patterns like this are problematic, because as I've explained in the thread you linked, this one will never match. The following will look for one token whose lowercase matches "HWY SPEEDS". This will never be the case, since the string will be split into two tokens: ['HWY', 'SPEEDS'].

Instead, your patterns can either reflect the tokenization, or you can write exact string match patterns instead:

{"label":null,"pattern":"HWY SPEEDS"}

For your use case, it sounds like you probably just want to write your own converter script that takes your annotations and outputs the patterns. Basically, something similar to the script I describe at the bottom of this post. This will also let you incorporate the patterns automatically. If you look at the source of terms.to-patterns, you'll see that it doesn't really do anything magicaly at all – it's just a convenience helper function. All you want to do here it take one data format and convert it to a different one – how you do this is up to you. (You don't even have to use Python if there's a different language you prefer!)

Just to make sure I understand your use case correctly: Do you want to just find exact string matches in your text and label them, or also train a model to generalise based on those strings and find similar occurrences in context?