由于目前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]))

        输出:

Logo

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

更多推荐