Skip to content

Commit b9354d3

Browse files
author
BitsAdmin
committed
Merge branch 'feat/ark_encryption_error' into 'integration_2025-07-10_995600327426'
feat: [development task] ark runtime (1438955) See merge request iaasng/volcengine-python-sdk!708
2 parents a4e0add + b0562a1 commit b9354d3

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

volcenginesdkarkruntime/_client.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,14 @@ def _init_local_cert_cache(self):
492492
self._cert_expiration_seconds = 14 * 24 * 60 * 60 # 14 days
493493

494494
if not os.path.exists(self._cert_storage_path):
495-
os.makedirs(self._cert_storage_path)
495+
try:
496+
os.makedirs(self._cert_storage_path)
497+
except FileExistsError:
498+
pass
499+
except Exception as e:
500+
raise ArkAPIError(
501+
"failed to create certificate directory %s: %s\n" % (self._cert_storage_path, e)
502+
)
496503

497504
def get(self, ep: str) -> key_agreement_client:
498505
if ep not in self._certificate_manager:

volcenginesdkarkruntime/resources/batch_chat/completions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from ..._exceptions import ArkAPITimeoutError, ArkAPIConnectionError, ArkAPIStatusError
1414
from ..._types import Body, Query, Headers
15-
from ..._utils._utils import with_sts_token, async_with_sts_token
15+
from ..._utils._utils import with_sts_token, async_with_sts_token, deepcopy_minimal
1616
from ..._utils._key_agreement import aes_gcm_decrypt_base64_string
1717
from ..._base_client import make_request_options
1818
from ..._resource import SyncAPIResource, AsyncAPIResource
@@ -202,6 +202,7 @@ def create(
202202
and extra_headers.get(ARK_E2E_ENCRYPTION_HEADER, None) == "true"
203203
):
204204
is_encrypt = True
205+
messages = deepcopy_minimal(messages)
205206
e2e_key, e2e_nonce = self._encrypt(model, messages, extra_headers)
206207
retryTimes = 0
207208
last_time = self._get_request_last_time(timeout)
@@ -353,6 +354,7 @@ async def create(
353354
and extra_headers.get(ARK_E2E_ENCRYPTION_HEADER, None) == "true"
354355
):
355356
is_encrypt = True
357+
messages = deepcopy_minimal(messages)
356358
e2e_key, e2e_nonce = self._encrypt(model, messages, extra_headers)
357359

358360
retryTimes = 0

volcenginesdkarkruntime/resources/chat/completions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from typing_extensions import Literal
1717

1818
from ..._types import Body, Query, Headers
19-
from ..._utils._utils import with_sts_token, async_with_sts_token
19+
from ..._utils._utils import deepcopy_minimal, with_sts_token, async_with_sts_token
2020
from ..._utils._key_agreement import aes_gcm_decrypt_base64_string
2121
from ..._base_client import make_request_options
2222
from ..._resource import SyncAPIResource, AsyncAPIResource
@@ -179,6 +179,7 @@ def create(
179179
and extra_headers.get(ARK_E2E_ENCRYPTION_HEADER, None) == "true"
180180
):
181181
is_encrypt = True
182+
messages = deepcopy_minimal(messages)
182183
e2e_key, e2e_nonce = self._encrypt(model, messages, extra_headers)
183184

184185
resp = self._post(
@@ -327,6 +328,7 @@ async def create(
327328
and extra_headers.get(ARK_E2E_ENCRYPTION_HEADER, None) == "true"
328329
):
329330
is_encrypt = True
331+
messages = deepcopy_minimal(messages)
330332
e2e_key, e2e_nonce = self._encrypt(model, messages, extra_headers)
331333

332334
resp = await self._post(

0 commit comments

Comments
 (0)