From 2d09393d800480e55b11152c4cf1e80e0d926414 Mon Sep 17 00:00:00 2001 From: Lev Vereshchagin Date: Fri, 22 Nov 2024 14:08:15 +0300 Subject: [PATCH] Add discriminator (`api_type`) to `AnyLLMConfig` to improve integration with Pydantic Settings --- any_llm_client/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/any_llm_client/main.py b/any_llm_client/main.py index 552bb40..d734e67 100644 --- a/any_llm_client/main.py +++ b/any_llm_client/main.py @@ -1,6 +1,8 @@ import functools import typing +import pydantic + from any_llm_client.clients.mock import MockLLMClient, MockLLMConfig from any_llm_client.clients.openai import OpenAIClient, OpenAIConfig from any_llm_client.clients.yandexgpt import YandexGPTClient, YandexGPTConfig @@ -8,7 +10,7 @@ from any_llm_client.retry import RequestRetryConfig -AnyLLMConfig = YandexGPTConfig | OpenAIConfig | MockLLMConfig +AnyLLMConfig = typing.Annotated[YandexGPTConfig | OpenAIConfig | MockLLMConfig, pydantic.Discriminator("api_type")] if typing.TYPE_CHECKING: