Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/home/docker/www/test/update_dataset.py", line 1, in <module>
from deepeval.dataset import EvaluationDataset, Golden
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/dataset/__init__.py", line 1, in <module>
from .dataset import EvaluationDataset
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/dataset/dataset.py", line 28, in <module>
from deepeval.synthesizer.types import *
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/synthesizer/__init__.py", line 1, in <module>
from .synthesizer import (
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/synthesizer/synthesizer.py", line 43, in <module>
from deepeval.synthesizer.config import (
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/synthesizer/config.py", line 46, in <module>
class ContextConstructionConfig:
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/synthesizer/config.py", line 48, in ContextConstructionConfig
OpenAIEmbeddingModel()
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/models/openai_embedding_model.py", line 37, in __init__
super().__init__(model_name)
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/models/base_model.py", line 107, in __init__
self.model = self.load_model(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docker/venv/lib/python3.12/site-packages/deepeval/models/openai_embedding_model.py", line 76, in load_model
return OpenAIEmbeddings(model=self.model_name, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docker/venv/lib/python3.12/site-packages/pydantic/main.py", line 212, in __init__
validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docker/venv/lib/python3.12/site-packages/langchain_openai/embeddings/base.py", line [33](https://github.com/ScientaNL/scienta/actions/runs/11662408084/job/32468698173#step:10:34)8, in validate_environment
self.client = openai.OpenAI(**client_params, **sync_specific).embeddings # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/docker/venv/lib/python3.12/site-packages/openai/_client.py", line 105, in __init__
raise OpenAIError(
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
Describe the bug
EvaluationDatasetin deepeval 1.4.7 or 1.4.8 suddenly requires an OpenAi key while 1.4.6 did not. I'm using a custom LLM (claude via bedrock) to do evaluations so I am not using OpenAi for anything. Deepeval 1.4.6 still works fine without an OpenAi key.openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variableTo Reproduce
Steps to reproduce the behavior:
import
EvaluationDatasetin a python script without OpenAi env variables. it seems just het import breaks it already. (see traceback for more info)Expected behavior
The deepeval python library should function without a OpenAi key.
Screenshots
Additional context
In my setup I'm first running update_dataset to create a dataset.json which i then evaluate in test.py. Both the python files trigger this error.