2
2
3
3
from jupyter_ai_magics import BaseProvider
4
4
from jupyter_ai_magics .providers import EnvAuthStrategy , TextField
5
- from pydantic import model_validator
6
- from langchain_core .utils import convert_to_secret_str , get_from_dict_or_env
5
+ from langchain_core .utils import get_from_dict_or_env
7
6
from langchain_openai import ChatOpenAI
8
7
9
8
@@ -31,7 +30,9 @@ class OpenRouterProvider(BaseProvider, ChatOpenRouter):
31
30
]
32
31
33
32
def __init__ (self , ** kwargs ):
34
- openrouter_api_key = kwargs .pop ("openrouter_api_key" , None )
33
+ openrouter_api_key = get_from_dict_or_env (
34
+ kwargs , key = "openrouter_api_key" , env_key = "OPENROUTER_API_KEY" , default = None
35
+ )
35
36
openrouter_api_base = kwargs .pop (
36
37
"openai_api_base" , "https://openrouter.ai/api/v1"
37
38
)
@@ -42,14 +43,6 @@ def __init__(self, **kwargs):
42
43
** kwargs ,
43
44
)
44
45
45
- @model_validator (mode = "after" )
46
- def validate_environment (cls , values : Dict ) -> Dict :
47
- """Validate that api key and python package exists in environment."""
48
- values ["openai_api_key" ] = convert_to_secret_str (
49
- get_from_dict_or_env (values , "openai_api_key" , "OPENROUTER_API_KEY" )
50
- )
51
- return super ().validate_environment (values )
52
-
53
46
@classmethod
54
47
def is_api_key_exc (cls , e : Exception ):
55
48
import openai
0 commit comments