feat: 重大功能更新 v1.4.0 - 飞书集成、AI语义相似度、前端优化
主要更新内容: - 🚀 飞书多维表格集成,支持工单数据同步 - 🤖 AI建议与人工描述语义相似度计算 - 🎨 前端UI全面优化,现代化设计 - 📊 智能知识库入库策略(AI准确率<90%使用人工描述) - 🔧 代码重构,模块化架构优化 - 📚 完整文档整合和更新 - 🐛 修复配置导入和数据库字段问题 技术特性: - 使用sentence-transformers进行语义相似度计算 - 快速模式结合TF-IDF和语义方法 - 响应式设计,支持移动端 - 加载状态和动画效果 - 配置化AI准确率阈值
This commit is contained in:
@@ -76,18 +76,24 @@ def extract_keywords(text: str, max_keywords: int = 10) -> List[str]:
|
||||
return [word for word, count in sorted_words[:max_keywords]]
|
||||
|
||||
def calculate_similarity(text1: str, text2: str) -> float:
|
||||
"""计算文本相似度"""
|
||||
from sklearn.feature_extraction.text import TfidfVectorizer
|
||||
from sklearn.metrics.pairwise import cosine_similarity
|
||||
|
||||
"""计算文本相似度(使用语义相似度)"""
|
||||
try:
|
||||
vectorizer = TfidfVectorizer()
|
||||
vectors = vectorizer.fit_transform([text1, text2])
|
||||
similarity = cosine_similarity(vectors[0:1], vectors[1:2])[0][0]
|
||||
return float(similarity)
|
||||
from src.utils.semantic_similarity import calculate_semantic_similarity
|
||||
return calculate_semantic_similarity(text1, text2)
|
||||
except Exception as e:
|
||||
logging.error(f"计算相似度失败: {e}")
|
||||
return 0.0
|
||||
logging.error(f"计算语义相似度失败: {e}")
|
||||
# 回退到传统方法
|
||||
try:
|
||||
from sklearn.feature_extraction.text import TfidfVectorizer
|
||||
from sklearn.metrics.pairwise import cosine_similarity
|
||||
|
||||
vectorizer = TfidfVectorizer()
|
||||
vectors = vectorizer.fit_transform([text1, text2])
|
||||
similarity = cosine_similarity(vectors[0:1], vectors[1:2])[0][0]
|
||||
return float(similarity)
|
||||
except Exception as e2:
|
||||
logging.error(f"计算TF-IDF相似度失败: {e2}")
|
||||
return 0.0
|
||||
|
||||
def format_time_duration(seconds: float) -> str:
|
||||
"""格式化时间持续时间"""
|
||||
|
||||
Reference in New Issue
Block a user