File tree Expand file tree Collapse file tree
nemoguardrails/embeddings/providers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -47,16 +47,15 @@ def __init__(
4747 ):
4848 try :
4949 import openai
50- from openai import OpenAI
51- except ImportError :
52- raise ImportError ("Could not import openai, please install it with `pip install openai`." )
50+ except ImportError as err :
51+ raise ImportError ("Could not import openai, please install it with `pip install openai`." ) from err
5352 if openai .__version__ < "1.0.0" :
5453 raise RuntimeError (
5554 "`openai<1.0.0` is no longer supported. Please upgrade using `pip install openai>=1.0.0`."
5655 )
5756
5857 self .model = embedding_model
59- self .client = OpenAI (** kwargs )
58+ self .client = openai . OpenAI (** kwargs )
6059
6160 self .embedding_size_dict = {
6261 "text-embedding-ada-002" : 1536 ,
Original file line number Diff line number Diff line change 1414# limitations under the License.
1515
1616import sys
17+ from types import ModuleType
1718from unittest .mock import MagicMock , Mock , patch
1819
1920import pytest
@@ -226,7 +227,7 @@ def test_init_with_unknown_model(self):
226227
227228 def test_import_error_when_openai_not_installed (self ):
228229 with patch .dict ("sys.modules" , {"openai" : None }):
229- with pytest .raises (ImportError , match = "Could not import openai" ):
230+ with pytest .raises (ImportError , match = "Could not import openai" ) as exc_info :
230231 if "nemoguardrails.embeddings.providers.openai" in sys .modules :
231232 del sys .modules ["nemoguardrails.embeddings.providers.openai" ]
232233
@@ -236,8 +237,10 @@ def test_import_error_when_openai_not_installed(self):
236237
237238 OpenAIEmbeddingModel ("text-embedding-3-small" )
238239
240+ assert isinstance (exc_info .value .__cause__ , ImportError )
241+
239242 def test_old_version_error (self ):
240- mock_openai = MagicMock ( )
243+ mock_openai = ModuleType ( "openai" )
241244 mock_openai .__version__ = "0.28.0"
242245
243246 with patch .dict ("sys.modules" , {"openai" : mock_openai }):
You can’t perform that action at this time.
0 commit comments