| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/usr/bin/env python3
- """
- text_embedding 基础使用示例
- """
- import asyncio
- from lib.text_embedding import encode, similarity
- async def main():
- print("=" * 60)
- print("示例1: 文本向量化")
- print("=" * 60)
- # 把文字变成数字向量
- text = "人工智能正在改变世界"
- vector = await encode(text, dim=128)
- print(f"文本: {text}")
- print(f"向量形状: {vector.shape}") # (128,) 表示128个数字
- print(f"向量前10个数字: {vector[:10]}")
- print()
- print("=" * 60)
- print("示例2: 批量转换多个文本")
- print("=" * 60)
- texts = [
- "深度学习很有趣",
- "机器学习很强大",
- "今天天气不错"
- ]
- vectors = await encode(texts, dim=128)
- for i, (text, vec) in enumerate(zip(texts, vectors)):
- print(f"{i+1}. {text} -> {vec.shape}")
- print()
- print("=" * 60)
- print("示例3: 计算相似度")
- print("=" * 60)
- # 方法1: AI直接判断(最准确)
- result = await similarity("深度学习", "神经网络", method="ai_direct")
- print(f"深度学习 vs 神经网络")
- print(f" 相似度: {result['similarity']:.3f}")
- print(f" 说明: {result.get('explanation', '')}")
- print()
- # 方法2: 基于向量计算
- result = await similarity("深度学习", "今天吃饭", method="cosine", dim=128)
- print(f"深度学习 vs 今天吃饭")
- print(f" 相似度: {result['similarity']:.3f}")
- print()
- if __name__ == "__main__":
- asyncio.run(main())
|