Skip to content

Commit 9041fe5

Browse files
committed
Add Check for OpenVINO Nightly and Archive
1 parent 86a1eca commit 9041fe5

File tree

1 file changed

+53
-12
lines changed

1 file changed

+53
-12
lines changed

optimum/intel/utils/import_utils.py

+53-12
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ def is_openvino_tokenizers_available():
181181
try:
182182
import openvino_tokenizers
183183
except ImportError:
184+
ov_major_version = _openvino_version.split("-")[0]
184185
logger.info(
185186
"OpenVINO Tokenizers is not available, tokenizer won't be converted. To automatically "
186187
"convert tokenizer during OpenVINO model export install OpenVINO Tokenizers.\n"
@@ -189,31 +190,71 @@ def is_openvino_tokenizers_available():
189190
"For pre-release OpenVINO version:\n"
190191
"pip install --pre -U openvino openvino-tokenizers"
191192
"--extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly\n"
192-
"For archive OpenVINO distribution:\n"
193-
"pip install --no-deps openvino-tokenizers\n"
194-
"For detailed installation instructions go to "
195-
"https://github.com/openvinotoolkit/openvino_tokenizers/tree/master?tab=readme-ov-file#installation"
193+
"If you using archive OpenVINO distribution install release, nightly version or build from source:\n"
194+
f"Release: pip install --no-deps openvino-tokenizers~={ov_major_version}\n"
195+
f"Nightly: pip install --pre openvino-tokenizers~={ov_major_version}.0.dev --extra-index-url "
196+
f"https://storage.openvinotoolkit.org/simple/wheels/nightly\n"
197+
"Build from source instructions: https://github.com/openvinotoolkit/openvino_tokenizers"
198+
"?tab=readme-ov-file#build-and-install-from-source\n"
196199
)
197200
return False
198201

202+
try:
203+
pip_metadata_version = importlib_metadata.version("openvino")
204+
is_nightly = False
205+
except importlib_metadata.PackageNotFoundError:
206+
try:
207+
pip_metadata_version = importlib_metadata.version("openvino-nightly")
208+
is_nightly = True
209+
except importlib_metadata.PackageNotFoundError:
210+
pip_metadata_version = False
211+
is_nightly = False
212+
199213
try:
200214
openvino_tokenizers._get_factory()
201215
except RuntimeError as e:
202216
tokenizers_version = openvino_tokenizers.__version__
217+
203218
if tokenizers_version == "0.0.0.0":
204-
tokenizers_version = importlib_metadata.version("openvino_tokenizers") or tokenizers_version
205-
logger.warning(
219+
try:
220+
tokenizers_version = importlib_metadata.version("openvino_tokenizers") or tokenizers_version
221+
except importlib_metadata.PackageNotFoundError:
222+
pass
223+
message = (
206224
"OpenVINO and OpenVINO Tokenizers versions are not binary compatible.\n"
207225
f"OpenVINO version: {_openvino_version}\n"
208226
f"OpenVINO Tokenizers version: {tokenizers_version}\n"
209227
"First 3 numbers should be the same. Update OpenVINO Tokenizers to compatible version. "
210-
"It is recommended to use the same day builds for pre-release version.\n"
211-
"For archive installation of OpenVINO try to build OpenVINO Tokenizers from source: "
212-
"https://github.com/openvinotoolkit/openvino_tokenizers/tree/master?tab=readme-ov-file"
213-
"#build-and-install-from-source\n"
214-
f"Error: {e}\n"
215-
"Tokenizer won't be converted."
216228
)
229+
if not pip_metadata_version:
230+
message += (
231+
"For archive installation of OpenVINO try to build OpenVINO Tokenizers from source: "
232+
"https://github.com/openvinotoolkit/openvino_tokenizers/tree/master?tab=readme-ov-file"
233+
"#build-and-install-from-source"
234+
)
235+
else:
236+
message += "It is recommended to use the same day builds for pre-release version. "
237+
if is_nightly:
238+
message += (
239+
"openvino-nightly package detected - use nightly drops from PyPI Simple "
240+
"Repo (PEP 503) implementation on AWS S3 instead. "
241+
)
242+
message += "To update both OpenVINO and OpenVINO Tokenizers to release version perform:\n"
243+
if is_nightly:
244+
message += "pip uninstall -y openvino-nightly && "
245+
message += (
246+
"pip install --force-reinstall openvino openvino-tokenizers\n"
247+
"To update both OpenVINO and OpenVINO Tokenizers to nightly version perform:\n"
248+
)
249+
if is_nightly:
250+
message += "pip uninstall -y openvino-nightly && "
251+
message += (
252+
"pip install --pre -U openvino openvino-tokenizers "
253+
"--extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly\n"
254+
f"Error: {e}\n"
255+
"Tokenizer won't be converted."
256+
)
257+
logger.warning(message)
217258
return False
218259

219260
return True

0 commit comments

Comments
 (0)