mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-21 14:18:52 +00:00
community: tongyi multimodal response format fix to support langchain (#28645)
Description: The multimodal(tongyi) response format "message": {"role": "assistant", "content": [{"text": "图像"}]}}]} is not compatible with LangChain. Dependencies: No --------- Co-authored-by: Erick Friis <erick@langchain.dev>
This commit is contained in:
parent
d0e662e43b
commit
3048a9a26d
@ -547,6 +547,19 @@ class ChatTongyi(BaseChatModel):
|
|||||||
if _kwargs.get("stream") and not _kwargs.get(
|
if _kwargs.get("stream") and not _kwargs.get(
|
||||||
"incremental_output", False
|
"incremental_output", False
|
||||||
):
|
):
|
||||||
|
# inline fix response text logic
|
||||||
|
resp_copy = json.loads(json.dumps(resp))
|
||||||
|
if resp_copy.get("output") and resp_copy["output"].get("choices"):
|
||||||
|
choice = resp_copy["output"]["choices"][0]
|
||||||
|
message = choice["message"]
|
||||||
|
if isinstance(message.get("content"), list):
|
||||||
|
content_text = "".join(
|
||||||
|
item.get("text", "")
|
||||||
|
for item in message["content"]
|
||||||
|
if isinstance(item, dict)
|
||||||
|
)
|
||||||
|
message["content"] = content_text
|
||||||
|
resp = resp_copy
|
||||||
if prev_resp is None:
|
if prev_resp is None:
|
||||||
delta_resp = resp
|
delta_resp = resp
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user