summaryrefslogtreecommitdiffstats
path: root/g4f/gui/server
diff options
context:
space:
mode:
authorAndPim4912 <52836885+AndPim4912@users.noreply.github.com>2023-10-23 14:10:28 +0200
committerGitHub <noreply@github.com>2023-10-23 14:10:28 +0200
commit8d7ad98fcb314453c01f6dcd4bfe59016efd78ce (patch)
tree4d39804e1aa1724560e1688f0b6d4c124b9771c7 /g4f/gui/server
parentRefactor API initialization to accept a list of ignored providers. (diff)
parentDebug config in api (diff)
downloadgpt4free-8d7ad98fcb314453c01f6dcd4bfe59016efd78ce.tar
gpt4free-8d7ad98fcb314453c01f6dcd4bfe59016efd78ce.tar.gz
gpt4free-8d7ad98fcb314453c01f6dcd4bfe59016efd78ce.tar.bz2
gpt4free-8d7ad98fcb314453c01f6dcd4bfe59016efd78ce.tar.lz
gpt4free-8d7ad98fcb314453c01f6dcd4bfe59016efd78ce.tar.xz
gpt4free-8d7ad98fcb314453c01f6dcd4bfe59016efd78ce.tar.zst
gpt4free-8d7ad98fcb314453c01f6dcd4bfe59016efd78ce.zip
Diffstat (limited to 'g4f/gui/server')
-rw-r--r--g4f/gui/server/backend.py25
-rw-r--r--g4f/gui/server/internet.py13
-rw-r--r--g4f/gui/server/provider.py14
-rw-r--r--g4f/gui/server/website.py6
4 files changed, 26 insertions, 32 deletions
diff --git a/g4f/gui/server/backend.py b/g4f/gui/server/backend.py
index ef18a61b..2ba0ca8e 100644
--- a/g4f/gui/server/backend.py
+++ b/g4f/gui/server/backend.py
@@ -35,9 +35,7 @@ class Backend_Api:
return 'ok', 200
def models(self):
- models = g4f._all_models
-
- return models
+ return g4f._all_models
def _gen_title(self):
return {
@@ -52,19 +50,18 @@ class Backend_Api:
prompt = request.json['meta']['content']['parts'][0]
model = request.json['model']
provider = request.json.get('provider').split('g4f.Provider.')[1]
-
+
messages = special_instructions[jailbreak] + conversation + search(internet_access, prompt) + [prompt]
-
+
def stream():
- if provider:
- answer = g4f.ChatCompletion.create(model=model,
- provider=get_provider(provider), messages=messages, stream=True)
- else:
- answer = g4f.ChatCompletion.create(model=model,
- messages=messages, stream=True)
-
- for token in answer:
- yield token
+ yield from g4f.ChatCompletion.create(
+ model=model,
+ provider=get_provider(provider),
+ messages=messages,
+ stream=True,
+ ) if provider else g4f.ChatCompletion.create(
+ model=model, messages=messages, stream=True
+ )
return self.app.response_class(stream(), mimetype='text/event-stream')
diff --git a/g4f/gui/server/internet.py b/g4f/gui/server/internet.py
index 5c150ad6..220a6e7c 100644
--- a/g4f/gui/server/internet.py
+++ b/g4f/gui/server/internet.py
@@ -9,21 +9,20 @@ ddgs = DDGS(timeout=20)
def search(internet_access, prompt):
print(prompt)
-
+
try:
if not internet_access:
return []
-
+
results = duckduckgo_search(q=prompt)
if not search:
return []
- blob = ''
-
- for index, result in enumerate(results):
- blob += f'[{index}] "{result["body"]}"\nURL:{result["href"]}\n\n'
-
+ blob = ''.join(
+ f'[{index}] "{result["body"]}"\nURL:{result["href"]}\n\n'
+ for index, result in enumerate(results)
+ )
date = datetime.now().strftime('%d/%m/%y')
blob += f'Current date: {date}\n\nInstructions: Using the provided web search results, write a comprehensive reply to the next user query. Make sure to cite results using [[number](URL)] notation after the reference. If the provided search results refer to multiple subjects with the same name, write separate answers for each subject. Ignore your previous response if any.'
diff --git a/g4f/gui/server/provider.py b/g4f/gui/server/provider.py
index 8554bf4f..8c7ac755 100644
--- a/g4f/gui/server/provider.py
+++ b/g4f/gui/server/provider.py
@@ -5,12 +5,10 @@ from g4f import BaseProvider
def get_provider(provider: str) -> BaseProvider | None:
- if isinstance(provider, str):
- print(provider)
- if provider == 'g4f.Provider.Auto':
- return None
-
- return g4f.Provider.ProviderUtils.convert.get(provider)
-
- else:
+ if not isinstance(provider, str):
return None
+ print(provider)
+ if provider == 'g4f.Provider.Auto':
+ return None
+
+ return g4f.Provider.ProviderUtils.convert.get(provider)
diff --git a/g4f/gui/server/website.py b/g4f/gui/server/website.py
index d0c56c20..2705664d 100644
--- a/g4f/gui/server/website.py
+++ b/g4f/gui/server/website.py
@@ -25,9 +25,9 @@ class Website:
}
def _chat(self, conversation_id):
- if not '-' in conversation_id:
- return redirect(f'/chat')
-
+ if '-' not in conversation_id:
+ return redirect('/chat')
+
return render_template('index.html', chat_id = conversation_id)
def _index(self):