Skip to content

Commit 2b092dd

Browse files
committed
refactor: update OPEN_ROUTER_API_KEY to use pydantic settings
1 parent d27808d commit 2b092dd

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/askui/models/openrouter/handler.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import os
21
from typing import Type
32

43
from openai import OpenAI
@@ -10,17 +9,15 @@
109
from askui.utils.image_utils import ImageSource
1110

1211
from .prompts import PROMPT_QA
13-
from .settings import OpenRouterSettings
12+
from .settings import OpenRouterAuthSettings, OpenRouterSettings
1413

1514

1615
class OpenRouterGetModel(GetModel):
1716
def __init__(self, settings: OpenRouterSettings):
1817
self._settings = settings
1918

20-
_open_router_key = os.getenv("OPEN_ROUTER_API_KEY")
21-
if _open_router_key is None:
22-
error_msg = "OPEN_ROUTER_API_KEY is not set"
23-
raise ValueError(error_msg)
19+
_auth_settings = OpenRouterAuthSettings()
20+
_open_router_key = _auth_settings.api_key.get_secret_value()
2421

2522
self._client = OpenAI(
2623
api_key=_open_router_key,
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
from pydantic import BaseModel, Field
1+
from pydantic import BaseModel, Field, SecretStr
2+
from pydantic_settings import BaseSettings
23

34

45
class OpenRouterSettings(BaseModel):
56
model: str = Field(..., description="OpenRouter model name")
7+
8+
9+
class OpenRouterAuthSettings(BaseSettings):
10+
api_key: SecretStr = Field(
11+
min_length=1,
12+
validation_alias="OPEN_ROUTER_API_KEY",
13+
)

0 commit comments

Comments
 (0)