Improve agent reliability and token efficiency
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import logging
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
@@ -5,6 +6,9 @@ from .ai import AIClientError
|
||||
from .speech import SpeechRecognitionError
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class YandexAIError(AIClientError):
|
||||
pass
|
||||
|
||||
@@ -114,6 +118,20 @@ class YandexAIClient:
|
||||
if json_mode:
|
||||
completion = completion.configure(response_format="json")
|
||||
result = await completion.run(sdk_messages, timeout=180)
|
||||
usage = getattr(result, "usage", None)
|
||||
if usage is not None:
|
||||
logger.info(
|
||||
"AI usage provider=yandex model=%s input_tokens=%s "
|
||||
"output_tokens=%s total_tokens=%s",
|
||||
self.normalize_model(model),
|
||||
getattr(
|
||||
usage,
|
||||
"prompt_tokens",
|
||||
getattr(usage, "input_text_tokens", None),
|
||||
),
|
||||
getattr(usage, "completion_tokens", None),
|
||||
getattr(usage, "total_tokens", None),
|
||||
)
|
||||
content = getattr(result, "text", None)
|
||||
if content is None:
|
||||
content = getattr(result[0], "text", None)
|
||||
|
||||
Reference in New Issue
Block a user