Files
anansyTypes/anansyTypes/schemas.py
T
2026-08-25 17:13:01 +02:00

91 lines
2.3 KiB
Python

from pydantic import BaseModel as PydanticBaseModel
from typing import List, Any, Dict, Optional,Union
from .structures import Embedding,Word, Symbol,Phrase
from pydantic import field_validator, ConfigDict
from pydantic_tensor import Tensor
import torch
from typing import Any, Literal
class ModifiedBaseModel(PydanticBaseModel):
pass
#model_config = ConfigDict(arbitrary_types_allowed=True)
class EmbeddingRequest(ModifiedBaseModel):
stemmed_words: List[str]
tokens: dict
word_ids: List[int]
class EmbeddingResponse(ModifiedBaseModel):
embeddings: List[Embedding]
class ResponseRequest(ModifiedBaseModel):
text: str
context: Dict[str, Any]
class PreprocessRequest(ModifiedBaseModel):
text: str
class PreprocessResponse(ModifiedBaseModel):
raw_words: List[str]
stemmed_words: List[str]
tokens: Dict[str, Any]
word_ids: List[int]
class GetSymbolRequest(ModifiedBaseModel):
lexeme_id: int
class GetSymbolResponse(ModifiedBaseModel):
symbol: Optional[Symbol]
class GetWordRequest(ModifiedBaseModel):
word_text: str
stemmed: bool = False
class GetWordResponse(ModifiedBaseModel):
word: Optional[Word]
class GetSimilarWordRequest(ModifiedBaseModel):
embedding: Embedding
class GetAllPhrasesResponse(ModifiedBaseModel):
phrases: Optional[List[Phrase]]
class GetFullPhrasesRequest(ModifiedBaseModel):
phrases: List[Phrase]
class GetFullPhrasesResponse(ModifiedBaseModel):
phrases: Optional[List[Phrase]]
class GetTranscriptionRequest(ModifiedBaseModel):
audio_data: str
class GetTranscriptionResponse(ModifiedBaseModel):
transcription: str
class AudioToSymbolRequest(ModifiedBaseModel):
audio_data: str
class AudioToSymbolResponse(ModifiedBaseModel):
symbols: List[Symbol]
sentence: str
class TextToSymbolRequest(ModifiedBaseModel):
text: str
language:str
class TextToSymbolResponse(ModifiedBaseModel):
symbols: List[Symbol]
class UsageStatusResponse(ModifiedBaseModel):
"""Read-only snapshot of a caller's rate-limit window."""
limit: int
used: int
remaining: int
unlimited: bool
window_seconds: int
# Seconds until the oldest recorded call falls out of the window, i.e. until
# one use is handed back. None when the caller has no recorded calls.
reset_in_seconds: Optional[int] = None