mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-06 13:33:37 +00:00
community[patch]: propagate cost information to OpenAI callback (#23996)
This is enabled following https://github.com/langchain-ai/langchain/pull/22716.
This commit is contained in:
@@ -223,19 +223,23 @@ class OpenAICallbackHandler(BaseCallbackHandler):
|
||||
message = generation.message
|
||||
if isinstance(message, AIMessage):
|
||||
usage_metadata = message.usage_metadata
|
||||
response_metadata = message.response_metadata
|
||||
else:
|
||||
usage_metadata = None
|
||||
response_metadata = None
|
||||
except AttributeError:
|
||||
usage_metadata = None
|
||||
response_metadata = None
|
||||
else:
|
||||
usage_metadata = None
|
||||
response_metadata = None
|
||||
if usage_metadata:
|
||||
token_usage = {"total_tokens": usage_metadata["total_tokens"]}
|
||||
completion_tokens = usage_metadata["output_tokens"]
|
||||
prompt_tokens = usage_metadata["input_tokens"]
|
||||
if response.llm_output is None:
|
||||
# model name (and therefore cost) is unavailable in
|
||||
# streaming responses
|
||||
if response_model_name := (response_metadata or {}).get("model_name"):
|
||||
model_name = standardize_model_name(response_model_name)
|
||||
elif response.llm_output is None:
|
||||
model_name = ""
|
||||
else:
|
||||
model_name = standardize_model_name(
|
||||
|
Reference in New Issue
Block a user