Улучшены триггеры для RSS — более строгие условия (v0.5.3)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
5b52566f0e
commit
77397269e1
|
|
@ -44,13 +44,13 @@ class AIAgent:
|
||||||
'скачай', 'загрузи', 'найди информацию', 'посмотри в сети'
|
'скачай', 'загрузи', 'найди информацию', 'посмотри в сети'
|
||||||
]
|
]
|
||||||
|
|
||||||
# Триггеры для RSS
|
# Триггеры для RSS — ТОЛЬКО явные запросы новостей
|
||||||
RSS_TRIGGERS = [
|
RSS_TRIGGERS = [
|
||||||
'новости', 'rss', 'лента', 'feed', 'дайджест',
|
'почитай новости', 'покажи новости', 'что нового в linux',
|
||||||
'что нового в linux', 'новости it', 'tech news',
|
'новости it', 'tech news', 'opensource новости', 'linux новости',
|
||||||
'почитай новости', 'последние статьи', 'свежие новости',
|
'новости технологий', 'rss лента', 'дайджест новостей',
|
||||||
'новости технологий', 'opensource новости', 'linux новости',
|
'свежие новости it', 'последние новости it', 'новости linux',
|
||||||
'покажи новости', 'что в лентах', 'есть новые статьи'
|
'it новости', 'новости opensource', 'лента новостей'
|
||||||
]
|
]
|
||||||
|
|
||||||
# Триггеры для SSH-команд
|
# Триггеры для SSH-команд
|
||||||
|
|
@ -109,22 +109,13 @@ class AIAgent:
|
||||||
message_lower = message.lower()
|
message_lower = message.lower()
|
||||||
score = 0.0
|
score = 0.0
|
||||||
|
|
||||||
|
# Только прямые триггеры — высокий порог
|
||||||
for trigger in self.RSS_TRIGGERS:
|
for trigger in self.RSS_TRIGGERS:
|
||||||
if trigger in message_lower:
|
if trigger in message_lower:
|
||||||
return True, 0.9
|
return True, 0.95
|
||||||
|
|
||||||
# Если пользователь спрашивает про новости технологий
|
# Больше никаких контекстных подсказок — только явные запросы
|
||||||
tech_news = ['новости linux', 'it новости', 'tech news', 'opensource']
|
return False, score
|
||||||
for topic in tech_news:
|
|
||||||
if topic in message_lower:
|
|
||||||
score = max(score, 0.8)
|
|
||||||
|
|
||||||
# Контекстные подсказки
|
|
||||||
if any(word in message_lower for word in ['почитай', 'посмотри', 'покажи']) and \
|
|
||||||
any(word in message_lower for word in ['статьи', 'материалы', 'публикации']):
|
|
||||||
score = max(score, 0.75)
|
|
||||||
|
|
||||||
return score >= 0.75, score
|
|
||||||
|
|
||||||
def _should_use_ssh(self, message: str) -> tuple[bool, float]:
|
def _should_use_ssh(self, message: str) -> tuple[bool, float]:
|
||||||
"""Проверить, нужна ли SSH-команда."""
|
"""Проверить, нужна ли SSH-команда."""
|
||||||
|
|
@ -226,9 +217,9 @@ class AIAgent:
|
||||||
reasoning='Пользователю нужна информация из интернета'
|
reasoning='Пользователю нужна информация из интернета'
|
||||||
)
|
)
|
||||||
|
|
||||||
# 4. Проверка на RSS
|
# 4. Проверка на RSS — только явные запросы
|
||||||
should_rss, rss_conf = self._should_read_rss(message)
|
should_rss, rss_conf = self._should_read_rss(message)
|
||||||
if should_rss and rss_conf > 0.7:
|
if should_rss: # Порог уже проверен в _should_read_rss (0.95)
|
||||||
return AgentDecision(
|
return AgentDecision(
|
||||||
should_use_tool=True,
|
should_use_tool=True,
|
||||||
tool_name='rss_tool',
|
tool_name='rss_tool',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue