Make openai dependency optional (#236)
* Make openai optional dependency * Set openai as an extra dependency
This commit is contained in:
parent
1f8fd72acb
commit
68933e7e90
|
@ -23,7 +23,6 @@ dependencies = [
|
||||||
"duckduckgo-search>=6.3.7",
|
"duckduckgo-search>=6.3.7",
|
||||||
"python-dotenv>=1.0.1",
|
"python-dotenv>=1.0.1",
|
||||||
"e2b-code-interpreter>=1.0.3",
|
"e2b-code-interpreter>=1.0.3",
|
||||||
"openai>=1.58.1",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.optional-dependencies]
|
[project.optional-dependencies]
|
||||||
|
@ -37,12 +36,13 @@ torch = [
|
||||||
litellm = [
|
litellm = [
|
||||||
"litellm>=1.55.10",
|
"litellm>=1.55.10",
|
||||||
]
|
]
|
||||||
|
openai = ["openai>=1.58.1"]
|
||||||
quality = [
|
quality = [
|
||||||
"ruff>=0.9.0",
|
"ruff>=0.9.0",
|
||||||
]
|
]
|
||||||
test = [
|
test = [
|
||||||
"pytest>=8.1.0",
|
"pytest>=8.1.0",
|
||||||
"smolagents[audio,litellm,torch]",
|
"smolagents[audio,litellm,openai,torch]",
|
||||||
]
|
]
|
||||||
dev = [
|
dev = [
|
||||||
"smolagents[quality,test]",
|
"smolagents[quality,test]",
|
||||||
|
|
|
@ -34,8 +34,6 @@ from transformers import (
|
||||||
)
|
)
|
||||||
from transformers.utils.import_utils import _is_package_available
|
from transformers.utils.import_utils import _is_package_available
|
||||||
|
|
||||||
import openai
|
|
||||||
|
|
||||||
from .tools import Tool
|
from .tools import Tool
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -578,6 +576,12 @@ class OpenAIServerModel(Model):
|
||||||
api_key: str,
|
api_key: str,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
|
try:
|
||||||
|
import openai
|
||||||
|
except ModuleNotFoundError:
|
||||||
|
raise ModuleNotFoundError(
|
||||||
|
"Please install 'openai' extra to use OpenAIServerModel: `pip install 'smolagents[openai]'`"
|
||||||
|
) from None
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.model_id = model_id
|
self.model_id = model_id
|
||||||
self.client = openai.OpenAI(
|
self.client = openai.OpenAI(
|
||||||
|
|
Loading…
Reference in New Issue