diff options
author | 9fo <71867245+9fo@users.noreply.github.com> | 2023-04-28 01:07:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-28 01:07:01 +0200 |
commit | ac92b8a2ad4d2aa6b6e471ced50799bc5992254b (patch) | |
tree | 97242f169ce211bb07d0009af53b1eb162d893f8 /cocalc/__init__.py | |
parent | openaihosted finished (diff) | |
download | gpt4free-ac92b8a2ad4d2aa6b6e471ced50799bc5992254b.tar gpt4free-ac92b8a2ad4d2aa6b6e471ced50799bc5992254b.tar.gz gpt4free-ac92b8a2ad4d2aa6b6e471ced50799bc5992254b.tar.bz2 gpt4free-ac92b8a2ad4d2aa6b6e471ced50799bc5992254b.tar.lz gpt4free-ac92b8a2ad4d2aa6b6e471ced50799bc5992254b.tar.xz gpt4free-ac92b8a2ad4d2aa6b6e471ced50799bc5992254b.tar.zst gpt4free-ac92b8a2ad4d2aa6b6e471ced50799bc5992254b.zip |
Diffstat (limited to 'cocalc/__init__.py')
-rw-r--r-- | cocalc/__init__.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/cocalc/__init__.py b/cocalc/__init__.py new file mode 100644 index 00000000..5a32274c --- /dev/null +++ b/cocalc/__init__.py @@ -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"]
+ }
\ No newline at end of file |