本文介绍如何在 Qualcomm AI 平台上部署 BAAI/bge-large-en-v1.5 文本嵌入模型并使用 genie-t2e-run 工具进行推理测试。1. 环境准备首先激活 Python 虚拟环境sourceqairt_pytorch/bin/activate2. 下载模型使用 ModelScope 下载 BGE-Large 模型modelscope download--modelBAAI/bge-large-en-v1.5--local_dirbge-large-en-v1.53. 模型转换使用 Qualcomm 提供的转换工具将模型转换为平台可用的格式qnn-genai-transformer-composer--outfilemodel.bin--modelbge-large-en-v1.54. 配置文件创建配置文件bge-large-genaitransformer.json{embedding:{version:1,context:{version:1,n-vocab:30522,ctx-size:512,embed-size:1024,pad-token:0},prompt:{version:1,prompt-template:[[CLS],[SEP]]},tokenizer:{version:1,path:bge-large-en-v1.5/tokenizer.json},truncate-input:true,engine:{version:1,n-threads:10,backend:{version:1,type:QnnGenAiTransformer,QnnGenAiTransformer:{version:1}},model:{version:1,type:library,library:{version:1,model-bin:model.bin}}}}}配置说明embed-size: 1024对应 BGE-Large 模型的隐藏层维度ctx-size: 512最大序列长度n-vocab: 30522词汇表大小pad-token: 0填充标记 ID5. 运行推理使用 genie-t2e-run 工具进行文本嵌入genie-t2e-run-cbge-large-genaitransformer.json-pWhat is deep learning?6. 输出解析运行后会生成两个文件output.raw7168 个 float 值的二进制文件7×1024embeddingInfo.json包含张量信息的 JSON 文件{Rank:2,Dimensions:[7,1024],Size:7168}输出说明输入文本What is deep learning?经过分词和添加特殊标记后[CLS] What is deep learning ? [SEP] 1 2 3 4 5 6 7序列长度7 个 token隐藏层维度1024输出张量形状[7, 1024]总元素数7 × 1024 7168重要提示genie-t2e-run 输出的是所有 token 的完整 embedding 张量而不仅仅是句子向量如 [CLS] 标记的向量。这是因为底层回调函数embeddingCallback直接保存了GenieEmbedding_generate返回的完整 buffer。7. 注意事项模型兼容性确保使用的 BGE-Large 模型版本与 Qualcomm AI 平台兼容内存需求BGE-Large 模型较大请确保设备有足够内存性能调优可通过调整n-threads参数优化推理速度序列长度输入文本长度不应超过ctx-size限制5128. 扩展应用此部署方案可用于文档检索系统语义相似度计算文本分类特征提取问答系统增强如需获取句子级向量建议对输出张量进行池化操作如取 [CLS] 标记的向量或均值池化。