enforce utf-8 encoding for provider response (#1973)

This commit is contained in:
Chenhe Gu 2024-01-09 14:22:05 +08:00 committed by GitHub
parent 126b4c332f
commit 344821ed35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -168,7 +168,8 @@ class OAIAPICompatLargeLanguageModel(_CommonOAI_API_Compat, LargeLanguageModel):
type=ParameterType.FLOAT, type=ParameterType.FLOAT,
default=float(credentials.get('temperature', 0.7)), default=float(credentials.get('temperature', 0.7)),
min=0, min=0,
max=2 max=2,
precision=2
), ),
ParameterRule( ParameterRule(
name=DefaultParameterName.TOP_P.value, name=DefaultParameterName.TOP_P.value,
@ -176,7 +177,8 @@ class OAIAPICompatLargeLanguageModel(_CommonOAI_API_Compat, LargeLanguageModel):
type=ParameterType.FLOAT, type=ParameterType.FLOAT,
default=float(credentials.get('top_p', 1)), default=float(credentials.get('top_p', 1)),
min=0, min=0,
max=1 max=1,
precision=2
), ),
ParameterRule( ParameterRule(
name="top_k", name="top_k",
@ -246,7 +248,8 @@ class OAIAPICompatLargeLanguageModel(_CommonOAI_API_Compat, LargeLanguageModel):
:return: full response or stream response chunk generator result :return: full response or stream response chunk generator result
""" """
headers = { headers = {
'Content-Type': 'application/json' 'Content-Type': 'application/json',
'Accept-Charset': 'utf-8',
} }
api_key = credentials.get('api_key') api_key = credentials.get('api_key')
@ -298,6 +301,9 @@ class OAIAPICompatLargeLanguageModel(_CommonOAI_API_Compat, LargeLanguageModel):
stream=stream stream=stream
) )
if response.encoding is None or response.encoding == 'ISO-8859-1':
response.encoding = 'utf-8'
if response.status_code != 200: if response.status_code != 200:
raise InvokeError(f"API request failed with status code {response.status_code}: {response.text}") raise InvokeError(f"API request failed with status code {response.status_code}: {response.text}")