Files

89 lines
2.6 KiB
Python
Raw Permalink Normal View History

2026-07-21 15:43:39 +08:00
"""
自动生成的 Pydantic 模型 — example
来源: config/workers/example/
"""
from __future__ import annotations
2026-08-21 14:48:05 +08:00
from typing import Optional
2026-07-21 15:43:39 +08:00
from pydantic import BaseModel, Field
class AddGetRequest(BaseModel):
"""Add two numbers — 请求体"""
a: float = Field(...)
b: float = Field(...)
class AddGetResponse(BaseModel):
"""Add two numbers — 响应体"""
result: float = Field(...)
operation: str = Field(default='add')
timestamp: Optional[float] = Field(default=0.0)
class AddPostRequest(BaseModel):
"""Add two numbers (POST) — 请求体"""
a: float = Field(...)
b: float = Field(...)
class AddPostResponse(BaseModel):
"""Add two numbers (POST) — 响应体"""
result: float = Field(...)
operation: str = Field(default='add')
timestamp: Optional[float] = Field(default=0.0)
2026-07-27 14:28:07 +08:00
class AddMqttRequest(BaseModel):
"""Add two numbers via MQTT — 请求体"""
a: float = Field(...)
b: float = Field(...)
2026-07-21 15:43:39 +08:00
class CountGetResponse(BaseModel):
"""Get visit count and increment — 响应体"""
name: str = Field(...)
value: int = Field(...)
class DivideGetRequest(BaseModel):
"""Divide two numbers — 请求体"""
a: float = Field(...)
b: float = Field(...)
class DivideGetResponse(BaseModel):
"""Divide two numbers — 响应体"""
result: Optional[float] = Field(default=0.0)
operation: str = Field(default='divide')
timestamp: Optional[float] = Field(default=0.0)
error: Optional[str] = Field(default='')
2026-07-27 14:28:07 +08:00
class HeartbeatMqttRequest(BaseModel):
"""Heartbeat ping (no response) — 请求体"""
worker_id: str = Field(...)
2026-07-21 15:43:39 +08:00
class MultiplyGetRequest(BaseModel):
"""Multiply two numbers — 请求体"""
a: float = Field(...)
b: float = Field(...)
class MultiplyGetResponse(BaseModel):
"""Multiply two numbers — 响应体"""
result: float = Field(...)
operation: str = Field(default='multiply')
timestamp: Optional[float] = Field(default=0.0)
2026-08-21 14:48:05 +08:00
class StreamChatPostRequest(BaseModel):
"""模拟 AI 流式对话(SSE,逐 token 输出) — 请求体"""
prompt: str = Field(...)
tokens: int = Field(...)
2026-07-21 15:43:39 +08:00
class SubtractGetRequest(BaseModel):
"""Subtract two numbers — 请求体"""
a: float = Field(...)
b: float = Field(...)
class SubtractGetResponse(BaseModel):
"""Subtract two numbers — 响应体"""
result: float = Field(...)
operation: str = Field(default='subtract')
timestamp: Optional[float] = Field(default=0.0)
# 所有响应模型的联合类型
2026-08-21 14:48:05 +08:00
ExampleResponse = MultiplyGetResponse | AddPostResponse | CountGetResponse | SubtractGetResponse | DivideGetResponse | AddGetResponse