shibing624/text2vec-base-chinese中文语义向量模型使用指南
2026/7/25 17:57:48 网站建设 项目流程

shibing624/text2vec-base-chinese中文语义向量模型使用指南

【免费下载链接】text2vec-base-chinese项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/text2vec-base-chinese

模型简介

shibing624/text2vec-base-chinese是一个基于CoSENT方法训练的中文句子嵌入模型,能够将句子映射到768维的密集向量空间,适用于句子嵌入、文本匹配和语义搜索等任务。

环境配置

使用该模型前需要安装必要的Python库:

pip install -U text2vec transformers sentence-transformers

基础使用方法

使用text2vec库

from text2vec import SentenceModel # 加载模型 model = SentenceModel('shibing624/text2vec-base-chinese') # 输入句子 sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡'] # 获取句子嵌入 embeddings = model.encode(sentences) # 打印句子嵌入 print(embeddings)

使用HuggingFace Transformers

from transformers import BertTokenizer, BertModel import torch # 均值池化函数 def mean_pooling(model_output, attention_mask): token_embeddings = model_output[0] input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float() return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9) # 加载模型和分词器 tokenizer = BertTokenizer.from_pretrained('shibing624/text2vec-base-chinese') model = BertModel.from_pretrained('shibing624/text2vec-base-chinese') sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡'] # 分词处理 encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') # 计算嵌入向量 with torch.no_grad(): model_output = model(**encoded_input) sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask']) print("Sentence embeddings:") print(sentence_embeddings)

使用sentence-transformers

from sentence_transformers import SentenceTransformer model = SentenceTransformer("shibing624/text2vec-base-chinese") sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡'] sentence_embeddings = model.encode(sentences) print("Sentence embeddings:") print(sentence_embeddings)

性能优化版本

ONNX优化版本(GPU加速)

from sentence_transformers import SentenceTransformer model = SentenceTransformer( "shibing624/text2vec-base-chinese", backend="onnx", model_kwargs={"file_name": "model_O4.onnx"}, ) embeddings = model.encode(["如何更换花呗绑定银行卡", "花呗更改绑定银行卡", "你是谁"]) print(embeddings.shape)

OpenVINO版本(CPU加速)

from sentence_transformers import SentenceTransformer model = SentenceTransformer( "shibing624/text2vec-base-chinese", backend="openvino", ) embeddings = model.encode(["如何更换花呗绑定银行卡", "花呗更改绑定银行卡", "你是谁"]) print(embeddings.shape)

INT8量化版本(CPU极致加速)

from sentence_transformers import SentenceTransformer model = SentenceTransformer( "shibing624/text2vec-base-chinese", backend="onnx", model_kwargs={"file_name": "model_qint8_avx512_vnni.onnx"}, ) embeddings = model.encode(["如何更换花呗绑定银行卡", "花呗更改绑定银行卡", "你是谁"]) print(embeddings.shape)

模型架构

该模型基于以下架构构建:

  • Transformer编码器:基于hfl/chinese-macbert-base预训练模型
  • 池化层:均值池化,输出768维句子向量
  • 最大序列长度:128个token

训练细节

模型在中文自然语言推理数据集shibing624/nli_zh上使用CoSENT方法进行微调,关键训练参数包括:

  • 训练数据集:shibing624/nli_zh
  • 最大序列长度:128
  • 最佳训练轮数:5
  • 句子嵌入维度:768

应用场景

  • 文本相似度计算
  • 语义搜索系统
  • 文档聚类分析
  • 智能问答匹配
  • 信息检索任务

注意事项

  • 输入文本长度超过256个字符会被自动截断
  • 对于不同的硬件环境,可以选择合适的优化版本以获得最佳性能
  • 模型支持中文文本处理,在语义匹配任务中表现优异

性能表现

该模型在多个中文文本匹配基准测试中均表现出色,包括ATEC、BQ、LCQMC、PAWSX、STS-B等数据集,平均性能指标达到51.61。

通过本指南,您可以快速上手使用shibing624/text2vec-base-chinese模型,在实际项目中实现中文文本的语义向量表示。

【免费下载链接】text2vec-base-chinese项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/text2vec-base-chinese

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询