@@ -38,6 +38,7 @@ def __init__(
3838 base_url : str | URL = BASE_URL ,
3939 ak : str | None = None ,
4040 sk : str | None = None ,
41+ api_key : str | None = None ,
4142 timeout : float | Timeout | None = DEFAULT_TIMEOUT ,
4243 max_retries : int = DEFAULT_MAX_RETRIES ,
4344 http_client : Client | None = None ,
@@ -48,6 +49,7 @@ def __init__(
4849 Args:
4950 ak: access key id
5051 sk: secret access key
52+ api_key: api key,this api key will not be refreshed
5153 timeout: timeout of client. default httpx.Timeout(timeout=60.0, connect=60.0)
5254 max_retries: times of retry when request failed. default 1
5355 http_client: specify customized http_client
@@ -59,8 +61,13 @@ def __init__(
5961 ak = os .environ .get ("VOLC_ACCESSKEY" )
6062 if sk is None :
6163 sk = os .environ .get ("VOLC_SECRETKEY" )
64+ if api_key is None :
65+ api_key = os .environ .get ("ARK_API_KEY" )
6266 self .ak = ak
6367 self .sk = sk
68+ self .api_key = api_key
69+
70+ assert (api_key is not None ) or (ak is not None and sk is not None ), "you need to support api_key or ak&sk"
6471
6572 super ().__init__ (
6673 base_url = base_url ,
@@ -82,6 +89,11 @@ def _get_endpoint_sts_token(self, endpoint_id: str):
8289 self ._sts_token_manager = StsTokenManager (self .ak , self .sk )
8390 return self ._sts_token_manager .get (endpoint_id )
8491
92+ @property
93+ def auth_headers (self ) -> dict [str , str ]:
94+ api_key = self .api_key
95+ return {"Authorization" : f"Bearer { api_key } " }
96+
8597
8698class AsyncArk (AsyncAPIClient ):
8799 chat : resources .AsyncChat
@@ -91,6 +103,7 @@ def __init__(
91103 * ,
92104 ak : str | None = None ,
93105 sk : str | None = None ,
106+ api_key : str | None = None ,
94107 base_url : str | URL = BASE_URL ,
95108 timeout : float | Timeout | None = DEFAULT_TIMEOUT ,
96109 max_retries : int = DEFAULT_MAX_RETRIES ,
@@ -101,6 +114,7 @@ def __init__(
101114 Args:
102115 ak: access key id
103116 sk: secret access key
117+ api_key: api key,this api key will not be refreshed
104118 timeout: timeout of client. default httpx.Timeout(timeout=60.0, connect=60.0)
105119 max_retries: times of retry when request failed. default 1
106120 http_client: specify customized http_client
@@ -112,8 +126,13 @@ def __init__(
112126 ak = os .environ .get ("VOLC_ACCESSKEY" )
113127 if sk is None :
114128 sk = os .environ .get ("VOLC_SECRETKEY" )
129+ if api_key is None :
130+ api_key = os .environ .get ("ARK_API_KEY" )
115131 self .ak = ak
116132 self .sk = sk
133+ self .api_key = api_key
134+
135+ assert (api_key is not None ) or (ak is not None and sk is not None ), "you need to support api_key or ak&sk"
117136
118137 super ().__init__ (
119138 base_url = base_url ,
@@ -135,6 +154,11 @@ def _get_endpoint_sts_token(self, endpoint_id: str):
135154 self ._sts_token_manager = StsTokenManager (self .ak , self .sk )
136155 return self ._sts_token_manager .get (endpoint_id )
137156
157+ @property
158+ def auth_headers (self ) -> dict [str , str ]:
159+ api_key = self .api_key
160+ return {"Authorization" : f"Bearer { api_key } " }
161+
138162
139163class StsTokenManager (object ):
140164
0 commit comments