diff options
Diffstat (limited to '')
-rw-r--r-- | openai_rev/forefront/__init__.py | 1 | ||||
-rw-r--r-- | openai_rev/openai_rev.py | 8 | ||||
-rw-r--r-- | openai_rev/theb/README.md (renamed from theb/README.md) | 3 | ||||
-rw-r--r-- | openai_rev/theb/__init__.py (renamed from theb/__init__.py) | 20 | ||||
-rw-r--r-- | openai_rev/theb/theb_test.py | 4 |
5 files changed, 24 insertions, 12 deletions
diff --git a/openai_rev/forefront/__init__.py b/openai_rev/forefront/__init__.py index 10202615..6fece65a 100644 --- a/openai_rev/forefront/__init__.py +++ b/openai_rev/forefront/__init__.py @@ -169,7 +169,6 @@ class Completion: ) -> ForeFrontResponse: text = '' final_response = None - res = list(StreamingCompletion.create(token=token, prompt=prompt)) for response in StreamingCompletion.create( token=token, chat_id=chat_id, diff --git a/openai_rev/openai_rev.py b/openai_rev/openai_rev.py index 7d483c01..6b88298b 100644 --- a/openai_rev/openai_rev.py +++ b/openai_rev/openai_rev.py @@ -2,6 +2,7 @@ from enum import Enum from openai_rev import forefront from openai_rev import quora +from openai_rev import theb from openai_rev import you @@ -9,6 +10,7 @@ class Provider(Enum): You = 'you' Poe = 'poe' ForeFront = 'fore_front' + Theb = 'theb' class Completion: @@ -20,6 +22,8 @@ class Completion: return Completion.__you_service(prompt, **kwargs) elif provider == Provider.ForeFront: return Completion.__fore_front_service(prompt, **kwargs) + elif provider == Provider.Theb: + return Completion.__theb_service(prompt, **kwargs) @classmethod def __you_service(cls, prompt: str, **kwargs) -> str: @@ -32,3 +36,7 @@ class Completion: @classmethod def __fore_front_service(cls, prompt: str, **kwargs) -> str: return forefront.Completion.create(prompt=prompt, **kwargs).text + + @classmethod + def __theb_service(cls, prompt: str, **kwargs): + return ''.join(theb.Completion.create(prompt=prompt)) diff --git a/theb/README.md b/openai_rev/theb/README.md index 982c34a1..bd37ba3f 100644 --- a/theb/README.md +++ b/openai_rev/theb/README.md @@ -1,9 +1,8 @@ ### Example: `theb` (use like openai pypi package) <a name="example-theb"></a> - ```python # import library -import theb +from openai_rev import theb # simple streaming completion for token in theb.Completion.create('hello world'): diff --git a/theb/__init__.py b/openai_rev/theb/__init__.py index 726e025e..fa79fdd9 100644 --- a/theb/__init__.py +++ b/openai_rev/theb/__init__.py @@ -1,9 +1,11 @@ -from re import findall from json import loads from queue import Queue, Empty +from re import findall from threading import Thread + from curl_cffi import requests + class Completion: # experimental part1 = '{"role":"assistant","id":"chatcmpl' @@ -14,7 +16,8 @@ class Completion: message_queue = Queue() stream_completed = False - def request(prompt: str): + @classmethod + def request(cls, prompt: str): headers = { 'authority': 'chatbot.theb.ai', 'content-type': 'application/json', @@ -22,12 +25,11 @@ class Completion: 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', } - requests.post('https://chatbot.theb.ai/api/chat-process', headers=headers, - content_callback = Completion.handle_stream_response, - json = { - 'prompt': prompt, - 'options': {} - } + requests.post( + 'https://chatbot.theb.ai/api/chat-process', + headers=headers, + content_callback=Completion.handle_stream_response, + json={'prompt': prompt, 'options': {}}, ) Completion.stream_completed = True @@ -36,7 +38,7 @@ class Completion: def create(prompt: str): Thread(target=Completion.request, args=[prompt]).start() - while Completion.stream_completed != True or not Completion.message_queue.empty(): + while not Completion.stream_completed or not Completion.message_queue.empty(): try: message = Completion.message_queue.get(timeout=0.01) for message in findall(Completion.regex, message): diff --git a/openai_rev/theb/theb_test.py b/openai_rev/theb/theb_test.py new file mode 100644 index 00000000..805ef094 --- /dev/null +++ b/openai_rev/theb/theb_test.py @@ -0,0 +1,4 @@ +from openai_rev import theb + +for token in theb.Completion.create('hello world'): + print(token, end='', flush=True) |