Merge branch 'main' into fix/poe_account_creation
This commit is contained in:
commit
98afd5b985
9 changed files with 135 additions and 32 deletions
37
README.md
37
README.md
|
@ -1,24 +1,20 @@
|
|||
# Gpt4free - use chatgpt, for free !!
|
||||
# GPT4free - use ChatGPT, for free!!
|
||||
|
||||
<img width="1383" alt="image" src="https://user-images.githubusercontent.com/98614666/233799515-1a7cb6a3-b17f-42c4-956d-8d2a0664466f.png">
|
||||
|
||||
Have you ever come across some amazing projects that you couldnt use **just because you didn't have an OpenAI API key ?**
|
||||
Have you ever come across some amazing projects that you couldnt use **just because you didn't have an OpenAI API key?**
|
||||
|
||||
**We've got u covered !!** This repository offers **reverse-engineered** third-party APIs for `GPT-4/3.5`, sourced from various websites. You can simply **download** this repository and use the available modules, which are designed to be used **just like OpenAI's official package**. **Unleash ChatGpt's potential for your projects, now !** You are welcome ; ).
|
||||
**We've got you covered!** This repository offers **reverse-engineered** third-party APIs for `GPT-4/3.5`, sourced from various websites. You can simply **download** this repository and use the available modules, which are designed to be used **just like OpenAI's official package**. **Unleash ChatGPT's potential for your projects, now!** You are welcome ; ).
|
||||
|
||||
By the way, thank you so much for `2k` stars and all the support !!
|
||||
|
||||
## Chatgpt clone
|
||||
> https://chat.chatbot.sex/chat
|
||||
> This site was developed by me and includes **gpt-4/3.5**, **internet access** and **gpt-jailbreak's** like DAN
|
||||
> run locally here: https://github.com/xtekky/chatgpt-clone
|
||||
By the way, thank you so much for `2k` stars and all the support!!
|
||||
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [To do list](#todo)
|
||||
- [Current Sites](#current-sites)
|
||||
- [Best Sites for gpt4](#best-sites)
|
||||
- [How to intall](#install)
|
||||
- [How to install](#install)
|
||||
- [Legal Notice](#legal-notice)
|
||||
- [Copyright](#copyright)
|
||||
|
||||
|
@ -31,6 +27,15 @@ By the way, thank you so much for `2k` stars and all the support !!
|
|||
- [`writesonic`](./writesonic/README.md)
|
||||
- [`you`](./you/README.md)
|
||||
- [`sqlchat`](./sqlchat/README.md)
|
||||
|
||||
## Todo <a name="todo"></a>
|
||||
|
||||
- [ ] add a GUI for the repo
|
||||
- [ ] make a general package like `openai_rev`, instead of different folders
|
||||
- [ ] live api status to know which are down and which can be used
|
||||
- [ ] integrate more api's in `./unfinished` aswell as other ones in the lists
|
||||
- [ ] make an api to use as proxy for other projects
|
||||
- [ ] make a pypi package
|
||||
|
||||
## Current Sites <a name="current-sites"></a>
|
||||
|
||||
|
@ -53,6 +58,7 @@ By the way, thank you so much for `2k` stars and all the support !!
|
|||
- [`/ora`](./ora/README.md)
|
||||
- here is proof / test: [`ora_gpt4_proof.py`](./testing/ora_gpt4_proof.py)
|
||||
- why ?, no streaming compared to poe.com but u can send more than 1 message
|
||||
- update: you need to use session token now and there is a limit, accounts are only google so no creator for now
|
||||
|
||||
#### gpt-3.5
|
||||
- [`/sqlchat`](./sqlchat/README.md)
|
||||
|
@ -63,12 +69,21 @@ By the way, thank you so much for `2k` stars and all the support !!
|
|||
- why ? its not sure if they use gpt, but rather claude but they have an amazing search and good reasoning model
|
||||
|
||||
## Install <a name="install"></a>
|
||||
- download or clone this github repo
|
||||
- download or clone this GitHub repo
|
||||
|
||||
install requirements with:
|
||||
```sh
|
||||
pip3 install -r requirements.txt
|
||||
```
|
||||
## To start gpt4free GUI
|
||||
To start gpt4free GUI run the following command :
|
||||
`streamlit run streamlit_app.py`
|
||||
|
||||
## ChatGPT clone
|
||||
> currently implementing new features and trying to scale it, please be patient it may be unstable
|
||||
> https://chat.chatbot.sex/chat
|
||||
> This site was developed by me and includes **gpt-4/3.5**, **internet access** and **gpt-jailbreak's** like DAN
|
||||
> run locally here: https://github.com/xtekky/chatgpt-clone
|
||||
|
||||
## Legal Notice <a name="legal-notice"></a>
|
||||
|
||||
|
|
|
@ -4,7 +4,14 @@
|
|||
|
||||
more gpt4 models in `/testing/ora_gpt4.py`
|
||||
|
||||
find the userid by visiting https://ora.sh/api/auth/session ( must be logged in on the site )
|
||||
and session_token in the cookies, it should be: __Secure-next-auth.session-token
|
||||
|
||||
```python
|
||||
# if using CompletionModel.load set these
|
||||
ora.user_id = '...'
|
||||
ora.session_token = '...'
|
||||
|
||||
# normal gpt-4: b8b12eaa-5d47-44d3-92a6-4d706f2bcacf
|
||||
model = ora.CompletionModel.load(chatbot_id, 'gpt-4') # or gpt-3.5
|
||||
```
|
||||
|
@ -14,6 +21,7 @@ model = ora.CompletionModel.load(chatbot_id, 'gpt-4') # or gpt-3.5
|
|||
# import ora
|
||||
import ora
|
||||
|
||||
|
||||
# create model
|
||||
model = ora.CompletionModel.create(
|
||||
system_prompt = 'You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible',
|
||||
|
@ -38,4 +46,4 @@ while True:
|
|||
conversationId = init.id)
|
||||
|
||||
print(response.completion.choices[0].text)
|
||||
```
|
||||
```
|
||||
|
|
|
@ -4,18 +4,23 @@ from requests import post
|
|||
from time import time
|
||||
from random import randint
|
||||
|
||||
user_id = None
|
||||
session_token = None
|
||||
|
||||
class Completion:
|
||||
def create(
|
||||
model : CompletionModel,
|
||||
prompt: str,
|
||||
includeHistory: bool = True,
|
||||
conversationId: str or None = None) -> OraResponse:
|
||||
|
||||
extra = {
|
||||
'conversationId': conversationId} if conversationId else {}
|
||||
|
||||
response = post('https://ora.sh/api/conversation',
|
||||
headers = {
|
||||
cookies = {
|
||||
"cookie" : f"__Secure-next-auth.session-token={session_token}"} if session_token else {}
|
||||
|
||||
response = post('https://ora.sh/api/conversation',
|
||||
headers = cookies | {
|
||||
"host" : "ora.sh",
|
||||
"authorization" : f"Bearer AY0{randint(1111, 9999)}",
|
||||
"user-agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
|
||||
|
@ -25,10 +30,13 @@ class Completion:
|
|||
json = extra | {
|
||||
'chatbotId': model.id,
|
||||
'input' : prompt,
|
||||
'userId' : model.createdBy,
|
||||
'userId' : user_id if user_id else model.createdBy,
|
||||
'model' : model.modelName,
|
||||
'provider' : 'OPEN_AI',
|
||||
'includeHistory': includeHistory}).json()
|
||||
|
||||
if response.get('error'):
|
||||
raise Exception('''set ora.user_id and ora.session_token\napi response: %s''' % response['error'])
|
||||
|
||||
return OraResponse({
|
||||
'id' : response['conversationId'],
|
||||
|
|
|
@ -5,6 +5,7 @@ import phind
|
|||
|
||||
# set cf_clearance cookie
|
||||
phind.cf_clearance = 'xx.xx-1682166681-0-160'
|
||||
phind.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' # same as the one from browser you got cf_clearance from
|
||||
|
||||
prompt = 'who won the quatar world cup'
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ from re import findall
|
|||
from curl_cffi.requests import post
|
||||
|
||||
cf_clearance = ''
|
||||
user_agent = ''
|
||||
|
||||
class PhindResponse:
|
||||
|
||||
|
@ -52,6 +53,9 @@ class PhindResponse:
|
|||
|
||||
class Search:
|
||||
def create(prompt: str, actualSearch: bool = True, language: str = 'en') -> dict: # None = no search
|
||||
if user_agent == '':
|
||||
raise ValueError('user_agent must be set, refer to documentation')
|
||||
|
||||
if not actualSearch:
|
||||
return {
|
||||
'_type': 'SearchResponse',
|
||||
|
@ -83,7 +87,7 @@ class Search:
|
|||
'sec-fetch-dest': 'empty',
|
||||
'sec-fetch-mode': 'cors',
|
||||
'sec-fetch-site': 'same-origin',
|
||||
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
|
||||
'user-agent': user_agent
|
||||
}
|
||||
|
||||
return post('https://www.phind.com/api/bing/search', headers = headers, json = {
|
||||
|
@ -102,6 +106,9 @@ class Completion:
|
|||
codeContext: str = '',
|
||||
language: str = 'en') -> PhindResponse:
|
||||
|
||||
if user_agent == '':
|
||||
raise ValueError('user_agent must be set, refer to documentation')
|
||||
|
||||
if results is None:
|
||||
results = Search.create(prompt, actualSearch = True)
|
||||
|
||||
|
@ -141,7 +148,7 @@ class Completion:
|
|||
'sec-fetch-dest': 'empty',
|
||||
'sec-fetch-mode': 'cors',
|
||||
'sec-fetch-site': 'same-origin',
|
||||
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
|
||||
'user-agent': user_agent
|
||||
}
|
||||
|
||||
completion = ''
|
||||
|
@ -192,9 +199,7 @@ class StreamingCompletion:
|
|||
'creative': creative
|
||||
}
|
||||
}
|
||||
|
||||
print(cf_clearance)
|
||||
|
||||
|
||||
headers = {
|
||||
'authority': 'www.phind.com',
|
||||
'accept': '*/*',
|
||||
|
@ -209,7 +214,7 @@ class StreamingCompletion:
|
|||
'sec-fetch-dest': 'empty',
|
||||
'sec-fetch-mode': 'cors',
|
||||
'sec-fetch-site': 'same-origin',
|
||||
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
|
||||
'user-agent': user_agent
|
||||
}
|
||||
|
||||
response = post('https://www.phind.com/api/infer/answer',
|
||||
|
@ -228,6 +233,9 @@ class StreamingCompletion:
|
|||
codeContext : str = '',
|
||||
language : str = 'en'):
|
||||
|
||||
if user_agent == '':
|
||||
raise ValueError('user_agent must be set, refer to documentation')
|
||||
|
||||
if results is None:
|
||||
results = Search.create(prompt, actualSearch = True)
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import phind
|
||||
|
||||
# set cf_clearance cookie
|
||||
phind.cf_clearance = 'hWfIdYKgcnxnU5ayolWe9t7eEmAbULywS.qfHkm1T_A-1682166681-0-160'
|
||||
phind.cf_clearance = 'heguhSRBB9d0sjLvGbQECS8b80m2BQ31xEmk9ChshKI-1682268995-0-160'
|
||||
phind.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
|
||||
|
||||
prompt = 'hello world'
|
||||
|
|
@ -5,5 +5,6 @@ pypasser
|
|||
names
|
||||
colorama
|
||||
curl_cffi
|
||||
streamlit==1.21.0
|
||||
selenium
|
||||
fake-useragent
|
43
streamlit_app.py
Normal file
43
streamlit_app.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
import streamlit as st
|
||||
import phind
|
||||
|
||||
def phind_get_answer(question:str)->str:
|
||||
# set cf_clearance cookie
|
||||
phind.cf_clearance = 'heguhSRBB9d0sjLvGbQECS8b80m2BQ31xEmk9ChshKI-1682268995-0-160'
|
||||
phind.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
|
||||
result = phind.Completion.create(
|
||||
model = 'gpt-4',
|
||||
prompt = question,
|
||||
results = phind.Search.create(question, actualSearch = True),
|
||||
creative = False,
|
||||
detailed = False,
|
||||
codeContext = '')
|
||||
return result.completion.choices[0].text
|
||||
|
||||
|
||||
st.set_page_config(
|
||||
page_title="gpt4freeGUI",
|
||||
initial_sidebar_state="expanded",
|
||||
page_icon="🧠",
|
||||
menu_items={
|
||||
'Get Help': 'https://github.com/xtekky/gpt4free/blob/main/README.md',
|
||||
'Report a bug': "https://github.com/xtekky/gpt4free/issues",
|
||||
'About': "### gptfree GUI"
|
||||
}
|
||||
)
|
||||
|
||||
st.header('GPT4free GUI')
|
||||
|
||||
question_text_area = st.text_area('🤖 Ask Any Question :', placeholder='Explain quantum computing in 50 words')
|
||||
if st.button('🧠 Think'):
|
||||
answer = phind_get_answer(question_text_area)
|
||||
st.caption("Answer :")
|
||||
st.markdown(answer)
|
||||
|
||||
|
||||
hide_streamlit_style = """
|
||||
<style>
|
||||
footer {visibility: hidden;}
|
||||
</style>
|
||||
"""
|
||||
st.markdown(hide_streamlit_style, unsafe_allow_html=True)
|
|
@ -1,5 +1,31 @@
|
|||
import ora
|
||||
|
||||
ora.user_id = '...'
|
||||
ora.session_token = '...'
|
||||
|
||||
gpt4_chatbot_ids = ['b8b12eaa-5d47-44d3-92a6-4d706f2bcacf', 'fbe53266-673c-4b70-9d2d-d247785ccd91', 'bd5781cf-727a-45e9-80fd-a3cfce1350c6', '993a0102-d397-47f6-98c3-2587f2c9ec3a', 'ae5c524e-d025-478b-ad46-8843a5745261', 'cc510743-e4ab-485e-9191-76960ecb6040', 'a5cd2481-8e24-4938-aa25-8e26d6233390', '6bca5930-2aa1-4bf4-96a7-bea4d32dcdac', '884a5f2b-47a2-47a5-9e0f-851bbe76b57c', 'd5f3c491-0e74-4ef7-bdca-b7d27c59e6b3', 'd72e83f6-ef4e-4702-844f-cf4bd432eef7', '6e80b170-11ed-4f1a-b992-fd04d7a9e78c', '8ef52d68-1b01-466f-bfbf-f25c13ff4a72', 'd0674e11-f22e-406b-98bc-c1ba8564f749', 'a051381d-6530-463f-be68-020afddf6a8f', '99c0afa1-9e32-4566-8909-f4ef9ac06226', '1be65282-9c59-4a96-99f8-d225059d9001', 'dba16bd8-5785-4248-a8e9-b5d1ecbfdd60', '1731450d-3226-42d0-b41c-4129fe009524', '8e74635d-000e-4819-ab2c-4e986b7a0f48', 'afe7ed01-c1ac-4129-9c71-2ca7f3800b30', 'e374c37a-8c44-4f0e-9e9f-1ad4609f24f5']
|
||||
chatbot_id = gpt4_chatbot_ids[0]
|
||||
|
||||
model = ora.CompletionModel.load(chatbot_id, 'gpt-4')
|
||||
response = ora.Completion.create(model, 'hello')
|
||||
|
||||
print(response.completion.choices[0].text)
|
||||
conversation_id = response.id
|
||||
|
||||
while True:
|
||||
# pass in conversationId to continue conversation
|
||||
|
||||
prompt = input('>>> ')
|
||||
response = ora.Completion.create(
|
||||
model = model,
|
||||
prompt = prompt,
|
||||
includeHistory = True, # remember history
|
||||
conversationId = conversation_id)
|
||||
|
||||
print(response.completion.choices[0].text)
|
||||
|
||||
|
||||
# bots :
|
||||
# 1 normal
|
||||
# 2 solidity contract helper
|
||||
# 3 swift project helper
|
||||
|
@ -16,12 +42,4 @@ import ora
|
|||
# 16 expert full-stack developer AI
|
||||
# 17 Solana development bot
|
||||
# 18 price guessing game bot
|
||||
# 19 AI Ethicist and Philosopher
|
||||
|
||||
gpt4_chatbot_ids = ['b8b12eaa-5d47-44d3-92a6-4d706f2bcacf', 'fbe53266-673c-4b70-9d2d-d247785ccd91', 'bd5781cf-727a-45e9-80fd-a3cfce1350c6', '993a0102-d397-47f6-98c3-2587f2c9ec3a', 'ae5c524e-d025-478b-ad46-8843a5745261', 'cc510743-e4ab-485e-9191-76960ecb6040', 'a5cd2481-8e24-4938-aa25-8e26d6233390', '6bca5930-2aa1-4bf4-96a7-bea4d32dcdac', '884a5f2b-47a2-47a5-9e0f-851bbe76b57c', 'd5f3c491-0e74-4ef7-bdca-b7d27c59e6b3', 'd72e83f6-ef4e-4702-844f-cf4bd432eef7', '6e80b170-11ed-4f1a-b992-fd04d7a9e78c', '8ef52d68-1b01-466f-bfbf-f25c13ff4a72', 'd0674e11-f22e-406b-98bc-c1ba8564f749', 'a051381d-6530-463f-be68-020afddf6a8f', '99c0afa1-9e32-4566-8909-f4ef9ac06226', '1be65282-9c59-4a96-99f8-d225059d9001', 'dba16bd8-5785-4248-a8e9-b5d1ecbfdd60', '1731450d-3226-42d0-b41c-4129fe009524', '8e74635d-000e-4819-ab2c-4e986b7a0f48', 'afe7ed01-c1ac-4129-9c71-2ca7f3800b30', 'e374c37a-8c44-4f0e-9e9f-1ad4609f24f5']
|
||||
chatbot_id = gpt4_chatbot_ids[0]
|
||||
|
||||
model = ora.CompletionModel.load(chatbot_id, 'gpt-4')
|
||||
response = ora.Completion.create(model, 'hello')
|
||||
|
||||
print(response.completion.choices[0].text)
|
||||
# 19 AI Ethicist and Philosopher
|
Loading…
Reference in a new issue