|
|
|
|
@ -3,6 +3,9 @@ from typing import List, Optional, Union, Dict, Any, Tuple
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MAX_TEXT_LENGTH = int(os.getenv("MAX_TEXT_LENGTH", "1000"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==================== Request Models ====================
|
|
|
|
|
class GeneralRequest(BaseModel):
|
|
|
|
|
text: Optional[str] = None
|
|
|
|
|
@ -21,13 +24,12 @@ class GeneralRequest(BaseModel):
|
|
|
|
|
@field_validator('text', 'texts')
|
|
|
|
|
@classmethod
|
|
|
|
|
def validate_text_length(cls, v):
|
|
|
|
|
max_length = int(os.getenv("MAX_TEXT_LENGTH", "10000"))
|
|
|
|
|
if isinstance(v, str) and len(v) > max_length:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {max_length}")
|
|
|
|
|
if isinstance(v, str) and len(v) > MAX_TEXT_LENGTH:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {MAX_TEXT_LENGTH}")
|
|
|
|
|
if isinstance(v, list):
|
|
|
|
|
for text in v:
|
|
|
|
|
if len(text) > max_length:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {max_length}")
|
|
|
|
|
if len(text) > MAX_TEXT_LENGTH:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {MAX_TEXT_LENGTH}")
|
|
|
|
|
return v
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -56,13 +58,12 @@ class RelationExtractionRequest(BaseModel):
|
|
|
|
|
@field_validator('text', 'texts')
|
|
|
|
|
@classmethod
|
|
|
|
|
def validate_text_length(cls, v):
|
|
|
|
|
max_length = int(os.getenv("MAX_TEXT_LENGTH", "10000"))
|
|
|
|
|
if isinstance(v, str) and len(v) > max_length:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {max_length}")
|
|
|
|
|
if isinstance(v, str) and len(v) > MAX_TEXT_LENGTH:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {MAX_TEXT_LENGTH}")
|
|
|
|
|
if isinstance(v, list):
|
|
|
|
|
for text in v:
|
|
|
|
|
if len(text) > max_length:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {max_length}")
|
|
|
|
|
if len(text) > MAX_TEXT_LENGTH:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {MAX_TEXT_LENGTH}")
|
|
|
|
|
return v
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -75,12 +76,11 @@ class SummarizationRequest(BaseModel):
|
|
|
|
|
@field_validator('text', 'texts')
|
|
|
|
|
@classmethod
|
|
|
|
|
def validate_text_length(cls, v):
|
|
|
|
|
max_length = int(os.getenv("MAX_TEXT_LENGTH", "10000"))
|
|
|
|
|
if isinstance(v, str) and len(v) > max_length:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {max_length}")
|
|
|
|
|
if isinstance(v, str) and len(v) > MAX_TEXT_LENGTH:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {MAX_TEXT_LENGTH}")
|
|
|
|
|
if isinstance(v, list):
|
|
|
|
|
for text in v:
|
|
|
|
|
if len(text) > max_length:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {max_length}")
|
|
|
|
|
if len(text) > MAX_TEXT_LENGTH:
|
|
|
|
|
raise ValueError(f"text exceeds maximum length of {MAX_TEXT_LENGTH}")
|
|
|
|
|
return v
|
|
|
|
|
|
|
|
|
|
|