Coverage for src/fastoai/routers/_client.py: 91%
11 statements
« prev ^ index » next coverage.py v7.6.8, created at 2024-12-06 09:34 +0800
« prev ^ index » next coverage.py v7.6.8, created at 2024-12-06 09:34 +0800
1from typing import get_args
3from anthropic import AsyncAnthropic
4from anthropic.types.model_param import ModelParam
5from openai import AsyncOpenAI
6from openai.types.chat_model import ChatModel
9def get_client_class(model: str) -> type[AsyncAnthropic] | type[AsyncOpenAI]:
10 if model in get_args(ChatModel):
11 return AsyncOpenAI
12 if model in get_args(get_args(ModelParam)[1]):
13 return AsyncAnthropic
14 raise ValueError(f"Can't recognize model {model}.")