Skip to content

Commit 07f1271

Browse files
authored
Merge pull request #34 from foyoux/feat/cli-env-model-and-api-key
CLI Enhancement: Add Environment Variable Support for Model Name and API_KEY
2 parents a579488 + fa3acce commit 07f1271

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

mineru_vl_utils/vlm_client/http_client.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,18 @@ def __init__(
6161
self.max_concurrency = max_concurrency
6262
self.debug = debug
6363

64+
# Work on a local copy of server_headers to avoid mutating the caller's dict.
65+
headers = dict(server_headers) if server_headers is not None else None
66+
67+
api_key = os.getenv("MINERU_VL_API_KEY")
68+
if api_key:
69+
if headers is None:
70+
headers = {}
71+
headers["Authorization"] = f"Bearer {api_key}"
72+
73+
self.headers = headers
74+
self.retry = Retry(total=max_retries, backoff_factor=retry_backoff_factor)
75+
6476
if not server_url:
6577
server_url = _get_env("MINERU_VL_SERVER")
6678

@@ -79,6 +91,7 @@ def __init__(
7991
self._aio_client_sem = asyncio.Semaphore(1)
8092
self._aio_client_cache: dict[asyncio.AbstractEventLoop, httpx.AsyncClient] = {}
8193

94+
model_name = model_name or os.getenv("MINERU_VL_MODEL_NAME")
8295
if model_name:
8396
self._check_model_name(self.server_url, model_name)
8497
self.model_name = model_name
@@ -164,7 +177,8 @@ def _get_model_name(self, base_url: str) -> str:
164177
raise RequestError(f"No models found in response from {base_url}. Response body: {response.text}")
165178
if len(models) != 1:
166179
raise RequestError(
167-
f"Expected exactly one model from {base_url}, but got {len(models)}. Please specify the model name."
180+
f"Expected exactly one model from {base_url}, but got {len(models)}. Please specify the model name"
181+
f" or set the `MINERU_VL_MODEL_NAME` environment variable."
168182
)
169183
model_name = models[0].get("id", "")
170184
if not model_name:

0 commit comments

Comments
 (0)