Skip to main content
Glama
pydantic

mcp-run-python

Official
by pydantic
wrapper.py2.34 kB
from __future__ import annotations from collections.abc import Sequence from dataclasses import dataclass from typing import TYPE_CHECKING from .base import EmbeddingModel, EmbedInputType from .result import EmbeddingResult from .settings import EmbeddingSettings if TYPE_CHECKING: pass @dataclass(init=False) class WrapperEmbeddingModel(EmbeddingModel): """Base class for embedding models that wrap another model. Use this as a base class to create custom embedding model wrappers that modify behavior (e.g., caching, logging, rate limiting) while delegating to an underlying model. By default, all methods are passed through to the wrapped model. Override specific methods to customize behavior. """ wrapped: EmbeddingModel """The underlying embedding model being wrapped.""" def __init__(self, wrapped: EmbeddingModel | str): """Initialize the wrapper with an embedding model. Args: wrapped: The model to wrap. Can be an [`EmbeddingModel`][pydantic_ai.embeddings.EmbeddingModel] instance or a model name string (e.g., `'openai:text-embedding-3-small'`). """ from . import infer_embedding_model super().__init__() self.wrapped = infer_embedding_model(wrapped) if isinstance(wrapped, str) else wrapped async def embed( self, inputs: str | Sequence[str], *, input_type: EmbedInputType, settings: EmbeddingSettings | None = None ) -> EmbeddingResult: return await self.wrapped.embed(inputs, input_type=input_type, settings=settings) async def max_input_tokens(self) -> int | None: return await self.wrapped.max_input_tokens() async def count_tokens(self, text: str) -> int: return await self.wrapped.count_tokens(text) @property def model_name(self) -> str: return self.wrapped.model_name @property def system(self) -> str: return self.wrapped.system @property def settings(self) -> EmbeddingSettings | None: """Get the settings from the wrapped embedding model.""" return self.wrapped.settings @property def base_url(self) -> str | None: return self.wrapped.base_url def __getattr__(self, item: str): return getattr(self.wrapped, item) # pragma: no cover

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pydantic/pydantic-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server