summaryrefslogblamecommitdiffstats
path: root/README.md
blob: 80e9275b1f51908e8cd46344c0e29f19956e9525 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
               
 
                                                                                                                                                                                     
 
                                                                                                                                                                                                           
 



                                                                                                            

             


                                                          

 
                    
 


                                                                                                         
                                 

                               
                                       
                         
 
                                             
 





                                                                        

                                                              
 
                                                                     
 







                                                               
                                                                                            

         








                                               
 
                         
 


                            
 


                                                                      
 




                                                                 
 
                            
 




                                                 
    
                                              

   
                     

         
                                                    


                           


                                              
                                                                                  

         
               



                                


     

   
                    


















                                                                                
                        






                                                       
   
 
                                                                            
 








                             
         






















                                                                                                                 
                                                 




                                              





















































                                                                                                               




































                                                                            
               
 
                                                                        
 


                  
 
                                                                          
 
                        

                  
                           
                     
                      
                         
                  
                                       
                              
# 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.

## Best Chatgpt site
> https://chat.xtekky.com/chat   
> This site was developed by me and includes **gpt-4**, **internet access** and **gpt-jailbreak's** like DAN

## To-Do List

- [x] implement poe.com create bot feature | AVAILABLE NOW
- [x] renaming the 'poe' module to 'quora'
- [x] add you.com api


## Table of Contents

- [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)
  - [`quora (poe)`](#example-poe)
  - [`t3nsor`](#example-t3nsor)
  - [`ora`](#example-ora)
  - [`writesonic`](#example-writesonic)
  - [`you`](#example-you)

## Current Sites <a name="current-sites"></a>

| Website                    | Model(s)             |
| -------------------------- | -------------------- |
| [ora.sh](https://ora.sh)   | GPT-3.5              |
| [nat.dev](https://nat.dev) | GPT-4/3.5 (paid now, looking for bypass)|
| [poe.com](https://poe.com) | GPT-4/3.5            |
| [writesonic.com](https://writesonic.com)|GPT-3.5 / Internet|
| [t3nsor.com](https://t3nsor.com)|GPT-3.5|
| [you.com](https://you.com)|GPT-3.5 / Internet / good search|

## Sites with Authentication <a name="sites-with-authentication"></a>

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>

### Example: `quora (poe)` (use like openai pypi package) - GPT-4 <a name="example-poe"></a>

```python
# 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

```python
# 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:
```python

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) <a name="example-t3nsor"></a>

```python
# Import t3nsor
import t3nsor

# t3nsor.Completion.create
# t3nsor.StreamCompletion.create

[...]

```

#### Example Chatbot
```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}
    ])
```

#### Streaming Response:

```python
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) <a name="example-ora"></a>

```python
# import ora
import ora

[...]

```

#### create model / chatbot: 
```python
# 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,
        includeHistory = True, # remember history
        conversationId = init.id)
    
    print(response.completion.choices[0].text)
```

### 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 ...
```

### 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"]})
```

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