diff options
author | noptuno <repollo.marrero@gmail.com> | 2023-04-28 12:33:51 +0200 |
---|---|---|
committer | noptuno <repollo.marrero@gmail.com> | 2023-04-28 12:33:51 +0200 |
commit | 396d7e11b2623cf05c3b0fd4ff9b6cce667835fd (patch) | |
tree | 4d7f4531e082deba4fb6bac7e5b221d887e066d9 /unfinished | |
parent | Remove ignored files from repository (diff) | |
parent | Merge pull request #241 from ethanx40/main (diff) | |
download | gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.gz gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.bz2 gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.lz gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.xz gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.tar.zst gpt4free-396d7e11b2623cf05c3b0fd4ff9b6cce667835fd.zip |
Diffstat (limited to '')
-rw-r--r-- | cocalc/__init__.py (renamed from unfinished/cocalc/__init__.py) | 104 | ||||
-rw-r--r-- | unfinished/cocalc/cocalc_test.py | 7 | ||||
-rw-r--r-- | unfinished/openaihosted/README.md | 3 | ||||
-rw-r--r-- | unfinished/openaihosted/__init__.py | 41 |
4 files changed, 57 insertions, 98 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 diff --git a/unfinished/cocalc/cocalc_test.py b/unfinished/cocalc/cocalc_test.py deleted file mode 100644 index d6266518..00000000 --- a/unfinished/cocalc/cocalc_test.py +++ /dev/null @@ -1,7 +0,0 @@ -import cocalc - -response = cocalc.Completion.create( - prompt='hello world' -) - -print(response) diff --git a/unfinished/openaihosted/README.md b/unfinished/openaihosted/README.md deleted file mode 100644 index 60b5ea7a..00000000 --- a/unfinished/openaihosted/README.md +++ /dev/null @@ -1,3 +0,0 @@ -writegpt.ai -to do: -- code ref diff --git a/unfinished/openaihosted/__init__.py b/unfinished/openaihosted/__init__.py deleted file mode 100644 index ba4d3982..00000000 --- a/unfinished/openaihosted/__init__.py +++ /dev/null @@ -1,41 +0,0 @@ -import json -import re - -import requests - -headers = { - 'authority': 'openai.a2hosted.com', - 'accept': 'text/event-stream', - 'accept-language': 'en-US,en;q=0.9,id;q=0.8,ja;q=0.7', - 'cache-control': 'no-cache', - 'sec-fetch-dest': 'empty', - 'sec-fetch-mode': 'cors', - 'sec-fetch-site': 'cross-site', - 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.0.0', -} - - -def create_query_param(conversation): - encoded_conversation = json.dumps(conversation) - return encoded_conversation.replace(" ", "%20").replace('"', '%22').replace("'", "%27") - - -user_input = input("Enter your message: ") - -data = [ - {"role": "system", "content": "You are a helpful assistant."}, - {"role": "user", "content": "hi"}, - {"role": "assistant", "content": "Hello! How can I assist you today?"}, - {"role": "user", "content": user_input}, -] - -query_param = create_query_param(data) -url = f'https://openai.a2hosted.com/chat?q={query_param}' - -response = requests.get(url, headers=headers, stream=True) - -for message in response.iter_content(chunk_size=1024): - message = message.decode('utf-8') - msg_match, num_match = re.search(r'"msg":"(.*?)"', message), re.search(r'\[DONE\] (\d+)', message) - if msg_match: print(msg_match.group(1)) - if num_match: print(num_match.group(1)) |