diff options
author | AndPim4912 <52836885+AndPim4912@users.noreply.github.com> | 2023-10-23 14:10:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-23 14:10:28 +0200 |
commit | 8d7ad98fcb314453c01f6dcd4bfe59016efd78ce (patch) | |
tree | 4d39804e1aa1724560e1688f0b6d4c124b9771c7 /g4f/gui/server | |
parent | Refactor API initialization to accept a list of ignored providers. (diff) | |
parent | Debug config in api (diff) | |
download | gpt4free-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.py | 25 | ||||
-rw-r--r-- | g4f/gui/server/internet.py | 13 | ||||
-rw-r--r-- | g4f/gui/server/provider.py | 14 | ||||
-rw-r--r-- | g4f/gui/server/website.py | 6 |
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): |