diff --git a/README.md b/README.md index 6343e89..b4f1dac 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,7 @@ while True: response = ora.Completion.create( model = model, prompt = prompt, + includeHistory = True, # remember history conversationId = init.id) print(response.completion.choices[0].text) diff --git a/ora/__init__.py b/ora/__init__.py index 546e094..928f4af 100644 --- a/ora/__init__.py +++ b/ora/__init__.py @@ -2,20 +2,33 @@ from ora.model import CompletionModel from ora.typing import OraResponse from requests import post from time import time +from random import randint class Completion: def create( model : CompletionModel, prompt: str, + includeHistory: bool = True, conversationId: str or None = None) -> OraResponse: extra = { 'conversationId': conversationId} if conversationId else {} - - response = post('https://ora.sh/api/conversation', json = extra | { - 'chatbotId': model.id, - 'input' : prompt, - 'userId' : model.createdBy}).json() + + response = post('https://ora.sh/api/conversation', + headers = { + "host" : "ora.sh", + "authorization" : f"Bearer AY0{randint(1111, 9999)}", + "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", + "origin" : "https://ora.sh", + "referer" : "https://ora.sh/chat/", + }, + json = extra | { + 'chatbotId': model.id, + 'input' : prompt, + 'userId' : model.createdBy, + 'model' : 'gpt-3.5-turbo', + 'provider' : 'OPEN_AI', + 'includeHistory': includeHistory}).json() return OraResponse({ 'id' : response['conversationId'], diff --git a/testing/ora_test.py b/testing/ora_test.py new file mode 100644 index 0000000..5bc2449 --- /dev/null +++ b/testing/ora_test.py @@ -0,0 +1,29 @@ +# 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') + +print(model.id) + +# 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, + conversationId = init.id) + + print(response.completion.choices[0].text) \ No newline at end of file