diff options
author | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2023-12-23 20:50:56 +0100 |
---|---|---|
committer | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2023-12-23 20:50:56 +0100 |
commit | 3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae (patch) | |
tree | 997027804ee8412e5ddbf1b015f795eaf72cb435 /g4f | |
parent | Fix streaming in Aura (diff) | |
download | gpt4free-3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae.tar gpt4free-3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae.tar.gz gpt4free-3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae.tar.bz2 gpt4free-3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae.tar.lz gpt4free-3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae.tar.xz gpt4free-3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae.tar.zst gpt4free-3a81f9a2af777ae4fde3d3cd8cfa1ded608c16ae.zip |
Diffstat (limited to 'g4f')
-rw-r--r-- | g4f/api/__init__.py | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/g4f/api/__init__.py b/g4f/api/__init__.py index a79da7b0..8369d70f 100644 --- a/g4f/api/__init__.py +++ b/g4f/api/__init__.py @@ -83,28 +83,17 @@ class Api: model = item_data.get('model') stream = True if item_data.get("stream") == "True" else False messages = item_data.get('messages') - conversation = item_data.get('conversation') if item_data.get('conversation') != None else None - provider = item_data.get('provider').replace('g4f.Provider.', '') + provider = item_data.get('provider', '').replace('g4f.Provider.', '') provider = provider if provider and provider != "Auto" else None - if provider != None: - provider = g4f.Provider.ProviderUtils.convert.get(provider) try: - if model == 'pi': - response = g4f.ChatCompletion.create( - model=model, - stream=stream, - messages=messages, - conversation=conversation, - provider = provider, - ignored=self.list_ignored_providers) - else: - response = g4f.ChatCompletion.create( - model=model, - stream=stream, - messages=messages, - provider = provider, - ignored=self.list_ignored_providers) + response = g4f.ChatCompletion.create( + model=model, + stream=stream, + messages=messages, + provider = provider, + ignored=self.list_ignored_providers + ) except Exception as e: logging.exception(e) return Response(content=json.dumps({"error": "An error occurred while generating the response."}, indent=4), media_type="application/json") @@ -179,9 +168,12 @@ class Api: content = json.dumps(end_completion_data, separators=(',', ':')) yield f'data: {content}\n\n' - except GeneratorExit: pass + except Exception as e: + logging.exception(e) + content=json.dumps({"error": "An error occurred while generating the response."}, indent=4) + yield f'data: {content}\n\n' return StreamingResponse(streaming(), media_type="text/event-stream") |