diff options
Diffstat (limited to '')
-rw-r--r-- | unfinished/cocalc/__init__.py | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/unfinished/cocalc/__init__.py b/unfinished/cocalc/__init__.py index f345304f..2b73fc9e 100644 --- a/unfinished/cocalc/__init__.py +++ b/unfinished/cocalc/__init__.py @@ -1,13 +1,24 @@ 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 +27,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 |