BAAI/bge-reranker-v2-minicpm-layerwise

This commit is contained in:
zhaochang
2024-11-17 20:11:51 +08:00
parent 2325c58092
commit 5b83c844a1
2 changed files with 18 additions and 3 deletions

View File

@@ -36,8 +36,16 @@ namespace AntSK.Domain.Domain.Other.Bge
dynamic flagEmbedding = Py.Import("FlagEmbedding");
dynamic model_dir = modelscope.snapshot_download(modelName, revision: "master");
dynamic flagReranker = flagEmbedding.FlagReranker(model_dir, use_fp16: false);
model = flagReranker;
if (modelName == "BAAI/bge-reranker-v2-minicpm-layerwise")
{
dynamic flagReranker = flagEmbedding.LayerWiseFlagLLMReranker(model_dir, use_fp16: true);
model = flagReranker;
}
else
{
dynamic flagReranker = flagEmbedding.FlagReranker(model_dir, use_fp16: true);
model = flagReranker;
}
return model;
}
}
@@ -66,6 +74,13 @@ namespace AntSK.Domain.Domain.Other.Bge
pyList.Append(item.ToPython()); // 将C# string转换为Python对象并添加到PyList中
}
PyObject result = model.compute_score(pyList, normalize: true);
//BAAI/bge-reranker-v2-minicpm-layerwise
// https://www.modelscope.cn/models/AI-ModelScope/bge-reranker-v2-m3
PyList cutoffLayers = new PyList();
cutoffLayers.Append(new PyInt(8));
dynamic scores = model.compute_score(pyList, cutoff_layers: cutoffLayers);
return result.ConvertToDouble();
}
catch (Exception ex)

View File

@@ -65,7 +65,7 @@ namespace AntSK.Pages.Setting.AIModel
private bool _logModalVisible;
private List<string> bgeEmbeddingList = new List<string>() { "AI-ModelScope/bge-small-zh-v1.5", "AI-ModelScope/bge-base-zh-v1.5", "AI-ModelScope/bge-large-zh-v1.5" };
private List<string> bgeRerankList = new List<string>() { "Xorbits/bge-reranker-base", "Xorbits/bge-reranker-large", "AI-ModelScope/bge-reranker-v2-m3", "AI-ModelScope/bge-reranker-v2-gemma" };
private List<string> bgeRerankList = new List<string>() { "Xorbits/bge-reranker-base", "Xorbits/bge-reranker-large", "AI-ModelScope/bge-reranker-v2-m3", "AI-ModelScope/bge-reranker-v2-gemma", "BAAI/bge-reranker-v2-minicpm-layerwise" };
private bool BgeEmbeddingIsStart = false;
private string BgeEmbeddingBtnText = "初始化";