chmielvu commited on
Commit
0826006
·
verified ·
1 Parent(s): 5fc354b

Allow extra request fields like api_key

Browse files
Files changed (2) hide show
  1. __pycache__/app.cpython-312.pyc +0 -0
  2. app.py +8 -4
__pycache__/app.cpython-312.pyc ADDED
Binary file (20.8 kB). View file
 
app.py CHANGED
@@ -13,7 +13,7 @@ import torch.nn.functional as F
13
  from fastapi import FastAPI, HTTPException
14
  from fastapi.responses import PlainTextResponse
15
  from PIL import Image
16
- from pydantic import BaseModel, Field
17
  from sentence_transformers import SentenceTransformer
18
  from transformers import AutoModelForCausalLM, AutoModelForSequenceClassification, AutoTokenizer
19
 
@@ -62,7 +62,11 @@ _loaded_kind: str | None = None
62
  _loaded_bundle: dict[str, Any] = {}
63
 
64
 
65
- class EmbeddingRequest(BaseModel):
 
 
 
 
66
  input: str | list[str]
67
  model: str = DEFAULT_MODEL
68
  encoding_format: Literal["float", "base64"] = "float"
@@ -71,7 +75,7 @@ class EmbeddingRequest(BaseModel):
71
  modality: Literal["text", "image"] = "text"
72
 
73
 
74
- class RerankRequest(BaseModel):
75
  query: str = Field(..., max_length=122880)
76
  documents: list[str] = Field(..., min_length=1, max_length=2048)
77
  return_documents: bool = False
@@ -80,7 +84,7 @@ class RerankRequest(BaseModel):
80
  top_n: int | None = None
81
 
82
 
83
- class ClassifyRequest(BaseModel):
84
  input: list[str] = Field(..., min_length=1, max_length=2048)
85
  model: str = DEFAULT_MODEL
86
  raw_scores: bool = False
 
13
  from fastapi import FastAPI, HTTPException
14
  from fastapi.responses import PlainTextResponse
15
  from PIL import Image
16
+ from pydantic import BaseModel, ConfigDict, Field
17
  from sentence_transformers import SentenceTransformer
18
  from transformers import AutoModelForCausalLM, AutoModelForSequenceClassification, AutoTokenizer
19
 
 
62
  _loaded_bundle: dict[str, Any] = {}
63
 
64
 
65
+ class CompatibleRequest(BaseModel):
66
+ model_config = ConfigDict(extra="allow")
67
+
68
+
69
+ class EmbeddingRequest(CompatibleRequest):
70
  input: str | list[str]
71
  model: str = DEFAULT_MODEL
72
  encoding_format: Literal["float", "base64"] = "float"
 
75
  modality: Literal["text", "image"] = "text"
76
 
77
 
78
+ class RerankRequest(CompatibleRequest):
79
  query: str = Field(..., max_length=122880)
80
  documents: list[str] = Field(..., min_length=1, max_length=2048)
81
  return_documents: bool = False
 
84
  top_n: int | None = None
85
 
86
 
87
+ class ClassifyRequest(CompatibleRequest):
88
  input: list[str] = Field(..., min_length=1, max_length=2048)
89
  model: str = DEFAULT_MODEL
90
  raw_scores: bool = False