|
13 | 13 |
|
14 | 14 |
|
15 | 15 | class EngineAPIResource(APIResource):
|
16 |
| - engine_required = True |
17 | 16 | plain_old_data = False
|
18 | 17 |
|
19 | 18 | def __init__(self, engine: Optional[str] = None, **kwargs):
|
@@ -71,14 +70,24 @@ def create(
|
71 | 70 | organization=None,
|
72 | 71 | **params,
|
73 | 72 | ):
|
74 |
| - engine = params.pop("engine", None) |
| 73 | + deployment_id = params.pop("deployment_id", None) |
| 74 | + engine = params.pop("engine", deployment_id) |
| 75 | + model = params.get("model", None) |
75 | 76 | timeout = params.pop("timeout", None)
|
76 | 77 | stream = params.get("stream", False)
|
77 | 78 | headers = params.pop("headers", None)
|
78 |
| - if engine is None and cls.engine_required: |
79 |
| - raise error.InvalidRequestError( |
80 |
| - "Must provide an 'engine' parameter to create a %s" % cls, "engine" |
81 |
| - ) |
| 79 | + |
| 80 | + typed_api_type = cls._get_api_type_and_version(api_type=api_type)[0] |
| 81 | + if typed_api_type in (util.ApiType.AZURE, util.ApiType.AZURE_AD): |
| 82 | + if deployment_id is None and engine is None: |
| 83 | + raise error.InvalidRequestError( |
| 84 | + "Must provide an 'engine' or 'deployment_id' parameter to create a %s" % cls, "engine" |
| 85 | + ) |
| 86 | + else: |
| 87 | + if model is None and engine is None: |
| 88 | + raise error.InvalidRequestError( |
| 89 | + "Must provide an 'engine' or 'model' parameter to create a %s" % cls, "engine" |
| 90 | + ) |
82 | 91 |
|
83 | 92 | if timeout is None:
|
84 | 93 | # No special timeout handling
|
|
0 commit comments