refactored cocalc too
This commit is contained in:
parent
789d60ef1c
commit
ac92b8a2ad
1 changed files with 57 additions and 0 deletions
57
cocalc/__init__.py
Normal file
57
cocalc/__init__.py
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
import requests
|
||||||
|
|
||||||
|
class Completion:
|
||||||
|
@staticmethod
|
||||||
|
def create(prompt:str, cookieInput:str) -> str:
|
||||||
|
# Initialize a session with custom headers
|
||||||
|
session = Completion._initialize_session(cookieInput)
|
||||||
|
|
||||||
|
# Set the data that will be submitted
|
||||||
|
payload = Completion._create_payload(prompt, ("ASSUME I HAVE FULL ACCESS TO COCALC. "))
|
||||||
|
|
||||||
|
# Submit the request and return the results
|
||||||
|
return Completion._submit_request(session, payload)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _initialize_session(cls, conversationCookie) -> requests.Session:
|
||||||
|
"""Initialize a session with custom headers for the request."""
|
||||||
|
|
||||||
|
session = requests.Session()
|
||||||
|
headers = {
|
||||||
|
'Accept': '*/*',
|
||||||
|
'Accept-Language': 'en-US,en;q=0.5',
|
||||||
|
'Origin': 'https://cocalc.com',
|
||||||
|
'Referer': 'https://cocalc.com/api/v2/openai/chatgpt',
|
||||||
|
'Cookie': conversationCookie,
|
||||||
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
|
||||||
|
}
|
||||||
|
session.headers.update(headers)
|
||||||
|
|
||||||
|
return session
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _create_payload(
|
||||||
|
cls,
|
||||||
|
prompt: str,
|
||||||
|
system_prompt: str
|
||||||
|
) -> dict:
|
||||||
|
|
||||||
|
return {
|
||||||
|
"input": prompt,
|
||||||
|
"system": system_prompt,
|
||||||
|
"tag": "next:index"
|
||||||
|
}
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _submit_request(
|
||||||
|
cls,
|
||||||
|
session: requests.Session,
|
||||||
|
payload: dict
|
||||||
|
) -> str:
|
||||||
|
|
||||||
|
response = session.post(
|
||||||
|
"https://cocalc.com/api/v2/openai/chatgpt", json=payload).json()
|
||||||
|
return {
|
||||||
|
"response":response["output"],
|
||||||
|
"success":response["success"]
|
||||||
|
}
|
Loading…
Reference in a new issue