Improve agent reliability and token efficiency
Some checks failed
quality / test (3.10) (push) Has been cancelled
quality / test (3.12) (push) Has been cancelled

This commit is contained in:
kandrusyak
2026-07-27 19:20:48 +03:00
parent 701cdd35d2
commit d1c1ef68d3
9 changed files with 1023 additions and 173 deletions

View File

@@ -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)