Skip to content

Commit

Permalink
Concurrent calls to the Wenxin model, and the exception problem when …
Browse files Browse the repository at this point in the history
…obtaining the token is fixed (langgenius#7976)

Co-authored-by: puqs1 <[email protected]>
  • Loading branch information
2 people authored and ProseGuys committed Sep 5, 2024
1 parent bdb6058 commit b341bd5
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions api/core/model_runtime/model_providers/wenxin/_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,13 @@ def get_access_token(api_key: str, secret_key: str) -> 'BaiduAccessToken':
# if access token not in cache, request it
token = BaiduAccessToken(api_key)
baidu_access_tokens[api_key] = token
# release it to enhance performance
# btw, _get_access_token will raise exception if failed, release lock here to avoid deadlock
baidu_access_tokens_lock.release()
# try to get access token
token_str = BaiduAccessToken._get_access_token(api_key, secret_key)
try:
# try to get access token
token_str = BaiduAccessToken._get_access_token(api_key, secret_key)
finally:
# release it to enhance performance
# btw, _get_access_token will raise exception if failed, release lock here to avoid deadlock
baidu_access_tokens_lock.release()
token.access_token = token_str
token.expires = now + timedelta(days=3)
return token
Expand Down

0 comments on commit b341bd5

Please sign in to comment.