update
Browse files
app.py
CHANGED
|
@@ -22,17 +22,21 @@ app = FastAPI()
|
|
| 22 |
|
| 23 |
# 加载重排序模型(初始化时加载,避免每次请求重复加载)
|
| 24 |
try:
|
| 25 |
-
model = CrossEncoder(
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
except Exception as e:
|
| 28 |
-
logger.critical(f"Model
|
| 29 |
-
raise RuntimeError("
|
| 30 |
|
| 31 |
# 请求体模型
|
| 32 |
class RerankRequest(BaseModel):
|
| 33 |
-
query: str = Field(..., min_length=1, max_length=8192
|
| 34 |
-
documents: List[str] = Field(..., min_items=1
|
| 35 |
-
top_k: int = Field(None, ge=1, le=100
|
| 36 |
|
| 37 |
# 响应模型
|
| 38 |
class RerankResult(BaseModel):
|
|
|
|
| 22 |
|
| 23 |
# 加载重排序模型(初始化时加载,避免每次请求重复加载)
|
| 24 |
try:
|
| 25 |
+
model = CrossEncoder(
|
| 26 |
+
"BAAI/bge-reranker-large",
|
| 27 |
+
tokenizer_args={"truncation": True}, # 在初始化时设置截断
|
| 28 |
+
max_length=512 # 可选:限制最大长度
|
| 29 |
+
)
|
| 30 |
+
logger.info("Model loaded with truncation support")
|
| 31 |
except Exception as e:
|
| 32 |
+
logger.critical(f"Model load failed: {str(e)}")
|
| 33 |
+
raise RuntimeError("Model initialization error")
|
| 34 |
|
| 35 |
# 请求体模型
|
| 36 |
class RerankRequest(BaseModel):
|
| 37 |
+
query: str = Field(..., min_length=1, max_length=8192)
|
| 38 |
+
documents: List[str] = Field(..., min_items=1)
|
| 39 |
+
top_k: int = Field(None, ge=1, le=100)
|
| 40 |
|
| 41 |
# 响应模型
|
| 42 |
class RerankResult(BaseModel):
|