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