Bases: Model
Model which wraps another model.
Does nothing on its own, used as a base class.
Source code in pydantic_ai_slim/pydantic_ai/models/wrapper.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 | @dataclass(init=False)
class WrapperModel(Model):
"""Model which wraps another model.
Does nothing on its own, used as a base class.
"""
wrapped: Model
"""The underlying model being wrapped."""
def __init__(self, wrapped: Model | KnownModelName):
self.wrapped = infer_model(wrapped)
async def request(self, *args: Any, **kwargs: Any) -> tuple[ModelResponse, Usage]:
return await self.wrapped.request(*args, **kwargs)
@asynccontextmanager
async def request_stream(
self,
messages: list[ModelMessage],
model_settings: ModelSettings | None,
model_request_parameters: ModelRequestParameters,
) -> AsyncIterator[StreamedResponse]:
async with self.wrapped.request_stream(messages, model_settings, model_request_parameters) as response_stream:
yield response_stream
@property
def model_name(self) -> str:
return self.wrapped.model_name
@property
def system(self) -> str:
return self.wrapped.system
def __getattr__(self, item: str):
return getattr(self.wrapped, item)
|
wrapped
instance-attribute
wrapped: Model = infer_model(wrapped)
The underlying model being wrapped.