mirror of
https://github.com/xtekky/gpt4free.git
synced 2024-12-26 20:54:28 +03:00
decentralising the Ai Industry, free gpt-4/3.5 scripts through several reverse engineered api's ( poe.com, phind.com, chat.openai.com, phind.com, writesonic.com, sqlchat.ai, t3nsor.com, you.com etc...)
chatbotchatbotschatgptchatgpt-4chatgpt-apichatgpt-freechatgpt4free-gptgptgpt-3gpt-4gpt3gpt4gpt4-apilanguage-modelopenaiopenai-apiopenai-chatgptpythonreverse-engineeringstarred-repostarred-xtekky-repo
081dfff8b4
added create bot feature quora.Model.create new model names: { 'sage' : 'capybara', 'gpt-4' : 'beaver', 'claude-v1.2' : 'a2_2', 'claude-instant-v1.0' : 'a2', 'gpt-3.5-turbo' : 'chinchilla' } |
||
---|---|---|
experimental | ||
ora | ||
quora | ||
t3nsor | ||
testing | ||
writesonic | ||
you | ||
README.md | ||
requirements.txt |
Free LLM APIs
This repository provides reverse-engineered language models from various sources. Some of these models are already available in the repo, while others are currently being worked on.
Important: If you come across any website offering free language models, please create an issue or submit a pull request with the details. We will reverse engineer it and add it to this repository.
To-Do List
- implement poe.com create bot feature (4) AVAILABLE NOW
- poe.com chat history management (3)
- renaming the 'poe' module to 'quora' (2)
- add you.com api (1)
Table of Contents
- Current Sites (No Authentication / Easy Account Creation)
- Sites with Authentication (Will Reverse Engineer but Need Account Access)
- Usage Examples
Current Sites
Website | Model(s) |
---|---|
ora.sh | GPT-3.5 |
nat.dev | GPT-4/3.5 (paid now, looking for bypass) |
poe.com | GPT-4/3.5 |
writesonic.com | GPT-3.5 / Internet |
t3nsor.com | GPT-3.5 |
you.com | GPT-3.5 / Internet / good search |
Sites with Authentication
These sites will be reverse engineered but need account access:
Usage Examples
Example: quora (poe)
(use like openai pypi package) - GPT-4
# quora model names: (use left key as argument)
models = {
'sage' : 'capybara',
'gpt-4' : 'beaver',
'claude-v1.2' : 'a2_2',
'claude-instant-v1.0' : 'a2',
'gpt-3.5-turbo' : 'chinchilla'
}
!! new: bot creation
# import quora (poe) package
import quora
# create account
# make shure to set enable_bot_creation to True
token = quora.Account.create(logging = True, enable_bot_creation=True)
model = quora.Model.create(
token = token,
model = 'gpt-3.5-turbo', # or claude-instant-v1.0
system_prompt = 'you are ChatGPT a large language model ...'
)
print(model.name) # gptx....
# streaming response
for response in quora.StreamingCompletion.create(
custom_model = model.name,
prompt ='hello world',
token = token):
print(response.completion.choices[0].text)
Normal Response:
response = quora.Completion.create(model = 'gpt-4',
prompt = 'hello world',
token = token)
print(response.completion.choices[0].text)
Example: t3nsor
(use like openai pypi package)
# Import t3nsor
import t3nsor
# t3nsor.Completion.create
# t3nsor.StreamCompletion.create
[...]
Example Chatbot
messages = []
while True:
user = input('you: ')
t3nsor_cmpl = t3nsor.Completion.create(
prompt = user,
messages = messages
)
print('gpt:', t3nsor_cmpl.completion.choices[0].text)
messages.extend([
{'role': 'user', 'content': user },
{'role': 'assistant', 'content': t3nsor_cmpl.completion.choices[0].text}
])
Streaming Response:
for response in t3nsor.StreamCompletion.create(
prompt = 'write python code to reverse a string',
messages = []):
print(response.completion.choices[0].text)
Example: ora
(use like openai pypi package)
# import ora
import ora
[...]
create model / chatbot:
# inport 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',
description = 'ChatGPT Openai Language Model',
name = 'gpt-3.5')
# init conversation (will give you a conversationId)
init = ora.Completion.create(
model = model,
prompt = 'hello world')
print(init.completion.choices[0].text)
while True:
# pass in conversationId to continue conversation
prompt = input('>>> ')
response = ora.Completion.create(
model = model,
prompt = prompt,
conversationId = init.id)
print(response.completion.choices[0].text)
Example: writesonic
(use like openai pypi package)
# import writesonic
import writesonic
# create account (3-4s)
account = writesonic.Account.create(logging = True)
# with loging:
# 2023-04-06 21:50:25 INFO __main__ -> register success : '{"id":"51aa0809-3053-44f7-922a...' (2s)
# 2023-04-06 21:50:25 INFO __main__ -> id : '51aa0809-3053-44f7-922a-2b85d8d07edf'
# 2023-04-06 21:50:25 INFO __main__ -> token : 'eyJhbGciOiJIUzI1NiIsInR5cCI6Ik...'
# 2023-04-06 21:50:28 INFO __main__ -> got key : '194158c4-d249-4be0-82c6-5049e869533c' (2s)
# simple completion
response = writesonic.Completion.create(
api_key = account.key,
prompt = 'hello world'
)
print(response.completion.choices[0].text) # Hello! How may I assist you today?
# conversation
response = writesonic.Completion.create(
api_key = account.key,
prompt = 'what is my name ?',
enable_memory = True,
history_data = [
{
'is_sent': True,
'message': 'my name is Tekky'
},
{
'is_sent': False,
'message': 'hello Tekky'
}
]
)
print(response.completion.choices[0].text) # Your name is Tekky.
# enable internet
response = writesonic.Completion.create(
api_key = account.key,
prompt = 'who won the quatar world cup ?',
enable_google_results = True
)
print(response.completion.choices[0].text) # Argentina won the 2022 FIFA World Cup tournament held in Qatar ...
Example: you
(use like openai pypi package)
import you
# simple request with links and details
response = you.Completion.create(
prompt = "hello world",
detailed = True,
includelinks = True,)
print(response)
# {
# "response": "...",
# "links": [...],
# "extra": {...},
# "slots": {...}
# }
# }
#chatbot
chat = []
while True:
prompt = input("You: ")
response = you.Completion.create(
prompt = prompt,
chat = chat)
print("Bot:", response["response"])
chat.append({"question": prompt, "answer": response["response"]})
Dependencies
The repository is written in Python and requires the following packages:
- websocket-client
- requests
- tls-client
You can install these packages using the provided requirements.txt
file.
Repository structure:
.
├── ora/
├── quora/ (/poe)
├── t3nsor/
├── testing/
├── writesonic/
├── you/
├── README.md <-- this file.
└── requirements.txt