将重排模型构建成可以API调用的服务
一、前言
1. 什么是重排模型
重排序模型(Re-ranking Model)是一种在初步筛选(检索)之后对候选结果进行二次排序的模型。在信息检索(IR)和自然语言处理(NLP)中,重排序是一个常见的过程,尤其在生成和检索相关任务中,主要用于提升最终结果的质量。
通常,重排序模型会基于某些特定的特征或算法对候选结果进行进一步的评估和排序。通过这个过程,模型能够将最相关的结果置于前面,从而提升检索结果的质量。
2. RAG为什么需要重排模型?
在 RAG(Retrieval-Augmented Generation) 中,重排序模型扮演着非常关键的角色。RAG 是一种结合了信息检索和生成的混合模型,它将从外部知识库(例如文本数据集)中检索到的文档与生成模型的能力结合在一起,从而增强了模型生成更准确、更具信息量的回答的能力。
二、构建过程
依赖安装和下载请参看向量模型的相关知识,这里我使用的模型是bce-reranker-base_v1。
import os
from typing import List
import uvicorn
from BCEmbedding import RerankerModel
from fastapi import FastAPI, Depends, HTTPException, status
from fastapi.security import HTTPBearer