From 78bee085274f493f9ad8764adb5f436d60a9e54f Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Mon, 18 Sep 2023 15:27:36 +0200 Subject: Check supports_stream in best_providers list --- g4f/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'g4f/__init__.py') diff --git a/g4f/__init__.py b/g4f/__init__.py index d8681297..a49e60e9 100644 --- a/g4f/__init__.py +++ b/g4f/__init__.py @@ -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 -- cgit v1.2.3