1
0
Fork 0

Merge branch 'main' into fix/poe_account_creation

This commit is contained in:
Raju Komati 2023-04-25 00:06:24 +05:30
commit 98afd5b985
No known key found for this signature in database
GPG key ID: A581A5D67A8EB090
9 changed files with 135 additions and 32 deletions

View file

@ -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>

View file

@ -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)
```
```

View file

@ -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'],

View file

@ -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'

View file

@ -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)

View file

@ -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'

View file

@ -5,5 +5,6 @@ pypasser
names
colorama
curl_cffi
streamlit==1.21.0
selenium
fake-useragent

43
streamlit_app.py Normal file
View 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)

View file

@ -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