MCPcopy
hub / github.com/openai/openai-python / configure

Method configure

src/openai/providers/bedrock.py:246–305  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

244 return auth.config, auth
245
246 def configure(self) -> _ProviderRuntime:
247 def environment_token() -> str:
248 token = os.environ.get("AWS_BEARER_TOKEN_BEDROCK")
249 if not token:
250 raise OpenAIError(
251 "Could not find credentials for Bedrock. Pass a bearer credential or AWS credentials to "
252 "`bedrock(...)`, set `AWS_BEARER_TOKEN_BEDROCK`, or configure the default AWS credential chain."
253 )
254 return token
255
256 auth: _BedrockBearerAuth | _BedrockSigV4Auth | None = None
257 bearer_provider: BedrockTokenProvider | None = None
258 if self.api_key is not None:
259 bearer_provider = lambda: self.api_key or ""
260 region = self.configured_region
261 elif self.token_provider is not None:
262 bearer_provider = self.token_provider
263 region = self.configured_region
264 elif self.use_environment_bearer:
265 bearer_provider = environment_token
266 region = self.configured_region
267 else:
268 aws_config, aws_auth = self._resolve_aws_auth()
269 region = aws_config.region
270 base_url = self.configured_base_url or _normalize_base_url(
271 f"https://bedrock-mantle.{region}.api.aws/openai/v1"
272 )
273 auth = _BedrockSigV4Auth(config=aws_config, base_url=base_url, auth=aws_auth)
274
275 if self.configured_base_url is not None:
276 base_url = self.configured_base_url
277 elif region is not None:
278 base_url = _normalize_base_url(f"https://bedrock-mantle.{region}.api.aws/openai/v1")
279 else:
280 raise OpenAIError(
281 "Bedrock requires an AWS region. Pass `region` to `bedrock(...)`, or set `AWS_REGION` or "
282 "`AWS_DEFAULT_REGION`."
283 )
284
285 if bearer_provider is not None:
286 auth = _BedrockBearerAuth(bearer_provider, base_url=base_url)
287
288 assert auth is not None
289 if isinstance(auth, _BedrockSigV4Auth):
290 return _BedrockProviderRuntime(
291 name=self.name,
292 base_url=base_url,
293 region=region,
294 transform_request=_without_redirects,
295 prepare_request=auth.prepare_request,
296 prepare_async_request=auth.prepare_async_request,
297 )
298
299 return _BedrockProviderRuntime(
300 name=self.name,
301 base_url=base_url,
302 region=region,
303 prepare_request=auth.prepare_request,

Callers

nothing calls this directly

Calls 6

_resolve_aws_authMethod · 0.95
_normalize_base_urlFunction · 0.85
_BedrockSigV4AuthClass · 0.85
OpenAIErrorClass · 0.85
_BedrockBearerAuthClass · 0.85

Tested by

no test coverage detected