mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-14 06:05:51 +08:00
fix: wenxin error not raise when stream mode (#884)
This commit is contained in:
parent
a58f95fa91
commit
c4d759dfba
14
api/core/third_party/langchain/llms/wenxin.py
vendored
14
api/core/third_party/langchain/llms/wenxin.py
vendored
@ -3,6 +3,7 @@ from __future__ import annotations
|
||||
|
||||
import json
|
||||
import logging
|
||||
from json import JSONDecodeError
|
||||
from typing import (
|
||||
Any,
|
||||
Dict,
|
||||
@ -223,6 +224,8 @@ class Wenxin(LLM):
|
||||
for token in self._client.post(request).iter_lines():
|
||||
if token:
|
||||
token = token.decode("utf-8")
|
||||
|
||||
if token.startswith('data:'):
|
||||
completion = json.loads(token[5:])
|
||||
|
||||
yield GenerationChunk(text=completion['result'])
|
||||
@ -231,3 +234,14 @@ class Wenxin(LLM):
|
||||
|
||||
if completion['is_end']:
|
||||
break
|
||||
else:
|
||||
try:
|
||||
json_response = json.loads(token)
|
||||
except JSONDecodeError:
|
||||
raise ValueError(f"Wenxin Response Error {token}")
|
||||
|
||||
raise ValueError(
|
||||
f"Wenxin API {json_response['error_code']}"
|
||||
f" error: {json_response['error_msg']}, "
|
||||
f"please confirm if the model you have chosen is already paid for."
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user