| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #!/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()
|