fix: передача user_id во все вызовы AI сервиса
Исправлено: при выполнении задач использовалась глобальная модель вместо привязанной к пользователю. Обновлены все handlers и services для передачи user_id в AI методы. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -172,6 +172,7 @@ async def generate_new_words_tasks(callback: CallbackQuery, state: FSMContext, u
|
||||
learning_lang=user.learning_language,
|
||||
translation_lang=translation_lang,
|
||||
exclude_words=exclude_words if exclude_words else None,
|
||||
user_id=user.id
|
||||
)
|
||||
|
||||
if not words:
|
||||
@@ -182,7 +183,7 @@ async def generate_new_words_tasks(callback: CallbackQuery, state: FSMContext, u
|
||||
# Преобразуем слова в задания нужного типа
|
||||
tasks = await create_tasks_from_words(
|
||||
words, task_type, lang, user.learning_language, translation_lang,
|
||||
level=level
|
||||
level=level, user_id=user.id
|
||||
)
|
||||
|
||||
await state.update_data(
|
||||
@@ -205,7 +206,8 @@ async def create_tasks_from_words(
|
||||
lang: str,
|
||||
learning_lang: str,
|
||||
translation_lang: str,
|
||||
level: str = None
|
||||
level: str = None,
|
||||
user_id: int = None
|
||||
) -> list:
|
||||
"""Создать задания из списка слов в зависимости от типа (оптимизировано - 1 запрос к AI)"""
|
||||
import random
|
||||
@@ -240,7 +242,8 @@ async def create_tasks_from_words(
|
||||
ai_results = await ai_service.generate_task_sentences_batch(
|
||||
ai_tasks,
|
||||
learning_lang=learning_lang,
|
||||
translation_lang=translation_lang
|
||||
translation_lang=translation_lang,
|
||||
user_id=user_id
|
||||
)
|
||||
|
||||
# Создаём маппинг: индекс в word_tasks -> результат AI
|
||||
@@ -401,7 +404,8 @@ async def process_answer(message: Message, state: FSMContext):
|
||||
check_result = await ai_service.check_answer(
|
||||
question=task['question'],
|
||||
correct_answer=task['correct_answer'],
|
||||
user_answer=user_answer
|
||||
user_answer=user_answer,
|
||||
user_id=user.id if user else None
|
||||
)
|
||||
|
||||
await checking_msg.delete()
|
||||
|
||||
Reference in New Issue
Block a user