mirror of
https://github.com/xtekky/gpt4free.git
synced 2024-09-12 08:29:30 -04:00
remove cocalc; all non-authenticated access has been disabled
- cocalc is my website - i have disabled *all* non-authenticated access, so gpt4free will no longer work with cocalc. - it's better to remove it so you don't confuse your users, who might expect cocalc to work with gpt4free
This commit is contained in:
parent
7cd8a58c37
commit
42b8450be3
@ -42,9 +42,6 @@ print(f'END')
|
||||
response = gpt4free.Completion.create(Provider.Theb, prompt='Write a poem on Lionel Messi')
|
||||
print(response)
|
||||
|
||||
# usage cocalc
|
||||
response = gpt4free.Completion.create(Provider.CoCalc, prompt='Write a poem on Lionel Messi', cookie_input='')
|
||||
print(response)
|
||||
|
||||
```
|
||||
|
||||
@ -73,8 +70,6 @@ Some of the keyword arguments are optional, while others are required.
|
||||
|
||||
- Theb:
|
||||
(no keyword arguments required)
|
||||
- CoCalc:
|
||||
- `cookie_input`: str - this needs to be provided by user
|
||||
|
||||
#### Token generation of quora
|
||||
```python
|
||||
|
@ -1,6 +1,5 @@
|
||||
from enum import Enum
|
||||
|
||||
from gpt4free import cocalc
|
||||
from gpt4free import forefront
|
||||
from gpt4free import quora
|
||||
from gpt4free import theb
|
||||
@ -15,7 +14,6 @@ class Provider(Enum):
|
||||
Poe = 'poe'
|
||||
ForeFront = 'fore_front'
|
||||
Theb = 'theb'
|
||||
CoCalc = 'cocalc'
|
||||
UseLess = 'useless'
|
||||
|
||||
|
||||
@ -40,8 +38,6 @@ class Completion:
|
||||
return Completion.__fore_front_service(prompt, **kwargs)
|
||||
elif provider == Provider.Theb:
|
||||
return Completion.__theb_service(prompt, **kwargs)
|
||||
elif provider == Provider.CoCalc:
|
||||
return Completion.__cocalc_service(prompt, **kwargs)
|
||||
elif provider == Provider.UseLess:
|
||||
return Completion.__useless_service(prompt, **kwargs)
|
||||
else:
|
||||
@ -67,6 +63,3 @@ class Completion:
|
||||
def __theb_service(prompt: str, **kwargs):
|
||||
return ''.join(theb.Completion.create(prompt=prompt))
|
||||
|
||||
@staticmethod
|
||||
def __cocalc_service(prompt: str, **kwargs):
|
||||
return cocalc.Completion.create(prompt, cookie_input=kwargs.get('cookie_input', '')).text
|
||||
|
@ -1,67 +0,0 @@
|
||||
import requests
|
||||
from fake_useragent import UserAgent
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class CoCalcResponse(BaseModel):
|
||||
text: str
|
||||
status: bool
|
||||
|
||||
|
||||
class Completion:
|
||||
"""A class for generating text completions using CoCalc's GPT-based chatbot."""
|
||||
|
||||
API_ENDPOINT = "https://cocalc.com/api/v2/openai/chatgpt"
|
||||
DEFAULT_SYSTEM_PROMPT = "ASSUME I HAVE FULL ACCESS TO COCALC. "
|
||||
|
||||
@staticmethod
|
||||
def create(prompt: str, cookie_input: str) -> CoCalcResponse:
|
||||
"""
|
||||
Generate a text completion for the given prompt using CoCalc's GPT-based chatbot.
|
||||
|
||||
Args:
|
||||
prompt: The text prompt to complete.
|
||||
cookie_input: The cookie required to authenticate the chatbot API request.
|
||||
|
||||
Returns:
|
||||
A CoCalcResponse object containing the text completion and a boolean indicating
|
||||
whether the request was successful.
|
||||
"""
|
||||
|
||||
# Initialize a session with custom headers
|
||||
session = Completion._initialize_session(cookie_input)
|
||||
|
||||
# Set the data that will be submitted
|
||||
payload = Completion._create_payload(prompt, Completion.DEFAULT_SYSTEM_PROMPT)
|
||||
|
||||
try:
|
||||
# Submit the request and return the results
|
||||
response = session.post(Completion.API_ENDPOINT, json=payload).json()
|
||||
return CoCalcResponse(text=response['output'], status=response['success'])
|
||||
except requests.exceptions.RequestException as e:
|
||||
# Handle exceptions that may occur during the request
|
||||
print(f"Error: {e}")
|
||||
return CoCalcResponse(text="", status=False)
|
||||
|
||||
@classmethod
|
||||
def _initialize_session(cls, conversation_cookie: str) -> 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": conversation_cookie,
|
||||
"User-Agent": UserAgent().random,
|
||||
}
|
||||
session.headers.update(headers)
|
||||
|
||||
return session
|
||||
|
||||
@staticmethod
|
||||
def _create_payload(prompt: str, system_prompt: str) -> dict:
|
||||
"""Create the payload for the API request."""
|
||||
|
||||
return {"input": prompt, "system": system_prompt, "tag": "next:index"}
|
@ -1,19 +0,0 @@
|
||||
### Example: `cocalc` <a name="example-cocalc"></a>
|
||||
|
||||
```python
|
||||
# import library
|
||||
from gpt4free import cocalc
|
||||
|
||||
cocalc.Completion.create(prompt="How are you!", cookie_input="cookieinput") ## Tutorial
|
||||
```
|
||||
|
||||
### How to grab cookie input
|
||||
```js
|
||||
// input this into ur developer tools console and the exact response u get from this u put into ur cookieInput!
|
||||
var cookies = document.cookie.split("; ");
|
||||
var cookieString = "";
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
cookieString += cookies[i] + "; ";
|
||||
}
|
||||
console.log(cookieString);
|
||||
```
|
Loading…
Reference in New Issue
Block a user