summaryrefslogtreecommitdiffstats
path: root/cocalc/__init__.py
diff options
context:
space:
mode:
authort.me/xtekky <98614666+xtekky@users.noreply.github.com>2023-04-28 10:03:48 +0200
committerGitHub <noreply@github.com>2023-04-28 10:03:48 +0200
commitc5cdbaf6e19fa5693c4194e53772452b9e1c3eac (patch)
tree5edf2d2f6f7d88f523397587e569ea06e4acc38f /cocalc/__init__.py
parentMerge pull request #215 from hikeri/main (diff)
parentfixed # (diff)
downloadgpt4free-c5cdbaf6e19fa5693c4194e53772452b9e1c3eac.tar
gpt4free-c5cdbaf6e19fa5693c4194e53772452b9e1c3eac.tar.gz
gpt4free-c5cdbaf6e19fa5693c4194e53772452b9e1c3eac.tar.bz2
gpt4free-c5cdbaf6e19fa5693c4194e53772452b9e1c3eac.tar.lz
gpt4free-c5cdbaf6e19fa5693c4194e53772452b9e1c3eac.tar.xz
gpt4free-c5cdbaf6e19fa5693c4194e53772452b9e1c3eac.tar.zst
gpt4free-c5cdbaf6e19fa5693c4194e53772452b9e1c3eac.zip
Diffstat (limited to '')
-rw-r--r--cocalc/__init__.py (renamed from unfinished/cocalc/__init__.py)104
1 files changed, 57 insertions, 47 deletions
diff --git a/unfinished/cocalc/__init__.py b/cocalc/__init__.py
index 2b73fc9e..5a32274c 100644
--- a/unfinished/cocalc/__init__.py
+++ b/cocalc/__init__.py
@@ -1,47 +1,57 @@
-import requests
-
-
-class Completion:
- def create(self, prompt="What is the square root of pi",
- system_prompt=("ASSUME I HAVE FULL ACCESS TO COCALC. ENCLOSE MATH IN $. "
- "INCLUDE THE LANGUAGE DIRECTLY AFTER THE TRIPLE BACKTICKS "
- "IN ALL MARKDOWN CODE BLOCKS. How can I do the following using CoCalc?")) -> str:
- # Initialize a session with custom headers
- session = self._initialize_session()
-
- # Set the data that will be submitted
- payload = self._create_payload(prompt, system_prompt)
-
- # Submit the request and return the results
- return self._submit_request(session, payload)
-
- def _initialize_session(self) -> 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',
- '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
-
- def _create_payload(self, prompt: str, system_prompt: str) -> dict:
- """Create the payload with the given prompts."""
-
- return {
- "input": prompt,
- "system": system_prompt,
- "tag": "next:index"
- }
-
- def _submit_request(self, session: requests.Session, payload: dict) -> str:
- """Submit the request to the API and return the response."""
-
- response = session.post(
- "https://cocalc.com/api/v2/openai/chatgpt", json=payload).json()
- return response
+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