Skip to content

Commit 7fb6a6f

Browse files
authored
Allow to pass base url to api (#191)
* add support for custom base url on api * add support for custom base url on api
1 parent e1f5bde commit 7fb6a6f

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

.changeset/prompt-loud-hound.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"stagehand": patch
3+
---
4+
5+
Add support for custom base_url on api

stagehand/api.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,26 @@ async def _execute(self, method: str, payload: dict[str, Any]) -> Any:
120120
if self.model_api_key:
121121
headers["x-model-api-key"] = self.model_api_key
122122

123+
payload_options = payload.get("modelClientOptions", {})
124+
instance_options = self.model_client_options or {}
125+
126+
# Clear precedence order
127+
base_url = (
128+
payload_options.get("baseURL")
129+
or payload_options.get("api_base")
130+
or instance_options.get("baseURL")
131+
or instance_options.get("api_base")
132+
)
133+
134+
if base_url:
135+
if "modelClientOptions" not in payload:
136+
payload["modelClientOptions"] = {}
137+
payload["modelClientOptions"]["baseURL"] = base_url
138+
payload["modelClientOptions"].pop("api_base", None)
139+
123140
# Convert snake_case keys to camelCase for the API
124141
modified_payload = convert_dict_keys_to_camel_case(payload)
142+
print(modified_payload)
125143

126144
# async with self._client:
127145
try:

0 commit comments

Comments
 (0)