diff options
author | ⲘrṨhส∂ow <71973368+MrShadowDev@users.noreply.github.com> | 2023-10-23 09:46:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-23 09:46:25 +0200 |
commit | 3982f39424ea037aca1086d45c6f657b4bfc457c (patch) | |
tree | 987290c5dc5822cb0197e789df68488536b1637c /g4f/gui | |
parent | ~ | g4f `v-0.1.7.5` (diff) | |
download | gpt4free-3982f39424ea037aca1086d45c6f657b4bfc457c.tar gpt4free-3982f39424ea037aca1086d45c6f657b4bfc457c.tar.gz gpt4free-3982f39424ea037aca1086d45c6f657b4bfc457c.tar.bz2 gpt4free-3982f39424ea037aca1086d45c6f657b4bfc457c.tar.lz gpt4free-3982f39424ea037aca1086d45c6f657b4bfc457c.tar.xz gpt4free-3982f39424ea037aca1086d45c6f657b4bfc457c.tar.zst gpt4free-3982f39424ea037aca1086d45c6f657b4bfc457c.zip |
Diffstat (limited to '')
-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): |