# agents/tools/similarity.py from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity def is_similar(text1, text2, threshold=0.85): """ Сравнивает два текста и возвращает True, если их сходство выше порога. :param text1: Первый текст :param text2: Второй текст :param threshold: Порог сходства (по умолчанию 0.85) :return: bool """ if not text1 or not text2: return False texts = [text1.strip(), text2.strip()] vectorizer = TfidfVectorizer().fit(texts) tfidf = vectorizer.transform(texts) similarity = cosine_similarity(tfidf[0], tfidf[1])[0][0] return similarity >= threshold