summaryrefslogtreecommitdiffstats
path: root/g4f/Provider/Providers/BingHuan.py
diff options
context:
space:
mode:
authorxtekky <98614666+xtekky@users.noreply.github.com>2023-07-16 19:50:00 +0200
committerGitHub <noreply@github.com>2023-07-16 19:50:00 +0200
commit821c8dcd470456143deaa34ff4edb1ae05f0f147 (patch)
treeb5e6ff34b32d6c29ea6890f06d903daebf94113c /g4f/Provider/Providers/BingHuan.py
parentMerge pull request #742 from dikos1337/fix-anchors (diff)
parentrefactor/move provider from testing folder (diff)
downloadgpt4free-821c8dcd470456143deaa34ff4edb1ae05f0f147.tar
gpt4free-821c8dcd470456143deaa34ff4edb1ae05f0f147.tar.gz
gpt4free-821c8dcd470456143deaa34ff4edb1ae05f0f147.tar.bz2
gpt4free-821c8dcd470456143deaa34ff4edb1ae05f0f147.tar.lz
gpt4free-821c8dcd470456143deaa34ff4edb1ae05f0f147.tar.xz
gpt4free-821c8dcd470456143deaa34ff4edb1ae05f0f147.tar.zst
gpt4free-821c8dcd470456143deaa34ff4edb1ae05f0f147.zip
Diffstat (limited to 'g4f/Provider/Providers/BingHuan.py')
-rw-r--r--g4f/Provider/Providers/BingHuan.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/g4f/Provider/Providers/BingHuan.py b/g4f/Provider/Providers/BingHuan.py
new file mode 100644
index 00000000..7344a342
--- /dev/null
+++ b/g4f/Provider/Providers/BingHuan.py
@@ -0,0 +1,27 @@
+import os,sys
+import json
+import subprocess
+from ...typing import sha256, Dict, get_type_hints
+
+url = 'https://b.ai-huan.xyz'
+model = ['gpt-3.5-turbo', 'gpt-4']
+supports_stream = True
+needs_auth = False
+
+def _create_completion(model: str, messages: list, stream: bool, **kwargs):
+ path = os.path.dirname(os.path.realpath(__file__))
+ config = json.dumps({
+ 'messages': messages,
+ 'model': model}, separators=(',', ':'))
+ cmd = ['python', f'{path}/helpers/binghuan.py', config]
+
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+
+ for line in iter(p.stdout.readline, b''):
+ yield line.decode('cp1252')
+
+
+
+params = f'g4f.Providers.{os.path.basename(__file__)[:-3]} supports: ' + \
+ '(%s)' % ', '.join(
+ [f"{name}: {get_type_hints(_create_completion)[name].__name__}" for name in _create_completion.__code__.co_varnames[:_create_completion.__code__.co_argcount]]) \ No newline at end of file