summaryrefslogtreecommitdiffstats
path: root/unfinished/cocalc/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'unfinished/cocalc/__init__.py')
-rw-r--r--unfinished/cocalc/__init__.py39
1 files changed, 28 insertions, 11 deletions
diff --git a/unfinished/cocalc/__init__.py b/unfinished/cocalc/__init__.py
index f345304f..3ad9937a 100644
--- a/unfinished/cocalc/__init__.py
+++ b/unfinished/cocalc/__init__.py
@@ -1,13 +1,25 @@
import requests
+
class Completion:
- def create(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:
+ 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."""
- # Initialize a session
session = requests.Session()
-
- # Set headers for the request
headers = {
'Accept': '*/*',
'Accept-Language': 'en-US,en;q=0.5',
@@ -16,16 +28,21 @@ class Completion:
'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)
-
- # Set the data that will be submitted
- payload = {
+
+ 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"
}
- # Submit the request
- response = session.post("https://cocalc.com/api/v2/openai/chatgpt", json=payload).json()
+ def _submit_request(self, session: requests.Session, payload: dict) -> str:
+ """Submit the request to the API and return the response."""
- # Return the results
+ response = session.post(
+ "https://cocalc.com/api/v2/openai/chatgpt", json=payload).json()
return response