From 4f3c7752f9f75b4a25b4c41b0adc2e9b9d94706d Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Tue, 14 May 2024 11:32:11 -0700 Subject: [PATCH] ci: test linting change for pydantic v1 --- litellm/types/completion.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/litellm/types/completion.py b/litellm/types/completion.py index aede0bc9ede..4d3f4b4b7f2 100644 --- a/litellm/types/completion.py +++ b/litellm/types/completion.py @@ -1,10 +1,15 @@ from typing import List, Optional, Union, Iterable -from pydantic import ConfigDict, BaseModel, validator +from pydantic import ConfigDict, BaseModel, validator, VERSION from typing_extensions import Literal, Required, TypedDict +# Function to get Pydantic version +def is_pydantic_v2() -> int: + return int(VERSION.split(".")[0]) + + class ChatCompletionSystemMessageParam(TypedDict, total=False): content: Required[str] """The contents of the system message.""" @@ -190,4 +195,9 @@ class CompletionRequest(BaseModel): api_version: Optional[str] = None api_key: Optional[str] = None model_list: Optional[List[str]] = None - model_config = ConfigDict(extra="allow", protected_namespaces=()) + + # Version-specific configuration + if is_pydantic_v2() >= 2: + model_config = ConfigDict(extra="allow", protected_namespaces=()) + else: + model_config = ConfigDict(extra="allow") # No protected_namespaces for v1