【AI】Langchain框架学习07

文本向量化

可以使用百炼的text-embedding-v1(2|3)模型

# 安装阿里云百炼的客户端依赖
pip install -q langchain_community
pip install -q dashscope
import os
from config.load_key import load_key
if not os.environ.get("DASHSCOPE_API_KEY"):
    os.environ[ "DASHSCOPE_API_KEY"] = load_key("BAILIAN API_KEY")
from langchain_community.embeddings import DashScopeEmbeddings
embedding_moded = DashScopeEmbeddings(model="text-embedding-v1")
text = "This is a test query."
query_result = embedding_model.embed_query(text)
print(query_result) # 打印向量结果
print(len(query_result)) # 打印向量维度
  • 计算文本向量的余弦相似度,判断句子语义化的相似性
# 安装skLearn依赖
pip install -q numpy
pip install -q scikit-learn
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np

# 定义两个文本
text1 = "我喜欢吃苹果"
text2 = "我最爱吃的水果是苹果"
text3 ="今天天气不错"

# 获取文本向量
vector1 = np.array(embedding_model.embed_query(text1)).reshape(1, -1)
vector2 = np.array(embedding_model.embed_query(text2)).reshape(1, -1)
vector3 = np.array(embedding model.embed_query(text3)).reshape(1, -1)

# 计算余弦相似度
similarity12 = cosine_similarity(vector1, vector2)[0][0]
similarity13 = cosine_similarity(vector1, vector3)[0][0]

# 余弦相似度得分越高,两句话越相似
print(f"\"{text1}\" 与 \"{text2}\"相似度:{similarity12:.4f}")
print(f"\"{text1}\" 与 \"{text3}\"相似度:{similarity13:.4f}")
posted @ 2026-07-22 22:24  leah-xx  阅读(11)  评论(0)    收藏  举报