Skip to content

Commit

Permalink
Fix gpt4free
Browse files Browse the repository at this point in the history
  • Loading branch information
Josh-XT committed May 16, 2023
1 parent 33f7a59 commit 94685ea
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions provider/gpt4free.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import gpt4free
from gpt4free import Provider


class Gpt4freeProvider:
Expand All @@ -17,25 +16,27 @@ def __init__(
self.FAILED_PROVIDERS = []

def instruct(self, prompt, tokens: int = 0):
providers = list(Provider)
providers = gpt4free.Provider._member_names_
for provider in providers:
try:
if provider not in self.FAILED_PROVIDERS:
response = gpt4free.Completion.create(
provider,
getattr(gpt4free.Provider, provider),
prompt=prompt,
model=self.AI_MODEL,
)
if "text" in response:
response = response["text"]
if "status" in response and response["status"] == "Fail":
self.FAILED_PROVIDERS.append(provider)
print(f"Failed to use {provider}")
response = self.instruct(prompt, tokens)
if response == "Unable to fetch the response, Please try again.":
self.FAILED_PROVIDERS.append(provider)
print(f"Failed to use {provider}")
response = self.instruct(prompt, tokens)
return response
except:
print(f"Failed to use {provider}")
self.FAILED_PROVIDERS.append(provider)
if len(self.FAILED_PROVIDERS) == len(providers):
self.FAILED_PROVIDERS = []
Expand Down

0 comments on commit 94685ea

Please sign in to comment.