|
1 | 1 | try: |
2 | | - import langchain |
| 2 | + import langchain # noqa: F401 |
3 | 3 | except ImportError: |
4 | 4 | raise ModuleNotFoundError("Please install LangChain to use this feature: 'pip install langchain'") |
5 | 5 |
|
@@ -375,20 +375,19 @@ def _parse_usage(response: LLMResult): |
375 | 375 | message_chunk = getattr(generation_chunk, "message", {}) |
376 | 376 | response_metadata = getattr(message_chunk, "response_metadata", {}) |
377 | 377 |
|
378 | | - chunk_usage = ( |
379 | | - ( |
380 | | - response_metadata.get("usage", None) # for Bedrock-Anthropic |
381 | | - if isinstance(response_metadata, dict) |
382 | | - else None |
383 | | - ) |
384 | | - or ( |
385 | | - response_metadata.get("amazon-bedrock-invocationMetrics", None) # for Bedrock-Titan |
386 | | - if isinstance(response_metadata, dict) |
387 | | - else None |
388 | | - ) |
389 | | - or getattr(message_chunk, "usage_metadata", None) # for Ollama |
| 378 | + bedrock_anthropic_usage = ( |
| 379 | + response_metadata.get("usage", None) # for Bedrock-Anthropic |
| 380 | + if isinstance(response_metadata, dict) |
| 381 | + else None |
390 | 382 | ) |
| 383 | + bedrock_titan_usage = ( |
| 384 | + response_metadata.get("amazon-bedrock-invocationMetrics", None) # for Bedrock-Titan |
| 385 | + if isinstance(response_metadata, dict) |
| 386 | + else None |
| 387 | + ) |
| 388 | + ollama_usage = getattr(message_chunk, "usage_metadata", None) # for Ollama |
391 | 389 |
|
| 390 | + chunk_usage = bedrock_anthropic_usage or bedrock_titan_usage or ollama_usage |
392 | 391 | if chunk_usage: |
393 | 392 | llm_usage = _parse_usage_model(chunk_usage) |
394 | 393 | break |
|
0 commit comments