@@ -92,6 +92,7 @@ def format_embedding_error(
92
92
service_name : str ,
93
93
model : str | None ,
94
94
provider : EmbeddingProvider ,
95
+ sanitized_api_key : str | None = None ,
95
96
status_code : int | None = None ,
96
97
) -> str :
97
98
"""
@@ -103,6 +104,7 @@ def format_embedding_error(
103
104
f"{ 'HTTP error' if status_code else 'Exception' } embedding text with { service_name } - { detail } : "
104
105
f"Model: { model } "
105
106
f"Provider: { provider } "
107
+ f"API Key: { sanitized_api_key } "
106
108
f"Exception: { error } "
107
109
)
108
110
@@ -133,6 +135,7 @@ def __init__(
133
135
self .timeout = timeout
134
136
self .http_client = httpx .AsyncClient (timeout = timeout )
135
137
self ._closed = False
138
+ self .sanitized_api_key = api_key [:4 ] + "********" + api_key [- 4 :]
136
139
137
140
async def _embed_openai (
138
141
self , texts : list [str ], model : str | None , reduced_dimension : int | None
@@ -306,6 +309,7 @@ async def embed(
306
309
str (self .provider ),
307
310
model_name or deployment_name ,
308
311
self .provider ,
312
+ sanitized_api_key = self .sanitized_api_key ,
309
313
status_code = e .response .status_code ,
310
314
)
311
315
logger .error (error_string )
@@ -317,7 +321,11 @@ async def embed(
317
321
raise AuthenticationError (provider = str (self .provider ))
318
322
319
323
error_string = format_embedding_error (
320
- e , str (self .provider ), model_name or deployment_name , self .provider
324
+ e ,
325
+ str (self .provider ),
326
+ model_name or deployment_name ,
327
+ self .provider ,
328
+ sanitized_api_key = self .sanitized_api_key ,
321
329
)
322
330
logger .error (error_string )
323
331
logger .debug (f"Exception texts: { texts } " )
0 commit comments