BGE-Meteo-zh-v2

面向中文气象领域 RAG 检索的领域自适应嵌入模型,基于 BAAI/bge-large-zh-v1.5 微调。

版本关系nmcsitian/bge-meteo-zh(未标版本号)为 v1;本仓库为 v2 全量重训版——训练语料 53→58 本、训练/评测划分全部重做(嵌套设计、ISBN 级零泄漏审计)、评测体系升级为 6 域留一交叉验证。v2 检索行为与 v1 有实质差异,建议在自有场景重新评测后切换。

训练配方

  • 框架:FlagEmbedding,InfoNCE 对比学习(温度 τ=0.02)
  • 数据:58 本气象专业书籍知识块合成 QA 共 8,012 条(每条 1 正例 + 7 困难负例)
  • 困难负例:BM25 top-30 挖掘,含防泄漏设计(排除全部正例及同文本别名块)
  • 超参:epochs=3,lr=1e-5,batch=4,train_group_size=8,BF16;query_max_len=128,passage_max_len=512
  • 训练/评测数据按书籍整本严格隔离(ISBN 级零泄漏,经全矩阵审计验证)

用法(重要)

本模型为 CLS pooling。本仓库已包含 sentence-transformers 配置(modules.json + 1_Pooling/),用 SentenceTransformer 直接加载即为正确行为;若手工用 transformers 加载,请务必取 CLS 向量而非 mean pooling,否则检索精度大幅下降。

查询端需加指令前缀,文档端不加;向量需归一化:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("nmcsitian/bge-meteo-zh-v2")
PREFIX = "为这个句子生成表示以用于检索相关文章:"

q_emb = model.encode([PREFIX + "副热带高压对华南降水有什么影响?"], normalize_embeddings=True)
d_emb = model.encode(["副热带高压边缘的暖湿气流……"], normalize_embeddings=True)
score = (q_emb @ d_emb.T)

评测(零泄漏留出集,n=884,4 本未参训气象应用书)

配置 R@1 R@5 R@10 MRR
bge-large-zh-v1.5(基座,单路向量) 0.4208 0.6787 0.7647 0.5321
本模型(单路向量) 0.6855 0.8744 0.9186 0.7657
BM25 单路 0.6787 0.8337 0.8676 0.7469
基座 + BM25 wRRF(0.5,1.0) 0.6640 0.8348 0.8801 0.7389
本模型 + BM25 wRRF(0.5,1.0) 0.7590 0.9118 0.9276 0.8229

适用边界(请务必阅读)

  • 微调收益随领域距离衰减:在气象邻近领域(区域预报、行业气象服务等)大幅优于基座;在更远领域(如新能源电力预测、金融保险文本)单路向量可能低于基座(负迁移)
  • 生产环境建议与 BM25 做加权 RRF 融合部署:融合可有效对冲远域/外部分布上的向量端劣势
  • 通用(非气象)检索任务请直接使用基座模型

引用

如在研究或产品中使用本模型,请引用本仓库:

@misc{bge-meteo-zh-v2,
  title  = {BGE-Meteo-zh-v2: Domain-Adaptive Chinese Meteorological Embedding},
  author = {nmcsitian},
  year   = {2026},
  url    = {https://huggingface.co/nmcsitian/bge-meteo-zh-v2}
}
Downloads last month
21
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for nmcsitian/bge-meteo-zh-v2

Finetuned
(11)
this model