HuggingFace镜像/ko-reranker
模型介绍文件和版本分析
下载使用量0

1、适配昇腾处理器:Ascend310、Ascend910系列 2、开发环境:Ascend-cann-toolkit_xxx、Ascend-cann-kernels-xxx(可选)、python3.8 3、下载代码:git clone https://modelers.cn/ShanXi/ko-reranker.git 4、安装依赖:pip install -r examples/requirements.txt 5、推理测试:python examples/inference.py 6、推理脚本:

import argparse
    import torch
    from openmind import pipeline, is_torch_npu_available
    from transformers import AutoModelForCausalLM,AutoModelForSequenceClassification, AutoTokenizer
    import numpy as np
    from openmind_hub import snapshot_download
    def parse_args():
        parser = argparse.ArgumentParser()
        parser.add_argument("--model_name_or_path",type=str,help="模型路径",default="./",)
        args = parser.parse_args()
        return args
    if is_torch_npu_available():
        device = "npu:0"
    else:
        device = "cpu"


    args = parse_args()
    if args.model_name_or_path:
        model_path = args.model_name_or_path
    else:
        model_path = snapshot_download('ShanXi/ko-reranker',revision='main',resume_donwload=True,ignore_patterns=['*.h5','*.ot','*.msgpack'])
    def exp_normalize(x):
        b = x.max()
        y = np.exp(x - b)
        return y / y.sum()

    tokenizer = AutoTokenizer.from_pretrained(model_path)
    model = AutoModelForSequenceClassification.from_pretrained(model_path)
    model.eval()

    pairs = [["나는 너를 싫어해", "나는 너를 사랑해"], ["나는 너를 좋아해", "너에 대한 나의 감정은 사랑 일 수도 있어"]]
    with torch.no_grad():
        inputs = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512)
    scores = model(**inputs, return_dict=True).logits.view(-1, ).float()
    scores = exp_normalize(scores.numpy())
    print (f'第一个: {scores[0]}, 第二个: {scores[1]}')