|
from typing import List, Dict |
|
import types |
|
|
|
|
|
class OpenrouterConfig: |
|
""" |
|
Reference: https://openrouter.ai/docs#format |
|
|
|
""" |
|
|
|
|
|
extra_body: Dict[str, List[str]] = {"transforms": []} |
|
|
|
def __init__( |
|
self, |
|
transforms: List[str] = [], |
|
models: List[str] = [], |
|
route: str = "", |
|
) -> None: |
|
locals_ = locals() |
|
for key, value in locals_.items(): |
|
if key != "self" and value is not None: |
|
setattr(self.__class__, key, value) |
|
|
|
@classmethod |
|
def get_config(cls): |
|
return { |
|
k: v |
|
for k, v in cls.__dict__.items() |
|
if not k.startswith("__") |
|
and not isinstance( |
|
v, |
|
( |
|
types.FunctionType, |
|
types.BuiltinFunctionType, |
|
classmethod, |
|
staticmethod, |
|
), |
|
) |
|
and v is not None |
|
} |
|
|