mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-07 20:15:40 +00:00
baidu qianfan AiMessage with usage_metadata (#24288)
add usage_metadata to qianfan AIMessage. Thanks
This commit is contained in:
parent
d83164f837
commit
69b1603173
@ -32,6 +32,7 @@ from langchain_core.messages import (
|
|||||||
SystemMessage,
|
SystemMessage,
|
||||||
ToolMessage,
|
ToolMessage,
|
||||||
)
|
)
|
||||||
|
from langchain_core.messages.ai import UsageMetadata
|
||||||
from langchain_core.output_parsers.base import OutputParserLike
|
from langchain_core.output_parsers.base import OutputParserLike
|
||||||
from langchain_core.output_parsers.openai_tools import (
|
from langchain_core.output_parsers.openai_tools import (
|
||||||
JsonOutputKeyToolsParser,
|
JsonOutputKeyToolsParser,
|
||||||
@ -103,6 +104,17 @@ def _convert_dict_to_message(_dict: Mapping[str, Any]) -> AIMessage:
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if usage := additional_kwargs.get("usage", None):
|
||||||
|
return AIMessage(
|
||||||
|
content=content,
|
||||||
|
additional_kwargs=msg_additional_kwargs,
|
||||||
|
usage_metadata=UsageMetadata(
|
||||||
|
input_tokens=usage.prompt_tokens,
|
||||||
|
output_tokens=usage.completion_tokens,
|
||||||
|
total_tokens=usage.total_tokens,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
return AIMessage(
|
return AIMessage(
|
||||||
content=content,
|
content=content,
|
||||||
additional_kwargs=msg_additional_kwargs,
|
additional_kwargs=msg_additional_kwargs,
|
||||||
@ -579,6 +591,7 @@ class QianfanChatEndpoint(BaseChatModel):
|
|||||||
content=msg.content,
|
content=msg.content,
|
||||||
role="assistant",
|
role="assistant",
|
||||||
additional_kwargs=additional_kwargs,
|
additional_kwargs=additional_kwargs,
|
||||||
|
usage_metadata=msg.usage_metadata,
|
||||||
),
|
),
|
||||||
generation_info=msg.additional_kwargs,
|
generation_info=msg.additional_kwargs,
|
||||||
)
|
)
|
||||||
@ -606,6 +619,7 @@ class QianfanChatEndpoint(BaseChatModel):
|
|||||||
content=msg.content,
|
content=msg.content,
|
||||||
role="assistant",
|
role="assistant",
|
||||||
additional_kwargs=additional_kwargs,
|
additional_kwargs=additional_kwargs,
|
||||||
|
usage_metadata=msg.usage_metadata,
|
||||||
),
|
),
|
||||||
generation_info=msg.additional_kwargs,
|
generation_info=msg.additional_kwargs,
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user