05-Qwen3的嵌入模型和langchain的整合
【代码】Qwen3的嵌入模型和langchain的整合。
·
由于目前Langchain还无法实现直接调用Qwen3-Embedding模型 ,所以仿造huggingface.py中的HuggingFaceEmbeddings(BaseModel, Embeddings)函数,自定义实现 LangChain 标准的 Embeddings 接口,将通义千问的 Qwen3-Embedding 模型(Qwen/Qwen3-Embedding-0.6B)整合到 LangChain 生态中,让该模型可以直接用于 LangChain 的向量数据库、检索增强(RAG)等场景。
from langchain_core.embeddings import Embeddings
from sentence_transformers import SentenceTransformer
class CustomQwen3Embeddings(Embeddings):
'''
定义一个Qwen3的Embedding和lang'chain整合的类
'''
def __init__(self,model_name):
self.qwen3_embedding = SentenceTransformer(model_name)
#输入的问题向量化
def embed_query(self, text: str) -> list[float]:
return self.embed_documents([text])[0]
#文本内容向量化
def embed_documents(self, texts: list[str]) -> list[list[float]]:
return self.qwen3_embedding.encode(texts)
if __name__ == '__main__':
qwen3=CustomQwen3Embeddings('Qwen/Qwen3-Embedding-0.6B')
resp=qwen3.embed_documents(
['I like large language models', '今天的天气不错!']
)
print(resp[0])
print(len(resp[0]))
输出:

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)