#!/usr/bin/env python3 """ text_embedding 简单使用示例(基于 similarities 库) """ from lib.text_embedding import compare_phrases, similarity, encode, SentenceModel def main(): print("=" * 60) print("text_embedding 使用示例(基于 similarities 向量模型)") print("=" * 60) print() # ========== 示例 1: compare_phrases(推荐,兼容 semantic_similarity)========== print("示例 1: compare_phrases() - 兼容 semantic_similarity.py") print("-" * 60) result = compare_phrases("如何更换花呗绑定银行卡", "花呗更改绑定银行卡") print(f"短语A: 如何更换花呗绑定银行卡") print(f"短语B: 花呗更改绑定银行卡") print(f"\n返回结果:") print(f" 相似度: {result['相似度']:.3f}") print(f" 说明: {result['说明']}") print() # ========== 示例 2: 直接获取相似度分数 ========== print("示例 2: similarity() - 直接获取相似度分数") print("-" * 60) score = similarity("深度学习", "神经网络") print(f"深度学习 vs 神经网络") print(f"相似度: {score:.3f}") print() # ========== 示例 3: 文本向量化 ========== print("示例 3: encode() - 文本向量化") print("-" * 60) embedding = encode("人工智能很有趣") print(f"文本: 人工智能很有趣") print(f"向量维度: {embedding.shape}") print(f"向量前5个值: {embedding[:5]}") print() # ========== 示例 4: 批量处理 ========== print("示例 4: 批量文本处理") print("-" * 60) texts = ["深度学习", "机器学习", "人工智能"] embeddings = encode(texts) print(f"批量转换 {len(texts)} 个文本:") for i, (text, emb) in enumerate(zip(texts, embeddings), 1): print(f" {i}. {text} -> {emb.shape}") print() # ========== 示例 5: 使用 SentenceModel 类 ========== print("示例 5: SentenceModel 类") print("-" * 60) model = SentenceModel() # 相似度 score = model.similarity("Python编程", "程序设计") print(f"相似度: {score:.3f}") # 完整结果 result = model.compare_phrases("机器学习", "人工智能") print(f"完整结果: {result}") print() print("=" * 60) print("示例完成!") print("=" * 60) print() print("核心要点:") print(" ✅ 使用真正的向量模型(不是 LLM)") print(" ✅ 返回格式与 semantic_similarity.py 兼容") print(" ✅ 默认算分: 基于向量的余弦相似度") print(" ✅ 速度快,成本低") print() if __name__ == "__main__": main()