From 789b209d03ba45d4dbe9af924f5806abda371cd9 Mon Sep 17 00:00:00 2001 From: "t.me/xtekky" <98614666+xtekky@users.noreply.github.com> Date: Sat, 22 Apr 2023 13:54:01 +0100 Subject: move documenation to individual folder --- README.md | 291 ++----------------------------------- ora/README.md | 41 ++++++ phind/README.md | 33 +++++ quora/README.md | 49 +++++++ quora/poe_account_create_test.py | 104 ------------- t3nsor/README.md | 42 ++++++ testing/poe_account_create_test.py | 104 +++++++++++++ writesonic/README.md | 53 +++++++ you/README.md | 36 +++++ 9 files changed, 369 insertions(+), 384 deletions(-) create mode 100644 ora/README.md create mode 100644 phind/README.md create mode 100644 quora/README.md delete mode 100644 quora/poe_account_create_test.py create mode 100644 t3nsor/README.md create mode 100644 testing/poe_account_create_test.py create mode 100644 writesonic/README.md create mode 100644 you/README.md diff --git a/README.md b/README.md index 478c9d96..4cbd77d9 100644 --- a/README.md +++ b/README.md @@ -43,292 +43,23 @@ These sites will be reverse engineered but need account access: ## Usage Examples -### Example: `quora (poe)` (use like openai pypi package) - GPT-4 - -```python -# quora model names: (use left key as argument) -models = { - 'sage' : 'capybara', - 'gpt-4' : 'beaver', - 'claude-v1.2' : 'a2_2', - 'claude-instant-v1.0' : 'a2', - 'gpt-3.5-turbo' : 'chinchilla' -} -``` - -#### !! new: bot creation - -```python -# import quora (poe) package -import quora - -# create account -# make shure to set enable_bot_creation to True -token = quora.Account.create(logging = True, enable_bot_creation=True) - -model = quora.Model.create( - token = token, - model = 'gpt-3.5-turbo', # or claude-instant-v1.0 - system_prompt = 'you are ChatGPT a large language model ...' -) - -print(model.name) # gptx.... - -# streaming response -for response in quora.StreamingCompletion.create( - custom_model = model.name, - prompt ='hello world', - token = token): - - print(response.completion.choices[0].text) -``` - -#### Normal Response: -```python - -response = quora.Completion.create(model = 'gpt-4', - prompt = 'hello world', - token = token) - -print(response.completion.choices[0].text) -``` - -### Example: `phind` (use like openai pypi package) - -```python -import phind - -# set cf_clearance cookie -phind.cf_clearance = 'xx.xx-1682166681-0-160' - -prompt = 'who won the quatar world cup' - -# help needed: not getting newlines from the stream, please submit a PR if you know how to fix this -# stream completion -for result in phind.StreamingCompletion.create( - model = 'gpt-4', - prompt = prompt, - results = phind.Search.create(prompt, actualSearch = True), # create search (set actualSearch to False to disable internet) - creative = False, - detailed = False, - codeContext = ''): # up to 3000 chars of code - - print(result.completion.choices[0].text, end='', flush=True) - -# normal completion -result = phind.Completion.create( - model = 'gpt-4', - prompt = prompt, - results = phind.Search.create(prompt, actualSearch = True), # create search (set actualSearch to False to disable internet) - creative = False, - detailed = False, - codeContext = '') # up to 3000 chars of code - -print(result.completion.choices[0].text) -``` - -### Example: `t3nsor` (use like openai pypi package) - -```python -# Import t3nsor -import t3nsor - -# t3nsor.Completion.create -# t3nsor.StreamCompletion.create - -[...] - -``` - -#### Example Chatbot -```python -messages = [] - -while True: - user = input('you: ') - - t3nsor_cmpl = t3nsor.Completion.create( - prompt = user, - messages = messages - ) - - print('gpt:', t3nsor_cmpl.completion.choices[0].text) - - messages.extend([ - {'role': 'user', 'content': user }, - {'role': 'assistant', 'content': t3nsor_cmpl.completion.choices[0].text} - ]) -``` - -#### Streaming Response: - -```python -for response in t3nsor.StreamCompletion.create( - prompt = 'write python code to reverse a string', - messages = []): - - print(response.completion.choices[0].text) -``` - -### Example: `ora` (use like openai pypi package) - -### load model (new) - -more gpt4 models in `/testing/ora_gpt4.py` - -```python -# normal gpt-4: b8b12eaa-5d47-44d3-92a6-4d706f2bcacf -model = ora.CompletionModel.load(chatbot_id, 'gpt-4') # or gpt-3.5 -``` - -#### create model / chatbot: -```python -# inport ora -import ora - -# create model -model = ora.CompletionModel.create( - system_prompt = 'You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible', - description = 'ChatGPT Openai Language Model', - name = 'gpt-3.5') - -# init conversation (will give you a conversationId) -init = ora.Completion.create( - model = model, - prompt = 'hello world') - -print(init.completion.choices[0].text) - -while True: - # pass in conversationId to continue conversation - - prompt = input('>>> ') - response = ora.Completion.create( - model = model, - prompt = prompt, - includeHistory = True, # remember history - conversationId = init.id) - - print(response.completion.choices[0].text) -``` - -### Example: `writesonic` (use like openai pypi package) - -```python -# import writesonic -import writesonic - -# create account (3-4s) -account = writesonic.Account.create(logging = True) - -# with loging: - # 2023-04-06 21:50:25 INFO __main__ -> register success : '{"id":"51aa0809-3053-44f7-922a...' (2s) - # 2023-04-06 21:50:25 INFO __main__ -> id : '51aa0809-3053-44f7-922a-2b85d8d07edf' - # 2023-04-06 21:50:25 INFO __main__ -> token : 'eyJhbGciOiJIUzI1NiIsInR5cCI6Ik...' - # 2023-04-06 21:50:28 INFO __main__ -> got key : '194158c4-d249-4be0-82c6-5049e869533c' (2s) - -# simple completion -response = writesonic.Completion.create( - api_key = account.key, - prompt = 'hello world' -) - -print(response.completion.choices[0].text) # Hello! How may I assist you today? - -# conversation - -response = writesonic.Completion.create( - api_key = account.key, - prompt = 'what is my name ?', - enable_memory = True, - history_data = [ - { - 'is_sent': True, - 'message': 'my name is Tekky' - }, - { - 'is_sent': False, - 'message': 'hello Tekky' - } - ] -) - -print(response.completion.choices[0].text) # Your name is Tekky. - -# enable internet - -response = writesonic.Completion.create( - api_key = account.key, - prompt = 'who won the quatar world cup ?', - enable_google_results = True -) - -print(response.completion.choices[0].text) # Argentina won the 2022 FIFA World Cup tournament held in Qatar ... -``` - -### Example: `you` (use like openai pypi package) - -```python -import you - -# simple request with links and details -response = you.Completion.create( - prompt = "hello world", - detailed = True, - includelinks = True,) - -print(response) - -# { -# "response": "...", -# "links": [...], -# "extra": {...}, -# "slots": {...} -# } -# } - -#chatbot - -chat = [] - -while True: - prompt = input("You: ") - - response = you.Completion.create( - prompt = prompt, - chat = chat) - - print("Bot:", response["response"]) - - chat.append({"question": prompt, "answer": response["response"]}) -``` +| NOTE: the instructions of each module has been moved in the folder of the module itsself| +| --- | ## Dependencies -The repository is written in Python and requires the following packages: - * websocket-client * requests * tls-client - -You can install these packages using the provided `requirements.txt` file. - -## Repository structure: - . - ├── ora/ - ├── quora/ (/poe) - ├── t3nsor/ - ├── testing/ - ├── writesonic/ - ├── you/ - ├── README.md <-- this file. - └── requirements.txt - - -## Star History - -[![Star History Chart](https://api.star-history.com/svg?repos=xtekky/openai-gpt4&type=Timeline)](https://star-history.com/#xtekky/openai-gpt4&Timeline) - +* pypasser +* names +* colorama +* curl_cffi + +install with: +```sh +pip3 install -r requirements.txt +``` ## Copyright: This program is licensed under the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.txt) diff --git a/ora/README.md b/ora/README.md new file mode 100644 index 00000000..2cc350d4 --- /dev/null +++ b/ora/README.md @@ -0,0 +1,41 @@ +### Example: `ora` (use like openai pypi package) + +### load model (new) + +more gpt4 models in `/testing/ora_gpt4.py` + +```python +# normal gpt-4: b8b12eaa-5d47-44d3-92a6-4d706f2bcacf +model = ora.CompletionModel.load(chatbot_id, 'gpt-4') # or gpt-3.5 +``` + +#### create model / chatbot: +```python +# inport ora +import ora + +# create model +model = ora.CompletionModel.create( + system_prompt = 'You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible', + description = 'ChatGPT Openai Language Model', + name = 'gpt-3.5') + +# init conversation (will give you a conversationId) +init = ora.Completion.create( + model = model, + prompt = 'hello world') + +print(init.completion.choices[0].text) + +while True: + # pass in conversationId to continue conversation + + prompt = input('>>> ') + response = ora.Completion.create( + model = model, + prompt = prompt, + includeHistory = True, # remember history + conversationId = init.id) + + print(response.completion.choices[0].text) +``` \ No newline at end of file diff --git a/phind/README.md b/phind/README.md new file mode 100644 index 00000000..c9b85dbb --- /dev/null +++ b/phind/README.md @@ -0,0 +1,33 @@ +### Example: `phind` (use like openai pypi package) + +```python +import phind + +# set cf_clearance cookie +phind.cf_clearance = 'xx.xx-1682166681-0-160' + +prompt = 'who won the quatar world cup' + +# help needed: not getting newlines from the stream, please submit a PR if you know how to fix this +# stream completion +for result in phind.StreamingCompletion.create( + model = 'gpt-4', + prompt = prompt, + results = phind.Search.create(prompt, actualSearch = True), # create search (set actualSearch to False to disable internet) + creative = False, + detailed = False, + codeContext = ''): # up to 3000 chars of code + + print(result.completion.choices[0].text, end='', flush=True) + +# normal completion +result = phind.Completion.create( + model = 'gpt-4', + prompt = prompt, + results = phind.Search.create(prompt, actualSearch = True), # create search (set actualSearch to False to disable internet) + creative = False, + detailed = False, + codeContext = '') # up to 3000 chars of code + +print(result.completion.choices[0].text) +``` diff --git a/quora/README.md b/quora/README.md new file mode 100644 index 00000000..e1ec140b --- /dev/null +++ b/quora/README.md @@ -0,0 +1,49 @@ +### Example: `quora (poe)` (use like openai pypi package) - GPT-4 + +```python +# quora model names: (use left key as argument) +models = { + 'sage' : 'capybara', + 'gpt-4' : 'beaver', + 'claude-v1.2' : 'a2_2', + 'claude-instant-v1.0' : 'a2', + 'gpt-3.5-turbo' : 'chinchilla' +} +``` + +#### !! new: bot creation + +```python +# import quora (poe) package +import quora + +# create account +# make shure to set enable_bot_creation to True +token = quora.Account.create(logging = True, enable_bot_creation=True) + +model = quora.Model.create( + token = token, + model = 'gpt-3.5-turbo', # or claude-instant-v1.0 + system_prompt = 'you are ChatGPT a large language model ...' +) + +print(model.name) # gptx.... + +# streaming response +for response in quora.StreamingCompletion.create( + custom_model = model.name, + prompt ='hello world', + token = token): + + print(response.completion.choices[0].text) +``` + +#### Normal Response: +```python + +response = quora.Completion.create(model = 'gpt-4', + prompt = 'hello world', + token = token) + +print(response.completion.choices[0].text) +``` diff --git a/quora/poe_account_create_test.py b/quora/poe_account_create_test.py deleted file mode 100644 index 627520ca..00000000 --- a/quora/poe_account_create_test.py +++ /dev/null @@ -1,104 +0,0 @@ -from requests import Session -from tls_client import Session as TLS -from json import dumps -from hashlib import md5 -from time import sleep -from re import findall -from pypasser import reCaptchaV3 -from quora import extract_formkey -from quora.mail import Emailnator -from twocaptcha import TwoCaptcha - -solver = TwoCaptcha('72747bf24a9d89b4dcc1b24875efd358') - -class Account: - def create(proxy: None or str = None, logging: bool = False, enable_bot_creation: bool = False): - client = TLS(client_identifier='chrome110') - client.proxies = { - 'http': f'http://{proxy}', - 'https': f'http://{proxy}'} if proxy else None - - mail_client = Emailnator() - mail_address = mail_client.get_mail() - - if logging: print('email', mail_address) - - client.headers = { - 'authority' : 'poe.com', - 'accept' : '*/*', - 'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3', - 'content-type' : 'application/json', - 'origin' : 'https://poe.com', - 'poe-formkey' : 'null', - 'poe-tag-id' : 'null', - 'poe-tchannel' : 'null', - 'referer' : 'https://poe.com/login', - 'sec-ch-ua' : '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"', - 'sec-ch-ua-mobile' : '?0', - 'sec-ch-ua-platform': '"macOS"', - 'sec-fetch-dest': 'empty', - 'sec-fetch-mode': 'cors', - 'sec-fetch-site': 'same-origin', - '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' - } - - client.headers["poe-formkey"] = extract_formkey(client.get('https://poe.com/login').text) - client.headers["poe-tchannel"] = client.get('https://poe.com/api/settings').json()['tchannelData']['channel'] - - #token = reCaptchaV3('https://www.recaptcha.net/recaptcha/enterprise/anchor?ar=1&k=6LflhEElAAAAAI_ewVwRWI9hsyV4mbZnYAslSvlG&co=aHR0cHM6Ly9wb2UuY29tOjQ0Mw..&hl=en&v=4PnKmGB9wRHh1i04o7YUICeI&size=invisible&cb=bi6ivxoskyal') - token = solver.recaptcha(sitekey='6LflhEElAAAAAI_ewVwRWI9hsyV4mbZnYAslSvlG', - url = 'https://poe.com/login?redirect_url=%2F', - version = 'v3', - enterprise = 1, - invisible = 1, - action = 'login',)['code'] - - payload = dumps(separators = (',', ':'), obj = { - 'queryName': 'MainSignupLoginSection_sendVerificationCodeMutation_Mutation', - 'variables': { - 'emailAddress' : mail_address, - 'phoneNumber' : None, - 'recaptchaToken': token - }, - 'query': 'mutation MainSignupLoginSection_sendVerificationCodeMutation_Mutation(\n $emailAddress: String\n $phoneNumber: String\n $recaptchaToken: String\n) {\n sendVerificationCode(verificationReason: login, emailAddress: $emailAddress, phoneNumber: $phoneNumber, recaptchaToken: $recaptchaToken) {\n status\n errorMessage\n }\n}\n', - }) - - base_string = payload + client.headers["poe-formkey"] + 'WpuLMiXEKKE98j56k' - client.headers["poe-tag-id"] = md5(base_string.encode()).hexdigest() - - print(dumps(client.headers, indent=4)) - - response = client.post('https://poe.com/api/gql_POST', data=payload) - - if 'automated_request_detected' in response.text: - print('please try using a proxy / wait for fix') - - if 'Bad Request' in response.text: - if logging: print('bad request, retrying...' , response.json()) - quit() - - if logging: print('send_code' ,response.json()) - - mail_content = mail_client.get_message() - mail_token = findall(r';">(\d{6,7})', mail_content)[0] - - if logging: print('code', mail_token) - - payload = dumps(separators = (',', ':'), obj={ - "queryName": "SignupOrLoginWithCodeSection_signupWithVerificationCodeMutation_Mutation", - "variables": { - "verificationCode": str(mail_token), - "emailAddress": mail_address, - "phoneNumber": None - }, - "query": "mutation SignupOrLoginWithCodeSection_signupWithVerificationCodeMutation_Mutation(\n $verificationCode: String!\n $emailAddress: String\n $phoneNumber: String\n) {\n signupWithVerificationCode(verificationCode: $verificationCode, emailAddress: $emailAddress, phoneNumber: $phoneNumber) {\n status\n errorMessage\n }\n}\n" - }) - - base_string = payload + client.headers["poe-formkey"] + 'WpuLMiXEKKE98j56k' - client.headers["poe-tag-id"] = md5(base_string.encode()).hexdigest() - - response = client.post('https://poe.com/api/gql_POST', data = payload) - if logging: print('verify_code', response.json()) - - -Account.create(proxy = 'xtekky:wegwgwegwed_streaming-1@geo.iproyal.com:12321', logging = True) \ No newline at end of file diff --git a/t3nsor/README.md b/t3nsor/README.md new file mode 100644 index 00000000..373a0d1a --- /dev/null +++ b/t3nsor/README.md @@ -0,0 +1,42 @@ +### Example: `t3nsor` (use like openai pypi package) + +```python +# Import t3nsor +import t3nsor + +# t3nsor.Completion.create +# t3nsor.StreamCompletion.create + +[...] + +``` + +#### Example Chatbot +```python +messages = [] + +while True: + user = input('you: ') + + t3nsor_cmpl = t3nsor.Completion.create( + prompt = user, + messages = messages + ) + + print('gpt:', t3nsor_cmpl.completion.choices[0].text) + + messages.extend([ + {'role': 'user', 'content': user }, + {'role': 'assistant', 'content': t3nsor_cmpl.completion.choices[0].text} + ]) +``` + +#### Streaming Response: + +```python +for response in t3nsor.StreamCompletion.create( + prompt = 'write python code to reverse a string', + messages = []): + + print(response.completion.choices[0].text) +``` diff --git a/testing/poe_account_create_test.py b/testing/poe_account_create_test.py new file mode 100644 index 00000000..627520ca --- /dev/null +++ b/testing/poe_account_create_test.py @@ -0,0 +1,104 @@ +from requests import Session +from tls_client import Session as TLS +from json import dumps +from hashlib import md5 +from time import sleep +from re import findall +from pypasser import reCaptchaV3 +from quora import extract_formkey +from quora.mail import Emailnator +from twocaptcha import TwoCaptcha + +solver = TwoCaptcha('72747bf24a9d89b4dcc1b24875efd358') + +class Account: + def create(proxy: None or str = None, logging: bool = False, enable_bot_creation: bool = False): + client = TLS(client_identifier='chrome110') + client.proxies = { + 'http': f'http://{proxy}', + 'https': f'http://{proxy}'} if proxy else None + + mail_client = Emailnator() + mail_address = mail_client.get_mail() + + if logging: print('email', mail_address) + + client.headers = { + 'authority' : 'poe.com', + 'accept' : '*/*', + 'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3', + 'content-type' : 'application/json', + 'origin' : 'https://poe.com', + 'poe-formkey' : 'null', + 'poe-tag-id' : 'null', + 'poe-tchannel' : 'null', + 'referer' : 'https://poe.com/login', + 'sec-ch-ua' : '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"', + 'sec-ch-ua-mobile' : '?0', + 'sec-ch-ua-platform': '"macOS"', + 'sec-fetch-dest': 'empty', + 'sec-fetch-mode': 'cors', + 'sec-fetch-site': 'same-origin', + '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' + } + + client.headers["poe-formkey"] = extract_formkey(client.get('https://poe.com/login').text) + client.headers["poe-tchannel"] = client.get('https://poe.com/api/settings').json()['tchannelData']['channel'] + + #token = reCaptchaV3('https://www.recaptcha.net/recaptcha/enterprise/anchor?ar=1&k=6LflhEElAAAAAI_ewVwRWI9hsyV4mbZnYAslSvlG&co=aHR0cHM6Ly9wb2UuY29tOjQ0Mw..&hl=en&v=4PnKmGB9wRHh1i04o7YUICeI&size=invisible&cb=bi6ivxoskyal') + token = solver.recaptcha(sitekey='6LflhEElAAAAAI_ewVwRWI9hsyV4mbZnYAslSvlG', + url = 'https://poe.com/login?redirect_url=%2F', + version = 'v3', + enterprise = 1, + invisible = 1, + action = 'login',)['code'] + + payload = dumps(separators = (',', ':'), obj = { + 'queryName': 'MainSignupLoginSection_sendVerificationCodeMutation_Mutation', + 'variables': { + 'emailAddress' : mail_address, + 'phoneNumber' : None, + 'recaptchaToken': token + }, + 'query': 'mutation MainSignupLoginSection_sendVerificationCodeMutation_Mutation(\n $emailAddress: String\n $phoneNumber: String\n $recaptchaToken: String\n) {\n sendVerificationCode(verificationReason: login, emailAddress: $emailAddress, phoneNumber: $phoneNumber, recaptchaToken: $recaptchaToken) {\n status\n errorMessage\n }\n}\n', + }) + + base_string = payload + client.headers["poe-formkey"] + 'WpuLMiXEKKE98j56k' + client.headers["poe-tag-id"] = md5(base_string.encode()).hexdigest() + + print(dumps(client.headers, indent=4)) + + response = client.post('https://poe.com/api/gql_POST', data=payload) + + if 'automated_request_detected' in response.text: + print('please try using a proxy / wait for fix') + + if 'Bad Request' in response.text: + if logging: print('bad request, retrying...' , response.json()) + quit() + + if logging: print('send_code' ,response.json()) + + mail_content = mail_client.get_message() + mail_token = findall(r';">(\d{6,7})', mail_content)[0] + + if logging: print('code', mail_token) + + payload = dumps(separators = (',', ':'), obj={ + "queryName": "SignupOrLoginWithCodeSection_signupWithVerificationCodeMutation_Mutation", + "variables": { + "verificationCode": str(mail_token), + "emailAddress": mail_address, + "phoneNumber": None + }, + "query": "mutation SignupOrLoginWithCodeSection_signupWithVerificationCodeMutation_Mutation(\n $verificationCode: String!\n $emailAddress: String\n $phoneNumber: String\n) {\n signupWithVerificationCode(verificationCode: $verificationCode, emailAddress: $emailAddress, phoneNumber: $phoneNumber) {\n status\n errorMessage\n }\n}\n" + }) + + base_string = payload + client.headers["poe-formkey"] + 'WpuLMiXEKKE98j56k' + client.headers["poe-tag-id"] = md5(base_string.encode()).hexdigest() + + response = client.post('https://poe.com/api/gql_POST', data = payload) + if logging: print('verify_code', response.json()) + + +Account.create(proxy = 'xtekky:wegwgwegwed_streaming-1@geo.iproyal.com:12321', logging = True) \ No newline at end of file diff --git a/writesonic/README.md b/writesonic/README.md new file mode 100644 index 00000000..a658a87c --- /dev/null +++ b/writesonic/README.md @@ -0,0 +1,53 @@ +### Example: `writesonic` (use like openai pypi package) + +```python +# import writesonic +import writesonic + +# create account (3-4s) +account = writesonic.Account.create(logging = True) + +# with loging: + # 2023-04-06 21:50:25 INFO __main__ -> register success : '{"id":"51aa0809-3053-44f7-922a...' (2s) + # 2023-04-06 21:50:25 INFO __main__ -> id : '51aa0809-3053-44f7-922a-2b85d8d07edf' + # 2023-04-06 21:50:25 INFO __main__ -> token : 'eyJhbGciOiJIUzI1NiIsInR5cCI6Ik...' + # 2023-04-06 21:50:28 INFO __main__ -> got key : '194158c4-d249-4be0-82c6-5049e869533c' (2s) + +# simple completion +response = writesonic.Completion.create( + api_key = account.key, + prompt = 'hello world' +) + +print(response.completion.choices[0].text) # Hello! How may I assist you today? + +# conversation + +response = writesonic.Completion.create( + api_key = account.key, + prompt = 'what is my name ?', + enable_memory = True, + history_data = [ + { + 'is_sent': True, + 'message': 'my name is Tekky' + }, + { + 'is_sent': False, + 'message': 'hello Tekky' + } + ] +) + +print(response.completion.choices[0].text) # Your name is Tekky. + +# enable internet + +response = writesonic.Completion.create( + api_key = account.key, + prompt = 'who won the quatar world cup ?', + enable_google_results = True +) + +print(response.completion.choices[0].text) # Argentina won the 2022 FIFA World Cup tournament held in Qatar ... +``` \ No newline at end of file diff --git a/you/README.md b/you/README.md new file mode 100644 index 00000000..69da131a --- /dev/null +++ b/you/README.md @@ -0,0 +1,36 @@ +### Example: `you` (use like openai pypi package) + +```python +import you + +# simple request with links and details +response = you.Completion.create( + prompt = "hello world", + detailed = True, + includelinks = True,) + +print(response) + +# { +# "response": "...", +# "links": [...], +# "extra": {...}, +# "slots": {...} +# } +# } + +#chatbot + +chat = [] + +while True: + prompt = input("You: ") + + response = you.Completion.create( + prompt = prompt, + chat = chat) + + print("Bot:", response["response"]) + + chat.append({"question": prompt, "answer": response["response"]}) +``` \ No newline at end of file -- cgit v1.2.3