2023-04-01 17:04:33 -04:00
# Free LLM APIs
2023-04-01 08:53:30 -04:00
2023-04-01 17:04:33 -04:00
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.
2023-04-01 08:55:00 -04:00
2023-04-01 17:04:33 -04:00
> **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.
2023-04-01 08:55:00 -04:00
2023-04-13 11:58:09 -04:00
## Best Chatgpt site
2023-04-15 22:24:19 -04:00
> https://chat.chatbot.sex/chat
2023-04-13 11:58:09 -04:00
> This site was developed by me and includes **gpt-4**, **internet access** and **gpt-jailbreak's** like DAN
2023-04-19 08:45:34 -04:00
> You can find an opensource version of it to run locally here: https://github.com/xtekky/chatgpt-clone
2023-04-12 06:59:35 -04:00
2023-04-09 18:22:16 -04:00
## To-Do List
2023-04-11 12:49:52 -04:00
- [x] implement poe.com create bot feature | AVAILABLE NOW
- [x] renaming the 'poe' module to 'quora'
- [x] add you.com api
2023-04-09 18:22:16 -04:00
2023-04-01 17:04:33 -04:00
## Table of Contents
2023-04-01 08:53:30 -04:00
2023-04-01 17:04:33 -04:00
- [Current Sites (No Authentication / Easy Account Creation) ](#current-sites )
- [Sites with Authentication (Will Reverse Engineer but Need Account Access) ](#sites-with-authentication )
- [Usage Examples ](#usage-examples )
2023-04-09 19:09:29 -04:00
- [`quora (poe)` ](#example-poe )
2023-04-15 10:21:51 -04:00
- [`phind` ](#example-phind )
2023-04-01 17:04:33 -04:00
- [`t3nsor` ](#example-t3nsor )
- [`ora` ](#example-ora )
2023-04-06 15:57:16 -04:00
- [`writesonic` ](#example-writesonic )
2023-04-09 19:03:55 -04:00
- [`you` ](#example-you )
2023-04-01 08:53:30 -04:00
2023-04-01 17:04:33 -04:00
## Current Sites <a name="current-sites"></a>
2023-04-01 08:53:30 -04:00
2023-04-01 17:04:33 -04:00
| Website | Model(s) |
| -------------------------- | -------------------- |
2023-04-16 12:40:45 -04:00
| [ora.sh ](https://ora.sh ) | GPT-3.5 / 4 |
2023-04-01 17:04:33 -04:00
| [poe.com ](https://poe.com ) | GPT-4/3.5 |
| [writesonic.com ](https://writesonic.com )|GPT-3.5 / Internet|
2023-04-09 19:03:55 -04:00
| [t3nsor.com ](https://t3nsor.com )|GPT-3.5|
| [you.com ](https://you.com )|GPT-3.5 / Internet / good search|
2023-04-15 10:21:51 -04:00
| [phind.com ](https://phind.com )|GPT-4 / Internet / good search|
2023-03-29 15:00:39 -04:00
2023-04-01 17:04:33 -04:00
## Sites with Authentication <a name="sites-with-authentication"></a>
2023-03-29 16:10:42 -04:00
2023-04-01 17:04:33 -04:00
These sites will be reverse engineered but need account access:
* [chat.openai.com/chat ](https://chat.openai.com/chat )
* [bard.google.com ](https://bard.google.com )
* [bing.com/chat ](https://bing.com/chat )
## Usage Examples <a name="usage-examples"></a>
2023-04-09 19:09:29 -04:00
### Example: `quora (poe)` (use like openai pypi package) - GPT-4 <a name="example-poe"></a>
2023-03-29 16:10:42 -04:00
```python
2023-04-11 12:44:29 -04:00
# 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'
}
```
2023-03-29 16:10:42 -04:00
2023-04-11 12:44:29 -04:00
#### !! new: bot creation
2023-04-01 17:04:33 -04:00
2023-04-11 12:44:29 -04:00
```python
# import quora (poe) package
import quora
2023-04-01 17:04:33 -04:00
2023-04-11 12:44:29 -04:00
# create account
# make shure to set enable_bot_creation to True
token = quora.Account.create(logging = True, enable_bot_creation=True)
2023-03-29 16:10:42 -04:00
2023-04-11 12:44:29 -04:00
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 ...'
)
2023-03-29 16:10:42 -04:00
2023-04-11 12:44:29 -04:00
print(model.name) # gptx....
2023-03-29 16:10:42 -04:00
2023-04-11 12:44:29 -04:00
# streaming response
for response in quora.StreamingCompletion.create(
custom_model = model.name,
prompt ='hello world',
token = token):
2023-03-29 16:10:42 -04:00
2023-04-11 12:44:29 -04:00
print(response.completion.choices[0].text)
2023-03-29 16:10:42 -04:00
```
2023-04-01 17:04:33 -04:00
#### Normal Response:
2023-03-29 16:10:42 -04:00
```python
2023-04-09 19:09:29 -04:00
response = quora.Completion.create(model = 'gpt-4',
2023-03-29 16:10:42 -04:00
prompt = 'hello world',
token = token)
2023-03-29 16:12:12 -04:00
print(response.completion.choices[0].text)
```
2023-04-15 10:21:51 -04:00
### Example: `phind` (use like openai pypi package) <a name="example-phind"></a>
```python
# HELP WANTED: tls_client does not accept stream and timeout gets hit with long responses
import phind
prompt = 'hello world'
result = phind.Completion.create(
model = 'gpt-4',
prompt = prompt,
results = phind.Search.create(prompt, actualSearch = False), # create search (set actualSearch to False to disable internet)
creative = False,
detailed = False,
codeContext = '') # up to 3000 chars of code
print(result.completion.choices[0].text)
```
2023-04-01 17:04:33 -04:00
### Example: `t3nsor` (use like openai pypi package) <a name="example-t3nsor"></a>
2023-03-29 15:00:39 -04:00
```python
2023-04-01 17:04:33 -04:00
# Import t3nsor
2023-03-29 15:00:39 -04:00
import t3nsor
# t3nsor.Completion.create
# t3nsor.StreamCompletion.create
2023-04-01 17:04:33 -04:00
[...]
2023-03-29 15:00:39 -04:00
```
2023-04-01 17:04:33 -04:00
#### Example Chatbot
2023-03-29 15:00:39 -04:00
```python
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}
])
```
2023-04-01 17:04:33 -04:00
#### Streaming Response:
2023-03-29 15:00:39 -04:00
```python
for response in t3nsor.StreamCompletion.create(
prompt = 'write python code to reverse a string',
messages = []):
print(response.completion.choices[0].text)
2023-04-01 08:53:30 -04:00
```
2023-04-01 09:06:46 -04:00
2023-04-01 17:04:33 -04:00
### Example: `ora` (use like openai pypi package) <a name="example-ora"></a>
2023-04-01 09:06:46 -04:00
2023-04-16 12:39:03 -04:00
### load model (new)
2023-04-01 17:04:33 -04:00
2023-04-16 12:39:03 -04:00
more gpt4 models in `/testing/ora_gpt4.py`
2023-04-01 17:04:33 -04:00
2023-04-16 12:39:03 -04:00
```python
# normal gpt-4: b8b12eaa-5d47-44d3-92a6-4d706f2bcacf
model = ora.CompletionModel.load(chatbot_id, 'gpt-4') # or gpt-3.5
2023-04-01 17:04:33 -04:00
```
#### create model / chatbot:
2023-04-01 09:07:17 -04:00
```python
2023-04-01 09:06:46 -04:00
# 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,
2023-04-11 13:09:50 -04:00
includeHistory = True, # remember history
2023-04-01 09:06:46 -04:00
conversationId = init.id)
print(response.completion.choices[0].text)
```
2023-04-06 15:57:16 -04:00
### Example: `writesonic` (use like openai pypi package) <a name="example-writesonic"></a>
```python
# 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 ...
```
2023-04-09 19:03:55 -04:00
### Example: `you` (use like openai pypi package) <a name="example-you"></a>
```python
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"]})
```
2023-04-01 17:04:33 -04:00
## Dependencies
2023-04-01 09:06:46 -04:00
2023-04-01 17:04:33 -04:00
The repository is written in Python and requires the following packages:
2023-04-01 09:06:46 -04:00
2023-04-01 17:04:33 -04:00
* websocket-client
* requests
* tls-client
2023-04-01 09:06:46 -04:00
2023-04-01 17:04:33 -04:00
You can install these packages using the provided `requirements.txt` file.
2023-04-01 09:06:46 -04:00
2023-04-01 17:04:33 -04:00
## Repository structure:
.
├── ora/
2023-04-09 19:09:29 -04:00
├── quora/ (/poe)
2023-04-01 17:04:33 -04:00
├── t3nsor/
2023-04-09 19:03:55 -04:00
├── testing/
2023-04-06 15:57:16 -04:00
├── writesonic/
2023-04-09 19:03:55 -04:00
├── you/
2023-04-01 17:04:33 -04:00
├── README.md < -- this file .
2023-04-12 06:59:35 -04:00
└── requirements.txt
2023-04-16 19:14:41 -04:00
## Star History
[![Star History Chart ](https://api.star-history.com/svg?repos=xtekky/openai-gpt4&type=Timeline )](https://star-history.com/#xtekky/openai-gpt4& Timeline)
2023-04-16 19:04:20 -04:00
## Copyright:
This program is licensed under the [GNU GPL v3 ](https://www.gnu.org/licenses/gpl-3.0.txt )
Most code, with the exception of `quora/api.py` (by [ading2210 ](https://github.com/ading2210 )), has been written by me, [xtekky ](https://github.com/xtekky ).
### Copyright Notice:
```
xtekky/openai-gpt4: multiple reverse engineered language-model api's to decentralise the ai industry.
Copyright (C) 2023 xtekky
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see < https: / / www . gnu . org / licenses / > .
```