Check supports_stream in best_providers list

This commit is contained in:
Heiner Lohaus 2023-09-18 15:27:36 +02:00
parent 3b8dfff974
commit 78bee08527
2 changed files with 7 additions and 5 deletions

View File

@ -16,14 +16,17 @@ class ChatCompletion:
auth : Union[str, None] = None, **kwargs: Any) -> Union[CreateResult, str]:
if isinstance(model, str):
try:
if model in models.ModelUtils.convert:
model = models.ModelUtils.convert[model]
except KeyError:
else:
raise Exception(f'The model: {model} does not exist')
if not provider:
if isinstance(model.best_provider, list):
provider = random.choice(model.best_provider)
if stream:
provider = random.choice([p for p in model.best_provider if p.supports_stream])
else:
provider = random.choice(model.best_provider)
else:
provider = model.best_provider

View File

@ -7,7 +7,6 @@ from .Provider import (
CodeLinkAva,
ChatgptAi,
ChatBase,
Yqcloud,
Vercel,
DeepAi,
Aivvm,
@ -32,7 +31,7 @@ gpt_35_turbo = Model(
name = 'gpt-3.5-turbo',
base_provider = 'openai',
best_provider = [
Yqcloud, DeepAi, CodeLinkAva, ChatgptLogin, ChatgptAi, ChatBase, Aivvm
DeepAi, CodeLinkAva, ChatgptLogin, ChatgptAi, ChatBase, Aivvm
]
)