diff options
Diffstat (limited to '')
-rw-r--r-- | theb/README.md (renamed from openai_rev/theb/README.md) | 6 | ||||
-rw-r--r-- | theb/__init__.py (renamed from openai_rev/theb/__init__.py) | 20 | ||||
-rw-r--r-- | theb/theb_test.py | 4 |
3 files changed, 17 insertions, 13 deletions
diff --git a/openai_rev/theb/README.md b/theb/README.md index bd37ba3f..ca978fce 100644 --- a/openai_rev/theb/README.md +++ b/theb/README.md @@ -1,10 +1,12 @@ ### Example: `theb` (use like openai pypi package) <a name="example-theb"></a> + ```python # import library -from openai_rev import theb +import theb # simple streaming completion for token in theb.Completion.create('hello world'): print(token, end='', flush=True) -```
\ No newline at end of file +print("") +``` diff --git a/openai_rev/theb/__init__.py b/theb/__init__.py index fa79fdd9..726e025e 100644 --- a/openai_rev/theb/__init__.py +++ b/theb/__init__.py @@ -1,11 +1,9 @@ +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' @@ -16,8 +14,7 @@ class Completion: message_queue = Queue() stream_completed = False - @classmethod - def request(cls, prompt: str): + def request(prompt: str): headers = { 'authority': 'chatbot.theb.ai', 'content-type': 'application/json', @@ -25,11 +22,12 @@ 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 @@ -38,7 +36,7 @@ class Completion: def create(prompt: str): Thread(target=Completion.request, args=[prompt]).start() - while not Completion.stream_completed or not Completion.message_queue.empty(): + while Completion.stream_completed != True 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/theb/theb_test.py b/theb/theb_test.py new file mode 100644 index 00000000..177c970a --- /dev/null +++ b/theb/theb_test.py @@ -0,0 +1,4 @@ +import theb + +for token in theb.Completion.create('hello world'): + print(token, end='', flush=True)
\ No newline at end of file |