我想大多数Python爱好者都知道,但为了提供一些上下文,键入模块提供了一种定义类型提示的机制,如下所示:
from typing import List
x = List[int]
在上面的代码中,x表示一个List,其项是整数。
在微服务的范围内,FastAPI库允许通过使用Pydantic库来定义端点参数类型。
from pydantic import BaseModel
class User(BaseModel):
id: int
name: str
friends: List[int] = []
我试图在不知道ML模型的输入格式的情况下为其生成一个端点。我的方法是提取is元数据,查看输入模式,并从中生成Pydantic类
我的问题是…
有没有一种方法可以通过编程获得像x引用的类型,这样我就可以实现一个基于一些输入生成它们的工厂?
您可以创建自己的泛型类:
from pydantic import GenericModel
from typing import Generic, TypeVar
F = TypeVar("F")
class User(GenericModel, Generic[F]):
id: int
name: str
friends: List[F]