gpt4free


Namegpt4free JSON
Version 0.0.0 PyPI version JSON
download
home_pagehttps://github.com/xtekky/gpt4free
SummaryThe official gpt4free repository | various collection of powerful language models
upload_time2024-02-03 20:25:08
maintainer
docs_urlNone
authorTekky
requires_python
license
keywords python chatbot reverse-engineering openai chatbots gpt language-model gpt-3 gpt3 openai-api gpt-4 gpt4 chatgpt chatgpt-api openai-chatgpt chatgpt-free chatgpt-4 chatgpt4 chatgpt4-api free free-gpt gpt4free g4f
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
Please provide feedback so this project can be improved, it would be much appreciated  
form: https://forms.gle/FeWV9RLEedfdkmFN6

![248433934-7886223b-c1d1-4260-82aa-da5741f303bb](https://github.com/xtekky/gpt4free/assets/98614666/ea012c87-76e0-496a-8ac4-e2de090cc6c9)
Written by [@xtekky](https://github.com/hlohaus) & maintained by [@hlohaus](https://github.com/hlohaus)

<div id="top"></div>

> By using this repository or any code related to it, you agree to the [legal notice](LEGAL_NOTICE.md). The author is not responsible for any copies, forks, re-uploads made by other users, or anything else related to GPT4Free. This is the author's only account and repository. To prevent impersonation or irresponsible actions, please comply with the GNU GPL license this Repository uses.

> [!Note]
<sup><strong>Lastet version:</strong></sup> [![PyPI version](https://img.shields.io/pypi/v/g4f?color=blue)](https://pypi.org/project/g4f) [![Docker version](https://img.shields.io/docker/v/hlohaus789/g4f?label=docker&color=blue)](https://hub.docker.com/r/hlohaus789/g4f)  
> <sup><strong>Stats:</strong></sup>  [![Downloads](https://static.pepy.tech/badge/g4f)](https://pepy.tech/project/g4f) [![Downloads](https://static.pepy.tech/badge/g4f/month)](https://pepy.tech/project/g4f)

```sh
pip install -U g4f
```
```sh
docker pull hlohaus789/g4f
```
# To do
As per the survey, here is a list of improvements to come
- [ ] Improve Documentation (on g4f.mintlify.app) & Do video tutorials
- [ ] Improve the provider status list & updates
- [ ] Tutorials on how to reverse sites to write your own wrapper (PoC only ofc)
- [ ] Improve the Bing wrapper. (might write a new wrapper in golang as it is very fast)
- [ ] Write a standard provider performance test to improve the stability
- [ ] update the repository to include the new openai library syntax (ex: `Openai()` class)
- [ ] Potential support and development of local models
- [ ] improve compatibility and error handling


## πŸ†• What's New
- <a href="./README-DE.md"><img src="https://img.shields.io/badge/ΓΆffnen in-πŸ‡©πŸ‡ͺ deutsch-bleu.svg" alt="Γ–ffnen en DE"></a>
- Join our Telegram Channel: [t.me/g4f_channel](https://telegram.me/g4f_channel)
- Join our Discord Group: [discord.gg/XfybzPXPH5](https://discord.gg/XfybzPXPH5)
- Explore the g4f Documentation (unfinished): [g4f.mintlify.app](https://g4f.mintlify.app) | Contribute to the docs via: [github.com/xtekky/gpt4free-docs](https://github.com/xtekky/gpt4free-docs)

## πŸ“š Table of Contents

- [πŸ†• What's New](#-whats-new)
- [πŸ“š Table of Contents](#-table-of-contents)
- [πŸ› οΈ Getting Started](#-getting-started)
    + [Docker container](#docker-container)
      - [Quick start](#quick-start)
    + [Use python package](#use-python-package)
      - [Prerequisites](#prerequisites)
      - [Install using pypi](#install-using-pypi)
    + [Docker for Developers](#docker-for-developers)
- [πŸ’‘ Usage](#-usage)
  * [The Web UI](#the-web-ui)
  * [The `g4f` Package](#the-g4f-package)
    + [ChatCompletion](#chatcompletion)
      - [Completion](#completion)
      - [Providers](#providers)
      - [Using Browser](#using-browser)
      - [Async Support](#async-support)
      - [Proxy and Timeout Support](#proxy-and-timeout-support)
  * [Interference openai-proxy API](#interference-openai-proxy-api-use-with-openai-python-package-)
    + [Run interference API from PyPi package](#run-interference-api-from-pypi-package)
    + [Run interference API from repo](#run-interference-api-from-repo)
- [πŸš€ Providers and Models](#-providers-and-models)
  * [GPT-4](#gpt-4)
  * [GPT-3.5](#gpt-35)
  * [Other](#other)
  * [Models](#models)
- [πŸ”— Related GPT4Free Projects](#-related-gpt4free-projects)
- [🀝 Contribute](#-contribute)
    + [Create Provider with AI Tool](#create-provider-with-ai-tool)
    + [Create Provider](#create-provider)
- [πŸ™Œ Contributors](#-contributors)
- [©️ Copyright](#-copyright)
- [⭐ Star History](#-star-history)
- [πŸ“„ License](#-license)

## πŸ› οΈ Getting Started

#### Docker container

##### Quick start:

1. [Download and install Docker](https://docs.docker.com/get-docker/)
2. Pull latest image and run the container:

```sh
docker pull hlohaus789/g4f
docker run -p 8080:8080 -p 1337:1337 -p 7900:7900 --shm-size="2g" hlohaus789/g4f:latest
```
3. Open the included client on: [http://localhost:8080/chat/](http://localhost:8080/chat/)
or set the api base in your client to: [http://localhost:1337/v1](http://localhost:1337/v1)
4. (Optional) If you need to log in to a provider, you can view the desktop from the container here: http://localhost:7900/?autoconnect=1&resize=scale&password=secret.

#### Use python package

##### Prerequisites:

1. [Download and install Python](https://www.python.org/downloads/) (Version 3.10+ is recommended).
2. [Install Google Chrome](https://www.google.com/chrome/) for providers with webdriver

##### Install using pypi:

Install all supported tools / all used packages:
```
pip install -U g4f[all]
```
Install required packages for the OpenaiChat provider:
```
pip install -U g4f[openai]
```
Install required packages for the interference api:
```
pip install -U g4f[api]
```
Install required packages for the web interface:
```
pip install -U g4f[gui]
```
Install required packages for uploading / generating images:
```
pip install -U g4f[image]
```
Install required packages for providers with webdriver:
```
pip install -U g4f[webdriver]
```
Install required packages for proxy support:
```
pip install -U aiohttp_socks
```

##### or:

1. Clone the GitHub repository:

```
git clone https://github.com/xtekky/gpt4free.git
```

2. Navigate to the project directory:

```
cd gpt4free
```

3. (Recommended) Create a Python virtual environment:
You can follow the [Python official documentation](https://docs.python.org/3/tutorial/venv.html) for virtual environments.


```
python3 -m venv venv
```

4. Activate the virtual environment:
   - On Windows:
   ```
   .\venv\Scripts\activate
   ```
   - On macOS and Linux:
   ```
   source venv/bin/activate
   ```
5. Install minimum requirements:

```
pip install -r requirements-min.txt
```

6. Or install all used Python packages from `requirements.txt`:

```
pip install -r requirements.txt
```

7. Create a `test.py` file in the root folder and start using the repo, further Instructions are below

```py
import g4f
...
```

#### Docker for Developers

If you have Docker installed, you can easily set up and run the project without manually installing dependencies.

1. First, ensure you have both Docker and Docker Compose installed.

   - [Install Docker](https://docs.docker.com/get-docker/)
   - [Install Docker Compose](https://docs.docker.com/compose/install/)

2. Clone the GitHub repo:

```bash
git clone https://github.com/xtekky/gpt4free.git
```

3. Navigate to the project directory:

```bash
cd gpt4free
```

4. Build the Docker image:

```bash
docker pull selenium/node-chrome
docker-compose build
```

5. Start the service using Docker Compose:

```bash
docker-compose up
```

Your server will now be running at `http://localhost:1337`. You can interact with the API or run your tests as you would normally.

To stop the Docker containers, simply run:

```bash
docker-compose down
```

> [!Note]
> When using Docker, any changes you make to your local files will be reflected in the Docker container thanks to the volume mapping in the `docker-compose.yml` file. If you add or remove dependencies, however, you'll need to rebuild the Docker image using `docker-compose build`.

## πŸ’‘ Usage

### The Web UI

To start the web interface, type the following codes in the command line.

```python
from g4f.gui import run_gui
run_gui()
```

### The `g4f` Package

#### ChatCompletion

```python
import g4f

g4f.debug.logging = True  # Enable debug logging
g4f.debug.version_check = False  # Disable automatic version checking
print(g4f.Provider.Bing.params)  # Print supported args for Bing

# Using automatic a provider for the given model
## Streamed completion
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
for message in response:
    print(message, flush=True, end='')

## Normal response
response = g4f.ChatCompletion.create(
    model=g4f.models.gpt_4,
    messages=[{"role": "user", "content": "Hello"}],
)  # Alternative model setting

print(response)
```

##### Completion

```python
import g4f

allowed_models = [
    'code-davinci-002',
    'text-ada-001',
    'text-babbage-001',
    'text-curie-001',
    'text-davinci-002',
    'text-davinci-003'
]

response = g4f.Completion.create(
    model='text-davinci-003',
    prompt='say this is a test'
)

print(response)
```

##### Providers

```python
import g4f

# Print all available providers
print([
    provider.__name__
    for provider in g4f.Provider.__providers__
    if provider.working
])

# Execute with a specific provider
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    provider=g4f.Provider.Aichat,
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
for message in response:
    print(message)
```

##### Cookies / Access Token

For generating images with Bing and for the OpenAi Chat  you need cookies or a token from your browser session. From Bing you need the "_U" cookie and from OpenAI you need the "access_token". You can pass the cookies / the  access token in the create function or you use the `set_cookies` setter:

```python
from g4f import set_cookies

set_cookies(".bing", {
  "_U": "cookie value"
})
set_cookies("chat.openai.com", {
  "access_token": "token value"
})

from g4f.gui import run_gui
run_gui()
```

Alternatively, g4f reads the cookies with β€œbrowser_cookie3” from your browser
or it starts a browser instance with selenium "webdriver" for logging in.
If you use the pip package, you have to install β€œbrowser_cookie3” or "webdriver" by yourself.

```bash
pip install browser_cookie3
pip install g4f[webdriver]
```

##### Using Browser

Some providers using a browser to bypass the bot protection. They using the selenium webdriver to control the browser. The browser settings and the login data are saved in a custom directory. If the headless mode is enabled, the browser windows are loaded invisibly. For performance reasons, it is recommended to reuse the browser instances and close them yourself at the end:

```python
import g4f
from undetected_chromedriver import Chrome, ChromeOptions
from g4f.Provider import (
    Bard,
    Poe,
    AItianhuSpace,
    MyShell,
    PerplexityAi,
)

options = ChromeOptions()
options.add_argument("--incognito");
webdriver = Chrome(options=options, headless=True)
for idx in range(10):
    response = g4f.ChatCompletion.create(
        model=g4f.models.default,
        provider=g4f.Provider.MyShell,
        messages=[{"role": "user", "content": "Suggest me a name."}],
        webdriver=webdriver
    )
    print(f"{idx}:", response)
webdriver.quit()
```

##### Async Support

To enhance speed and overall performance, execute providers asynchronously. The total execution time will be determined by the duration of the slowest provider's execution.

```python
import g4f
import asyncio

_providers = [
    g4f.Provider.Aichat,
    g4f.Provider.ChatBase,
    g4f.Provider.Bing,
    g4f.Provider.GptGo,
    g4f.Provider.You,
    g4f.Provider.Yqcloud,
]

async def run_provider(provider: g4f.Provider.BaseProvider):
    try:
        response = await g4f.ChatCompletion.create_async(
            model=g4f.models.default,
            messages=[{"role": "user", "content": "Hello"}],
            provider=provider,
        )
        print(f"{provider.__name__}:", response)
    except Exception as e:
        print(f"{provider.__name__}:", e)
        
async def run_all():
    calls = [
        run_provider(provider) for provider in _providers
    ]
    await asyncio.gather(*calls)

asyncio.run(run_all())
```

##### Proxy and Timeout Support

All providers support specifying a proxy and increasing timeout in the create functions.

```python
import g4f

response = g4f.ChatCompletion.create(
    model=g4f.models.default,
    messages=[{"role": "user", "content": "Hello"}],
    proxy="http://host:port",
    # or socks5://user:pass@host:port
    timeout=120,  # in secs
)

print(f"Result:", response)
```

You can also set a proxy globally via an environment variable:

```sh
export G4F_PROXY="http://host:port"
```

### Interference openai-proxy API (Use with openai python package)

#### Run interference API from PyPi package

```python
from g4f.api import run_api

run_api()
```

#### Run interference API from repo

If you want to use the embedding function, you need to get a Hugging Face token. You can get one at [Hugging Face Tokens](https://huggingface.co/settings/tokens). Make sure your role is set to write. If you have your token, just use it instead of the OpenAI api-key.

Run server:

```sh
g4f api
```

or

```sh
python -m g4f.api.run
```

```python
from openai import OpenAI

client = OpenAI(
    # Set your Hugging Face token as the API key if you use embeddings
    api_key="YOUR_HUGGING_FACE_TOKEN",

    # Set the API base URL if needed, e.g., for a local development environment
    base_url="http://localhost:1337/v1"
)


def main():
    chat_completion = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": "write a poem about a tree"}],
        stream=True,
    )

    if isinstance(chat_completion, dict):
        # Not streaming
        print(chat_completion.choices[0].message.content)
    else:
        # Streaming
        for token in chat_completion:
            content = token.choices[0].delta.content
            if content is not None:
                print(content, end="", flush=True)


if __name__ == "__main__":
    main()
```

##  API usage (POST)
#### Chat completions
Send the POST request to /v1/chat/completions with body containing the `model` method. This example uses python with requests library:
```python
import requests
url = "http://localhost:1337/v1/chat/completions"
body = {
    "model": "gpt-3.5-turbo-16k",
    "stream": False,
    "messages": [
        {"role": "assistant", "content": "What can you do?"}
    ]
}
json_response = requests.post(url, json=body).json().get('choices', [])

for choice in json_response:
    print(choice.get('message', {}).get('content', ''))
```


## πŸš€ Providers and Models

### GPT-4

| Website | Provider | GPT-3.5 | GPT-4 | Stream | Status | Auth |
| ------  | -------  | ------- | ----- | ------ | ------ | ---- |
| [bing.com](https://bing.com/chat) | `g4f.Provider.Bing` | ❌ | βœ”οΈ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [chat.geekgpt.org](https://chat.geekgpt.org) | `g4f.Provider.GeekGpt` | βœ”οΈ | βœ”οΈ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [gptchatly.com](https://gptchatly.com) | `g4f.Provider.GptChatly` | βœ”οΈ | βœ”οΈ | ❌ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [liaobots.site](https://liaobots.site) | `g4f.Provider.Liaobots` | βœ”οΈ | βœ”οΈ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [raycast.com](https://raycast.com) | `g4f.Provider.Raycast` | βœ”οΈ | βœ”οΈ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | βœ”οΈ |

### GPT-3.5

| Website | Provider | GPT-3.5 | GPT-4 | Stream | Status | Auth |
| ------  | -------  | ------- | ----- | ------ | ------ | ---- |
| [www.aitianhu.com](https://www.aitianhu.com) | `g4f.Provider.AItianhu` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [chat3.aiyunos.top](https://chat3.aiyunos.top/) | `g4f.Provider.AItianhuSpace` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [e.aiask.me](https://e.aiask.me) | `g4f.Provider.AiAsk` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [chat-gpt.org](https://chat-gpt.org/chat) | `g4f.Provider.Aichat` | βœ”οΈ | ❌ | ❌ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [www.chatbase.co](https://www.chatbase.co) | `g4f.Provider.ChatBase` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [chatforai.store](https://chatforai.store) | `g4f.Provider.ChatForAi` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [chatgpt.ai](https://chatgpt.ai) | `g4f.Provider.ChatgptAi` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [chatgptx.de](https://chatgptx.de) | `g4f.Provider.ChatgptX` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [chat-shared2.zhile.io](https://chat-shared2.zhile.io) | `g4f.Provider.FakeGpt` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [freegpts1.aifree.site](https://freegpts1.aifree.site/) | `g4f.Provider.FreeGpt` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [gptalk.net](https://gptalk.net) | `g4f.Provider.GPTalk` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [ai18.gptforlove.com](https://ai18.gptforlove.com) | `g4f.Provider.GptForLove` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [gptgo.ai](https://gptgo.ai) | `g4f.Provider.GptGo` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [hashnode.com](https://hashnode.com) | `g4f.Provider.Hashnode` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [app.myshell.ai](https://app.myshell.ai/chat) | `g4f.Provider.MyShell` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [noowai.com](https://noowai.com) | `g4f.Provider.NoowAi` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [chat.openai.com](https://chat.openai.com) | `g4f.Provider.OpenaiChat` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | βœ”οΈ |
| [theb.ai](https://theb.ai) | `g4f.Provider.Theb` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | βœ”οΈ |
| [sdk.vercel.ai](https://sdk.vercel.ai) | `g4f.Provider.Vercel` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [you.com](https://you.com) | `g4f.Provider.You` | βœ”οΈ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [chat9.yqcloud.top](https://chat9.yqcloud.top/) | `g4f.Provider.Yqcloud` | βœ”οΈ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [chat.acytoo.com](https://chat.acytoo.com) | `g4f.Provider.Acytoo` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [aibn.cc](https://aibn.cc) | `g4f.Provider.Aibn` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [ai.ls](https://ai.ls) | `g4f.Provider.Ails` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [chatgpt4online.org](https://chatgpt4online.org) | `g4f.Provider.Chatgpt4Online` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [chat.chatgptdemo.net](https://chat.chatgptdemo.net) | `g4f.Provider.ChatgptDemo` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [chatgptduo.com](https://chatgptduo.com) | `g4f.Provider.ChatgptDuo` | βœ”οΈ | ❌ | ❌ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [chatgptfree.ai](https://chatgptfree.ai) | `g4f.Provider.ChatgptFree` | βœ”οΈ | ❌ | ❌ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [chatgptlogin.ai](https://chatgptlogin.ai) | `g4f.Provider.ChatgptLogin` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [cromicle.top](https://cromicle.top) | `g4f.Provider.Cromicle` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [gptgod.site](https://gptgod.site) | `g4f.Provider.GptGod` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [opchatgpts.net](https://opchatgpts.net) | `g4f.Provider.Opchatgpts` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |
| [chat.ylokh.xyz](https://chat.ylokh.xyz) | `g4f.Provider.Ylokh` | βœ”οΈ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | ❌ |

### Other

| Website | Provider | GPT-3.5 | GPT-4 | Stream | Status | Auth |
| ------  | -------  | ------- | ----- | ------ | ------ | ---- |
| [bard.google.com](https://bard.google.com) | `g4f.Provider.Bard` | ❌ | ❌ | ❌ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | βœ”οΈ |
| [deepinfra.com](https://deepinfra.com) | `g4f.Provider.DeepInfra` | ❌ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
| [huggingface.co](https://huggingface.co/chat) | `g4f.Provider.HuggingChat` | ❌ | ❌ | βœ”οΈ | ![Active](https://img.shields.io/badge/Active-brightgreen) | βœ”οΈ |
| [www.llama2.ai](https://www.llama2.ai) | `g4f.Provider.Llama2` | ❌ | ❌ | βœ”οΈ | ![Unknown](https://img.shields.io/badge/Unknown-grey) | ❌ |
| [open-assistant.io](https://open-assistant.io/chat) | `g4f.Provider.OpenAssistant` | ❌ | ❌ | βœ”οΈ | ![Inactive](https://img.shields.io/badge/Inactive-red) | βœ”οΈ |

### Models

| Model                                   | Base Provider | Provider            | Website                                     |
| --------------------------------------- | ------------- | ------------------- | ------------------------------------------- |
| palm                                    | Google        | g4f.Provider.Bard   | [bard.google.com](https://bard.google.com/) |
| h2ogpt-gm-oasst1-en-2048-falcon-7b-v3   | Hugging Face  | g4f.Provider.H2o    | [www.h2o.ai](https://www.h2o.ai/)           |
| h2ogpt-gm-oasst1-en-2048-falcon-40b-v1  | Hugging Face  | g4f.Provider.H2o    | [www.h2o.ai](https://www.h2o.ai/)           |
| h2ogpt-gm-oasst1-en-2048-open-llama-13b | Hugging Face  | g4f.Provider.H2o    | [www.h2o.ai](https://www.h2o.ai/)           |
| claude-instant-v1                       | Anthropic     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| claude-v1                               | Anthropic     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| claude-v2                               | Anthropic     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| command-light-nightly                   | Cohere        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| command-nightly                         | Cohere        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| gpt-neox-20b                            | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| oasst-sft-1-pythia-12b                  | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| oasst-sft-4-pythia-12b-epoch-3.5        | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| santacoder                              | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| bloom                                   | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| flan-t5-xxl                             | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| code-davinci-002                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| gpt-3.5-turbo-16k                       | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| gpt-3.5-turbo-16k-0613                  | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| gpt-4-0613                              | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| text-ada-001                            | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| text-babbage-001                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| text-curie-001                          | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| text-davinci-002                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| text-davinci-003                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| llama13b-v2-chat                        | Replicate     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |
| llama7b-v2-chat                         | Replicate     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |

## πŸ”— Related GPT4Free Projects

<table>
  <thead align="center">
    <tr border: none;>
      <td><b>🎁 Projects</b></td>
      <td><b>⭐ Stars</b></td>
      <td><b>πŸ“š Forks</b></td>
      <td><b>πŸ›Ž Issues</b></td>
      <td><b>πŸ“¬ Pull requests</b></td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://github.com/xtekky/gpt4free"><b>gpt4free</b></a></td>
      <td><a href="https://github.com/xtekky/gpt4free/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/xtekky/gpt4free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xtekky/gpt4free/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/xtekky/gpt4free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xtekky/gpt4free/issues"><img alt="Issues" src="https://img.shields.io/github/issues/xtekky/gpt4free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xtekky/gpt4free/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/xtekky/gpt4free?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
      <td><a href="https://github.com/xiangsx/gpt4free-ts"><b>gpt4free-ts</b></a></td>
      <td><a href="https://github.com/xiangsx/gpt4free-ts/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xiangsx/gpt4free-ts/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xiangsx/gpt4free-ts/issues"><img alt="Issues" src="https://img.shields.io/github/issues/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xiangsx/gpt4free-ts/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
     <tr>
      <td><a href="https://github.com/zukixa/cool-ai-stuff/"><b>Free AI API's & Potential Providers List</b></a></td>
      <td><a href="https://github.com/zukixa/cool-ai-stuff/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/zukixa/cool-ai-stuff/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/zukixa/cool-ai-stuff/issues"><img alt="Issues" src="https://img.shields.io/github/issues/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/zukixa/cool-ai-stuff/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
    <tr>
    <tr>
      <td><a href="https://github.com/xtekky/chatgpt-clone"><b>ChatGPT-Clone</b></a></td>
      <td><a href="https://github.com/xtekky/chatgpt-clone/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xtekky/chatgpt-clone/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xtekky/chatgpt-clone/issues"><img alt="Issues" src="https://img.shields.io/github/issues/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/xtekky/chatgpt-clone/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
    <tr>
      <td><a href="https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free"><b>ChatGpt Discord Bot</b></a></td>
      <td><a href="https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free/issues"><img alt="Issues" src="https://img.shields.io/github/issues/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/mishalhossin/Coding-Chatbot-Gpt4Free/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
<tr>
  <td><a href="https://github.com/SamirXR/Nyx-Bot"><b>Nyx-Bot (Discord)</b></a></td>
  <td><a href="https://github.com/SamirXR/Nyx-Bot/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41"/></a></td>
  <td><a href="https://github.com/SamirXR/Nyx-Bot/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41"/></a></td>
  <td><a href="https://github.com/SamirXR/Nyx-Bot/issues"><img alt="Issues" src="https://img.shields.io/github/issues/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41"/></a></td>
  <td><a href="https://github.com/SamirXR/Nyx-Bot/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41"/></a></td>
</tr>
    </tr>
    <tr>
      <td><a href="https://github.com/MIDORIBIN/langchain-gpt4free"><b>LangChain gpt4free</b></a></td>
      <td><a href="https://github.com/MIDORIBIN/langchain-gpt4free/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/MIDORIBIN/langchain-gpt4free/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/MIDORIBIN/langchain-gpt4free/issues"><img alt="Issues" src="https://img.shields.io/github/issues/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/MIDORIBIN/langchain-gpt4free/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
    <tr>
      <td><a href="https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free"><b>ChatGpt Telegram Bot</b></a></td>
      <td><a href="https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/issues"><img alt="Issues" src="https://img.shields.io/github/issues/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
        <tr>
      <td><a href="https://github.com/Lin-jun-xiang/chatgpt-line-bot"><b>ChatGpt Line Bot</b></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/chatgpt-line-bot/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/chatgpt-line-bot/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/chatgpt-line-bot/issues"><img alt="Issues" src="https://img.shields.io/github/issues/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/chatgpt-line-bot/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
    <tr>
      <td><a href="https://github.com/Lin-jun-xiang/action-translate-readme"><b>Action Translate Readme</b></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/action-translate-readme/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/action-translate-readme/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/action-translate-readme/issues"><img alt="Issues" src="https://img.shields.io/github/issues/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/action-translate-readme/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
    <tr>
      <td><a href="https://github.com/Lin-jun-xiang/docGPT-streamlit"><b>Langchain Document GPT</b></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/docGPT-streamlit/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/docGPT-streamlit/network/members"><img alt="Forks" src="https://img.shields.io/github/forks/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/docGPT-streamlit/issues"><img alt="Issues" src="https://img.shields.io/github/issues/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41"/></a></td>
      <td><a href="https://github.com/Lin-jun-xiang/docGPT-streamlit/pulls"><img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41"/></a></td>
    </tr>
  </tbody>
</table>

## 🀝 Contribute

#### Create Provider with AI Tool

Call in your terminal the `create_provider.py` script:
```bash
python etc/tool/create_provider.py
```
1. Enter your name for the new provider.
2. Copy and paste the `cURL` command from your browser developer tools.
3. Let the AI ​​create the provider for you.
4. Customize the provider according to your needs.

#### Create Provider

1. Check out the current [list of potential providers](https://github.com/zukixa/cool-ai-stuff#ai-chat-websites), or find your own provider source!
2. Create a new file in [g4f/Provider](./g4f/Provider) with the name of the Provider
3. Implement a class that extends [BaseProvider](./g4f/Provider/base_provider.py).

```py
from __future__ import annotations

from ..typing import AsyncResult, Messages
from .base_provider import AsyncGeneratorProvider

class HogeService(AsyncGeneratorProvider):
    url                   = "https://chat-gpt.com"
    working               = True
    supports_gpt_35_turbo = True

    @classmethod
    async def create_async_generator(
        cls,
        model: str,
        messages: Messages,
        proxy: str = None,
        **kwargs
    ) -> AsyncResult:
        yield ""
```

4. Here, you can adjust the settings, for example, if the website does support streaming, set `supports_stream` to `True`...
5. Write code to request the provider in `create_async_generator` and `yield` the response, _even if_ it's a one-time response, do not hesitate to look at other providers for inspiration
6. Add the Provider Name in [`g4f/Provider/__init__.py`](./g4f/Provider/__init__.py)

```py
from .HogeService import HogeService

__all__ = [
  HogeService,
]
```

7. You are done !, test the provider by calling it:

```py
import g4f

response = g4f.ChatCompletion.create(model='gpt-3.5-turbo', provider=g4f.Provider.PROVIDERNAME,
                                    messages=[{"role": "user", "content": "test"}], stream=g4f.Provider.PROVIDERNAME.supports_stream)

for message in response:
    print(message, flush=True, end='')
```

## πŸ™Œ Contributors

A list of the contributors is available [here](https://github.com/xtekky/gpt4free/graphs/contributors)   
The [`Vercel.py`](https://github.com/xtekky/gpt4free/blob/main/g4f/Provider/Vercel.py) file contains code from [vercel-llm-api](https://github.com/ading2210/vercel-llm-api) by [@ading2210](https://github.com/ading2210), which is licensed under the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.txt)   
Top 1 Contributor: [@hlohaus](https://github.com/hlohaus)

## ©️ Copyright

This program is licensed under the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.txt)

```
xtekky/gpt4free: 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/>.
```

## ⭐ Star History

<a href="https://github.com/xtekky/gpt4free/stargazers">
        <img width="500" alt="Star History Chart" src="https://api.star-history.com/svg?repos=xtekky/gpt4free&type=Date">
</a>

## πŸ“„ License

<table>
  <tr>
     <td>
       <p align="center"> <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/93/GPLv3_Logo.svg/1200px-GPLv3_Logo.svg.png" width="80%"></img>
    </td>
    <td> 
      <img src="https://img.shields.io/badge/License-GNU_GPL_v3.0-red.svg"/> <br> 
This project is licensed under <a href="./LICENSE">GNU_GPL_v3.0</a>.
    </td>
  </tr>
</table>

<p align="right">(<a href="#top">πŸ”Ό Back to top</a>)</p>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/xtekky/gpt4free",
    "name": "gpt4free",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "python,chatbot,reverse-engineering,openai,chatbots,gpt,language-model,gpt-3,gpt3,openai-api,gpt-4,gpt4,chatgpt,chatgpt-api,openai-chatgpt,chatgpt-free,chatgpt-4,chatgpt4,chatgpt4-api,free,free-gpt,gpt4free,g4f",
    "author": "Tekky",
    "author_email": "<support@g4f.ai>",
    "download_url": "https://files.pythonhosted.org/packages/4d/1b/186b91cd27462b531b49026df9d9171f1823cbd6ca259c1b0792cc27674a/gpt4free-0.0.0.tar.gz",
    "platform": null,
    "description": "\nPlease provide feedback so this project can be improved, it would be much appreciated  \nform: https://forms.gle/FeWV9RLEedfdkmFN6\n\n![248433934-7886223b-c1d1-4260-82aa-da5741f303bb](https://github.com/xtekky/gpt4free/assets/98614666/ea012c87-76e0-496a-8ac4-e2de090cc6c9)\nWritten by [@xtekky](https://github.com/hlohaus) & maintained by [@hlohaus](https://github.com/hlohaus)\n\n<div id=\"top\"></div>\n\n> By using this repository or any code related to it, you agree to the [legal notice](LEGAL_NOTICE.md). The author is not responsible for any copies, forks, re-uploads made by other users, or anything else related to GPT4Free. This is the author's only account and repository. To prevent impersonation or irresponsible actions, please comply with the GNU GPL license this Repository uses.\n\n> [!Note]\n<sup><strong>Lastet version:</strong></sup> [![PyPI version](https://img.shields.io/pypi/v/g4f?color=blue)](https://pypi.org/project/g4f) [![Docker version](https://img.shields.io/docker/v/hlohaus789/g4f?label=docker&color=blue)](https://hub.docker.com/r/hlohaus789/g4f)  \n> <sup><strong>Stats:</strong></sup>  [![Downloads](https://static.pepy.tech/badge/g4f)](https://pepy.tech/project/g4f) [![Downloads](https://static.pepy.tech/badge/g4f/month)](https://pepy.tech/project/g4f)\n\n```sh\npip install -U g4f\n```\n```sh\ndocker pull hlohaus789/g4f\n```\n# To do\nAs per the survey, here is a list of improvements to come\n- [ ] Improve Documentation (on g4f.mintlify.app) & Do video tutorials\n- [ ] Improve the provider status list & updates\n- [ ] Tutorials on how to reverse sites to write your own wrapper (PoC only ofc)\n- [ ] Improve the Bing wrapper. (might write a new wrapper in golang as it is very fast)\n- [ ] Write a standard provider performance test to improve the stability\n- [ ] update the repository to include the new openai library syntax (ex: `Openai()` class)\n- [ ] Potential support and development of local models\n- [ ] improve compatibility and error handling\n\n\n## \ud83c\udd95 What's New\n- <a href=\"./README-DE.md\"><img src=\"https://img.shields.io/badge/\u00f6ffnen in-\ud83c\udde9\ud83c\uddea deutsch-bleu.svg\" alt=\"\u00d6ffnen en DE\"></a>\n- Join our Telegram Channel: [t.me/g4f_channel](https://telegram.me/g4f_channel)\n- Join our Discord Group: [discord.gg/XfybzPXPH5](https://discord.gg/XfybzPXPH5)\n- Explore the g4f Documentation (unfinished): [g4f.mintlify.app](https://g4f.mintlify.app) | Contribute to the docs via: [github.com/xtekky/gpt4free-docs](https://github.com/xtekky/gpt4free-docs)\n\n## \ud83d\udcda Table of Contents\n\n- [\ud83c\udd95 What's New](#-whats-new)\n- [\ud83d\udcda Table of Contents](#-table-of-contents)\n- [\ud83d\udee0\ufe0f Getting Started](#-getting-started)\n    + [Docker container](#docker-container)\n      - [Quick start](#quick-start)\n    + [Use python package](#use-python-package)\n      - [Prerequisites](#prerequisites)\n      - [Install using pypi](#install-using-pypi)\n    + [Docker for Developers](#docker-for-developers)\n- [\ud83d\udca1 Usage](#-usage)\n  * [The Web UI](#the-web-ui)\n  * [The `g4f` Package](#the-g4f-package)\n    + [ChatCompletion](#chatcompletion)\n      - [Completion](#completion)\n      - [Providers](#providers)\n      - [Using Browser](#using-browser)\n      - [Async Support](#async-support)\n      - [Proxy and Timeout Support](#proxy-and-timeout-support)\n  * [Interference openai-proxy API](#interference-openai-proxy-api-use-with-openai-python-package-)\n    + [Run interference API from PyPi package](#run-interference-api-from-pypi-package)\n    + [Run interference API from repo](#run-interference-api-from-repo)\n- [\ud83d\ude80 Providers and Models](#-providers-and-models)\n  * [GPT-4](#gpt-4)\n  * [GPT-3.5](#gpt-35)\n  * [Other](#other)\n  * [Models](#models)\n- [\ud83d\udd17 Related GPT4Free Projects](#-related-gpt4free-projects)\n- [\ud83e\udd1d Contribute](#-contribute)\n    + [Create Provider with AI Tool](#create-provider-with-ai-tool)\n    + [Create Provider](#create-provider)\n- [\ud83d\ude4c Contributors](#-contributors)\n- [\u00a9\ufe0f Copyright](#-copyright)\n- [\u2b50 Star History](#-star-history)\n- [\ud83d\udcc4 License](#-license)\n\n## \ud83d\udee0\ufe0f Getting Started\n\n#### Docker container\n\n##### Quick start:\n\n1. [Download and install Docker](https://docs.docker.com/get-docker/)\n2. Pull latest image and run the container:\n\n```sh\ndocker pull hlohaus789/g4f\ndocker run -p 8080:8080 -p 1337:1337 -p 7900:7900 --shm-size=\"2g\" hlohaus789/g4f:latest\n```\n3. Open the included client on: [http://localhost:8080/chat/](http://localhost:8080/chat/)\nor set the api base in your client to: [http://localhost:1337/v1](http://localhost:1337/v1)\n4. (Optional) If you need to log in to a provider, you can view the desktop from the container here: http://localhost:7900/?autoconnect=1&resize=scale&password=secret.\n\n#### Use python package\n\n##### Prerequisites:\n\n1. [Download and install Python](https://www.python.org/downloads/) (Version 3.10+ is recommended).\n2. [Install Google Chrome](https://www.google.com/chrome/) for providers with webdriver\n\n##### Install using pypi:\n\nInstall all supported tools / all used packages:\n```\npip install -U g4f[all]\n```\nInstall required packages for the OpenaiChat provider:\n```\npip install -U g4f[openai]\n```\nInstall required packages for the interference api:\n```\npip install -U g4f[api]\n```\nInstall required packages for the web interface:\n```\npip install -U g4f[gui]\n```\nInstall required packages for uploading / generating images:\n```\npip install -U g4f[image]\n```\nInstall required packages for providers with webdriver:\n```\npip install -U g4f[webdriver]\n```\nInstall required packages for proxy support:\n```\npip install -U aiohttp_socks\n```\n\n##### or:\n\n1. Clone the GitHub repository:\n\n```\ngit clone https://github.com/xtekky/gpt4free.git\n```\n\n2. Navigate to the project directory:\n\n```\ncd gpt4free\n```\n\n3. (Recommended) Create a Python virtual environment:\nYou can follow the [Python official documentation](https://docs.python.org/3/tutorial/venv.html) for virtual environments.\n\n\n```\npython3 -m venv venv\n```\n\n4. Activate the virtual environment:\n   - On Windows:\n   ```\n   .\\venv\\Scripts\\activate\n   ```\n   - On macOS and Linux:\n   ```\n   source venv/bin/activate\n   ```\n5. Install minimum requirements:\n\n```\npip install -r requirements-min.txt\n```\n\n6. Or install all used Python packages from `requirements.txt`:\n\n```\npip install -r requirements.txt\n```\n\n7. Create a `test.py` file in the root folder and start using the repo, further Instructions are below\n\n```py\nimport g4f\n...\n```\n\n#### Docker for Developers\n\nIf you have Docker installed, you can easily set up and run the project without manually installing dependencies.\n\n1. First, ensure you have both Docker and Docker Compose installed.\n\n   - [Install Docker](https://docs.docker.com/get-docker/)\n   - [Install Docker Compose](https://docs.docker.com/compose/install/)\n\n2. Clone the GitHub repo:\n\n```bash\ngit clone https://github.com/xtekky/gpt4free.git\n```\n\n3. Navigate to the project directory:\n\n```bash\ncd gpt4free\n```\n\n4. Build the Docker image:\n\n```bash\ndocker pull selenium/node-chrome\ndocker-compose build\n```\n\n5. Start the service using Docker Compose:\n\n```bash\ndocker-compose up\n```\n\nYour server will now be running at `http://localhost:1337`. You can interact with the API or run your tests as you would normally.\n\nTo stop the Docker containers, simply run:\n\n```bash\ndocker-compose down\n```\n\n> [!Note]\n> When using Docker, any changes you make to your local files will be reflected in the Docker container thanks to the volume mapping in the `docker-compose.yml` file. If you add or remove dependencies, however, you'll need to rebuild the Docker image using `docker-compose build`.\n\n## \ud83d\udca1 Usage\n\n### The Web UI\n\nTo start the web interface, type the following codes in the command line.\n\n```python\nfrom g4f.gui import run_gui\nrun_gui()\n```\n\n### The `g4f` Package\n\n#### ChatCompletion\n\n```python\nimport g4f\n\ng4f.debug.logging = True  # Enable debug logging\ng4f.debug.version_check = False  # Disable automatic version checking\nprint(g4f.Provider.Bing.params)  # Print supported args for Bing\n\n# Using automatic a provider for the given model\n## Streamed completion\nresponse = g4f.ChatCompletion.create(\n    model=\"gpt-3.5-turbo\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello\"}],\n    stream=True,\n)\nfor message in response:\n    print(message, flush=True, end='')\n\n## Normal response\nresponse = g4f.ChatCompletion.create(\n    model=g4f.models.gpt_4,\n    messages=[{\"role\": \"user\", \"content\": \"Hello\"}],\n)  # Alternative model setting\n\nprint(response)\n```\n\n##### Completion\n\n```python\nimport g4f\n\nallowed_models = [\n    'code-davinci-002',\n    'text-ada-001',\n    'text-babbage-001',\n    'text-curie-001',\n    'text-davinci-002',\n    'text-davinci-003'\n]\n\nresponse = g4f.Completion.create(\n    model='text-davinci-003',\n    prompt='say this is a test'\n)\n\nprint(response)\n```\n\n##### Providers\n\n```python\nimport g4f\n\n# Print all available providers\nprint([\n    provider.__name__\n    for provider in g4f.Provider.__providers__\n    if provider.working\n])\n\n# Execute with a specific provider\nresponse = g4f.ChatCompletion.create(\n    model=\"gpt-3.5-turbo\",\n    provider=g4f.Provider.Aichat,\n    messages=[{\"role\": \"user\", \"content\": \"Hello\"}],\n    stream=True,\n)\nfor message in response:\n    print(message)\n```\n\n##### Cookies / Access Token\n\nFor generating images with Bing and for the OpenAi Chat  you need cookies or a token from your browser session. From Bing you need the \"_U\" cookie and from OpenAI you need the \"access_token\". You can pass the cookies / the  access token in the create function or you use the `set_cookies` setter:\n\n```python\nfrom g4f import set_cookies\n\nset_cookies(\".bing\", {\n  \"_U\": \"cookie value\"\n})\nset_cookies(\"chat.openai.com\", {\n  \"access_token\": \"token value\"\n})\n\nfrom g4f.gui import run_gui\nrun_gui()\n```\n\nAlternatively, g4f reads the cookies with \u201cbrowser_cookie3\u201d from your browser\nor it starts a browser instance with selenium \"webdriver\" for logging in.\nIf you use the pip package, you have to install \u201cbrowser_cookie3\u201d or \"webdriver\" by yourself.\n\n```bash\npip install browser_cookie3\npip install g4f[webdriver]\n```\n\n##### Using Browser\n\nSome providers using a browser to bypass the bot protection. They using the selenium webdriver to control the browser. The browser settings and the login data are saved in a custom directory. If the headless mode is enabled, the browser windows are loaded invisibly. For performance reasons, it is recommended to reuse the browser instances and close them yourself at the end:\n\n```python\nimport g4f\nfrom undetected_chromedriver import Chrome, ChromeOptions\nfrom g4f.Provider import (\n    Bard,\n    Poe,\n    AItianhuSpace,\n    MyShell,\n    PerplexityAi,\n)\n\noptions = ChromeOptions()\noptions.add_argument(\"--incognito\");\nwebdriver = Chrome(options=options, headless=True)\nfor idx in range(10):\n    response = g4f.ChatCompletion.create(\n        model=g4f.models.default,\n        provider=g4f.Provider.MyShell,\n        messages=[{\"role\": \"user\", \"content\": \"Suggest me a name.\"}],\n        webdriver=webdriver\n    )\n    print(f\"{idx}:\", response)\nwebdriver.quit()\n```\n\n##### Async Support\n\nTo enhance speed and overall performance, execute providers asynchronously. The total execution time will be determined by the duration of the slowest provider's execution.\n\n```python\nimport g4f\nimport asyncio\n\n_providers = [\n    g4f.Provider.Aichat,\n    g4f.Provider.ChatBase,\n    g4f.Provider.Bing,\n    g4f.Provider.GptGo,\n    g4f.Provider.You,\n    g4f.Provider.Yqcloud,\n]\n\nasync def run_provider(provider: g4f.Provider.BaseProvider):\n    try:\n        response = await g4f.ChatCompletion.create_async(\n            model=g4f.models.default,\n            messages=[{\"role\": \"user\", \"content\": \"Hello\"}],\n            provider=provider,\n        )\n        print(f\"{provider.__name__}:\", response)\n    except Exception as e:\n        print(f\"{provider.__name__}:\", e)\n        \nasync def run_all():\n    calls = [\n        run_provider(provider) for provider in _providers\n    ]\n    await asyncio.gather(*calls)\n\nasyncio.run(run_all())\n```\n\n##### Proxy and Timeout Support\n\nAll providers support specifying a proxy and increasing timeout in the create functions.\n\n```python\nimport g4f\n\nresponse = g4f.ChatCompletion.create(\n    model=g4f.models.default,\n    messages=[{\"role\": \"user\", \"content\": \"Hello\"}],\n    proxy=\"http://host:port\",\n    # or socks5://user:pass@host:port\n    timeout=120,  # in secs\n)\n\nprint(f\"Result:\", response)\n```\n\nYou can also set a proxy globally via an environment variable:\n\n```sh\nexport G4F_PROXY=\"http://host:port\"\n```\n\n### Interference openai-proxy API (Use with openai python package)\n\n#### Run interference API from PyPi package\n\n```python\nfrom g4f.api import run_api\n\nrun_api()\n```\n\n#### Run interference API from repo\n\nIf you want to use the embedding function, you need to get a Hugging Face token. You can get one at [Hugging Face Tokens](https://huggingface.co/settings/tokens). Make sure your role is set to write. If you have your token, just use it instead of the OpenAI api-key.\n\nRun server:\n\n```sh\ng4f api\n```\n\nor\n\n```sh\npython -m g4f.api.run\n```\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    # Set your Hugging Face token as the API key if you use embeddings\n    api_key=\"YOUR_HUGGING_FACE_TOKEN\",\n\n    # Set the API base URL if needed, e.g., for a local development environment\n    base_url=\"http://localhost:1337/v1\"\n)\n\n\ndef main():\n    chat_completion = client.chat.completions.create(\n        model=\"gpt-3.5-turbo\",\n        messages=[{\"role\": \"user\", \"content\": \"write a poem about a tree\"}],\n        stream=True,\n    )\n\n    if isinstance(chat_completion, dict):\n        # Not streaming\n        print(chat_completion.choices[0].message.content)\n    else:\n        # Streaming\n        for token in chat_completion:\n            content = token.choices[0].delta.content\n            if content is not None:\n                print(content, end=\"\", flush=True)\n\n\nif __name__ == \"__main__\":\n    main()\n```\n\n##  API usage (POST)\n#### Chat completions\nSend the POST request to /v1/chat/completions with body containing the `model` method. This example uses python with requests library:\n```python\nimport requests\nurl = \"http://localhost:1337/v1/chat/completions\"\nbody = {\n    \"model\": \"gpt-3.5-turbo-16k\",\n    \"stream\": False,\n    \"messages\": [\n        {\"role\": \"assistant\", \"content\": \"What can you do?\"}\n    ]\n}\njson_response = requests.post(url, json=body).json().get('choices', [])\n\nfor choice in json_response:\n    print(choice.get('message', {}).get('content', ''))\n```\n\n\n## \ud83d\ude80 Providers and Models\n\n### GPT-4\n\n| Website | Provider | GPT-3.5 | GPT-4 | Stream | Status | Auth |\n| ------  | -------  | ------- | ----- | ------ | ------ | ---- |\n| [bing.com](https://bing.com/chat) | `g4f.Provider.Bing` | \u274c | \u2714\ufe0f | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [chat.geekgpt.org](https://chat.geekgpt.org) | `g4f.Provider.GeekGpt` | \u2714\ufe0f | \u2714\ufe0f | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [gptchatly.com](https://gptchatly.com) | `g4f.Provider.GptChatly` | \u2714\ufe0f | \u2714\ufe0f | \u274c | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [liaobots.site](https://liaobots.site) | `g4f.Provider.Liaobots` | \u2714\ufe0f | \u2714\ufe0f | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [raycast.com](https://raycast.com) | `g4f.Provider.Raycast` | \u2714\ufe0f | \u2714\ufe0f | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u2714\ufe0f |\n\n### GPT-3.5\n\n| Website | Provider | GPT-3.5 | GPT-4 | Stream | Status | Auth |\n| ------  | -------  | ------- | ----- | ------ | ------ | ---- |\n| [www.aitianhu.com](https://www.aitianhu.com) | `g4f.Provider.AItianhu` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [chat3.aiyunos.top](https://chat3.aiyunos.top/) | `g4f.Provider.AItianhuSpace` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [e.aiask.me](https://e.aiask.me) | `g4f.Provider.AiAsk` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [chat-gpt.org](https://chat-gpt.org/chat) | `g4f.Provider.Aichat` | \u2714\ufe0f | \u274c | \u274c | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [www.chatbase.co](https://www.chatbase.co) | `g4f.Provider.ChatBase` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [chatforai.store](https://chatforai.store) | `g4f.Provider.ChatForAi` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [chatgpt.ai](https://chatgpt.ai) | `g4f.Provider.ChatgptAi` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [chatgptx.de](https://chatgptx.de) | `g4f.Provider.ChatgptX` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [chat-shared2.zhile.io](https://chat-shared2.zhile.io) | `g4f.Provider.FakeGpt` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [freegpts1.aifree.site](https://freegpts1.aifree.site/) | `g4f.Provider.FreeGpt` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [gptalk.net](https://gptalk.net) | `g4f.Provider.GPTalk` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [ai18.gptforlove.com](https://ai18.gptforlove.com) | `g4f.Provider.GptForLove` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [gptgo.ai](https://gptgo.ai) | `g4f.Provider.GptGo` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [hashnode.com](https://hashnode.com) | `g4f.Provider.Hashnode` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [app.myshell.ai](https://app.myshell.ai/chat) | `g4f.Provider.MyShell` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [noowai.com](https://noowai.com) | `g4f.Provider.NoowAi` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [chat.openai.com](https://chat.openai.com) | `g4f.Provider.OpenaiChat` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u2714\ufe0f |\n| [theb.ai](https://theb.ai) | `g4f.Provider.Theb` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u2714\ufe0f |\n| [sdk.vercel.ai](https://sdk.vercel.ai) | `g4f.Provider.Vercel` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [you.com](https://you.com) | `g4f.Provider.You` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [chat9.yqcloud.top](https://chat9.yqcloud.top/) | `g4f.Provider.Yqcloud` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [chat.acytoo.com](https://chat.acytoo.com) | `g4f.Provider.Acytoo` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [aibn.cc](https://aibn.cc) | `g4f.Provider.Aibn` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [ai.ls](https://ai.ls) | `g4f.Provider.Ails` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [chatgpt4online.org](https://chatgpt4online.org) | `g4f.Provider.Chatgpt4Online` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [chat.chatgptdemo.net](https://chat.chatgptdemo.net) | `g4f.Provider.ChatgptDemo` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [chatgptduo.com](https://chatgptduo.com) | `g4f.Provider.ChatgptDuo` | \u2714\ufe0f | \u274c | \u274c | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [chatgptfree.ai](https://chatgptfree.ai) | `g4f.Provider.ChatgptFree` | \u2714\ufe0f | \u274c | \u274c | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [chatgptlogin.ai](https://chatgptlogin.ai) | `g4f.Provider.ChatgptLogin` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [cromicle.top](https://cromicle.top) | `g4f.Provider.Cromicle` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [gptgod.site](https://gptgod.site) | `g4f.Provider.GptGod` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [opchatgpts.net](https://opchatgpts.net) | `g4f.Provider.Opchatgpts` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n| [chat.ylokh.xyz](https://chat.ylokh.xyz) | `g4f.Provider.Ylokh` | \u2714\ufe0f | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u274c |\n\n### Other\n\n| Website | Provider | GPT-3.5 | GPT-4 | Stream | Status | Auth |\n| ------  | -------  | ------- | ----- | ------ | ------ | ---- |\n| [bard.google.com](https://bard.google.com) | `g4f.Provider.Bard` | \u274c | \u274c | \u274c | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u2714\ufe0f |\n| [deepinfra.com](https://deepinfra.com) | `g4f.Provider.DeepInfra` | \u274c | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u274c |\n| [huggingface.co](https://huggingface.co/chat) | `g4f.Provider.HuggingChat` | \u274c | \u274c | \u2714\ufe0f | ![Active](https://img.shields.io/badge/Active-brightgreen) | \u2714\ufe0f |\n| [www.llama2.ai](https://www.llama2.ai) | `g4f.Provider.Llama2` | \u274c | \u274c | \u2714\ufe0f | ![Unknown](https://img.shields.io/badge/Unknown-grey) | \u274c |\n| [open-assistant.io](https://open-assistant.io/chat) | `g4f.Provider.OpenAssistant` | \u274c | \u274c | \u2714\ufe0f | ![Inactive](https://img.shields.io/badge/Inactive-red) | \u2714\ufe0f |\n\n### Models\n\n| Model                                   | Base Provider | Provider            | Website                                     |\n| --------------------------------------- | ------------- | ------------------- | ------------------------------------------- |\n| palm                                    | Google        | g4f.Provider.Bard   | [bard.google.com](https://bard.google.com/) |\n| h2ogpt-gm-oasst1-en-2048-falcon-7b-v3   | Hugging Face  | g4f.Provider.H2o    | [www.h2o.ai](https://www.h2o.ai/)           |\n| h2ogpt-gm-oasst1-en-2048-falcon-40b-v1  | Hugging Face  | g4f.Provider.H2o    | [www.h2o.ai](https://www.h2o.ai/)           |\n| h2ogpt-gm-oasst1-en-2048-open-llama-13b | Hugging Face  | g4f.Provider.H2o    | [www.h2o.ai](https://www.h2o.ai/)           |\n| claude-instant-v1                       | Anthropic     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| claude-v1                               | Anthropic     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| claude-v2                               | Anthropic     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| command-light-nightly                   | Cohere        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| command-nightly                         | Cohere        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| gpt-neox-20b                            | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| oasst-sft-1-pythia-12b                  | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| oasst-sft-4-pythia-12b-epoch-3.5        | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| santacoder                              | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| bloom                                   | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| flan-t5-xxl                             | Hugging Face  | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| code-davinci-002                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| gpt-3.5-turbo-16k                       | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| gpt-3.5-turbo-16k-0613                  | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| gpt-4-0613                              | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| text-ada-001                            | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| text-babbage-001                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| text-curie-001                          | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| text-davinci-002                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| text-davinci-003                        | OpenAI        | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| llama13b-v2-chat                        | Replicate     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n| llama7b-v2-chat                         | Replicate     | g4f.Provider.Vercel | [sdk.vercel.ai](https://sdk.vercel.ai/)     |\n\n## \ud83d\udd17 Related GPT4Free Projects\n\n<table>\n  <thead align=\"center\">\n    <tr border: none;>\n      <td><b>\ud83c\udf81 Projects</b></td>\n      <td><b>\u2b50 Stars</b></td>\n      <td><b>\ud83d\udcda Forks</b></td>\n      <td><b>\ud83d\udece Issues</b></td>\n      <td><b>\ud83d\udcec Pull requests</b></td>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><a href=\"https://github.com/xtekky/gpt4free\"><b>gpt4free</b></a></td>\n      <td><a href=\"https://github.com/xtekky/gpt4free/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/xtekky/gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xtekky/gpt4free/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/xtekky/gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xtekky/gpt4free/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/xtekky/gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xtekky/gpt4free/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/xtekky/gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n      <td><a href=\"https://github.com/xiangsx/gpt4free-ts\"><b>gpt4free-ts</b></a></td>\n      <td><a href=\"https://github.com/xiangsx/gpt4free-ts/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xiangsx/gpt4free-ts/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xiangsx/gpt4free-ts/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xiangsx/gpt4free-ts/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/xiangsx/gpt4free-ts?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n     <tr>\n      <td><a href=\"https://github.com/zukixa/cool-ai-stuff/\"><b>Free AI API's & Potential Providers List</b></a></td>\n      <td><a href=\"https://github.com/zukixa/cool-ai-stuff/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/zukixa/cool-ai-stuff/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/zukixa/cool-ai-stuff/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/zukixa/cool-ai-stuff/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/zukixa/cool-ai-stuff?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n    <tr>\n    <tr>\n      <td><a href=\"https://github.com/xtekky/chatgpt-clone\"><b>ChatGPT-Clone</b></a></td>\n      <td><a href=\"https://github.com/xtekky/chatgpt-clone/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xtekky/chatgpt-clone/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xtekky/chatgpt-clone/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/xtekky/chatgpt-clone/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/xtekky/chatgpt-clone?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n    <tr>\n      <td><a href=\"https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free\"><b>ChatGpt Discord Bot</b></a></td>\n      <td><a href=\"https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/mishalhossin/Discord-Chatbot-Gpt4Free/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/mishalhossin/Coding-Chatbot-Gpt4Free/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/mishalhossin/Discord-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n<tr>\n  <td><a href=\"https://github.com/SamirXR/Nyx-Bot\"><b>Nyx-Bot (Discord)</b></a></td>\n  <td><a href=\"https://github.com/SamirXR/Nyx-Bot/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41\"/></a></td>\n  <td><a href=\"https://github.com/SamirXR/Nyx-Bot/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41\"/></a></td>\n  <td><a href=\"https://github.com/SamirXR/Nyx-Bot/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41\"/></a></td>\n  <td><a href=\"https://github.com/SamirXR/Nyx-Bot/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/SamirXR/Nyx-Bot?style=flat-square&labelColor=343b41\"/></a></td>\n</tr>\n    </tr>\n    <tr>\n      <td><a href=\"https://github.com/MIDORIBIN/langchain-gpt4free\"><b>LangChain gpt4free</b></a></td>\n      <td><a href=\"https://github.com/MIDORIBIN/langchain-gpt4free/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/MIDORIBIN/langchain-gpt4free/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/MIDORIBIN/langchain-gpt4free/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/MIDORIBIN/langchain-gpt4free/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/MIDORIBIN/langchain-gpt4free?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n    <tr>\n      <td><a href=\"https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free\"><b>ChatGpt Telegram Bot</b></a></td>\n      <td><a href=\"https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/HexyeDEV/Telegram-Chatbot-Gpt4Free/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/HexyeDEV/Telegram-Chatbot-Gpt4Free?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n        <tr>\n      <td><a href=\"https://github.com/Lin-jun-xiang/chatgpt-line-bot\"><b>ChatGpt Line Bot</b></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/chatgpt-line-bot/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/chatgpt-line-bot/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/chatgpt-line-bot/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/chatgpt-line-bot/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/Lin-jun-xiang/chatgpt-line-bot?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n    <tr>\n      <td><a href=\"https://github.com/Lin-jun-xiang/action-translate-readme\"><b>Action Translate Readme</b></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/action-translate-readme/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/action-translate-readme/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/action-translate-readme/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/action-translate-readme/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/Lin-jun-xiang/action-translate-readme?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n    <tr>\n      <td><a href=\"https://github.com/Lin-jun-xiang/docGPT-streamlit\"><b>Langchain Document GPT</b></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/docGPT-streamlit/stargazers\"><img alt=\"Stars\" src=\"https://img.shields.io/github/stars/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/docGPT-streamlit/network/members\"><img alt=\"Forks\" src=\"https://img.shields.io/github/forks/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/docGPT-streamlit/issues\"><img alt=\"Issues\" src=\"https://img.shields.io/github/issues/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41\"/></a></td>\n      <td><a href=\"https://github.com/Lin-jun-xiang/docGPT-streamlit/pulls\"><img alt=\"Pull Requests\" src=\"https://img.shields.io/github/issues-pr/Lin-jun-xiang/docGPT-streamlit?style=flat-square&labelColor=343b41\"/></a></td>\n    </tr>\n  </tbody>\n</table>\n\n## \ud83e\udd1d Contribute\n\n#### Create Provider with AI Tool\n\nCall in your terminal the `create_provider.py` script:\n```bash\npython etc/tool/create_provider.py\n```\n1. Enter your name for the new provider.\n2. Copy and paste the `cURL` command from your browser developer tools.\n3. Let the AI \u200b\u200bcreate the provider for you.\n4. Customize the provider according to your needs.\n\n#### Create Provider\n\n1. Check out the current [list of potential providers](https://github.com/zukixa/cool-ai-stuff#ai-chat-websites), or find your own provider source!\n2. Create a new file in [g4f/Provider](./g4f/Provider) with the name of the Provider\n3. Implement a class that extends [BaseProvider](./g4f/Provider/base_provider.py).\n\n```py\nfrom __future__ import annotations\n\nfrom ..typing import AsyncResult, Messages\nfrom .base_provider import AsyncGeneratorProvider\n\nclass HogeService(AsyncGeneratorProvider):\n    url                   = \"https://chat-gpt.com\"\n    working               = True\n    supports_gpt_35_turbo = True\n\n    @classmethod\n    async def create_async_generator(\n        cls,\n        model: str,\n        messages: Messages,\n        proxy: str = None,\n        **kwargs\n    ) -> AsyncResult:\n        yield \"\"\n```\n\n4. Here, you can adjust the settings, for example, if the website does support streaming, set `supports_stream` to `True`...\n5. Write code to request the provider in `create_async_generator` and `yield` the response, _even if_ it's a one-time response, do not hesitate to look at other providers for inspiration\n6. Add the Provider Name in [`g4f/Provider/__init__.py`](./g4f/Provider/__init__.py)\n\n```py\nfrom .HogeService import HogeService\n\n__all__ = [\n  HogeService,\n]\n```\n\n7. You are done !, test the provider by calling it:\n\n```py\nimport g4f\n\nresponse = g4f.ChatCompletion.create(model='gpt-3.5-turbo', provider=g4f.Provider.PROVIDERNAME,\n                                    messages=[{\"role\": \"user\", \"content\": \"test\"}], stream=g4f.Provider.PROVIDERNAME.supports_stream)\n\nfor message in response:\n    print(message, flush=True, end='')\n```\n\n## \ud83d\ude4c Contributors\n\nA list of the contributors is available [here](https://github.com/xtekky/gpt4free/graphs/contributors)   \nThe [`Vercel.py`](https://github.com/xtekky/gpt4free/blob/main/g4f/Provider/Vercel.py) file contains code from [vercel-llm-api](https://github.com/ading2210/vercel-llm-api) by [@ading2210](https://github.com/ading2210), which is licensed under the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.txt)   \nTop 1 Contributor: [@hlohaus](https://github.com/hlohaus)\n\n## \u00a9\ufe0f Copyright\n\nThis program is licensed under the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.txt)\n\n```\nxtekky/gpt4free: Copyright (C) 2023 xtekky\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see <https://www.gnu.org/licenses/>.\n```\n\n## \u2b50 Star History\n\n<a href=\"https://github.com/xtekky/gpt4free/stargazers\">\n        <img width=\"500\" alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=xtekky/gpt4free&type=Date\">\n</a>\n\n## \ud83d\udcc4 License\n\n<table>\n  <tr>\n     <td>\n       <p align=\"center\"> <img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/9/93/GPLv3_Logo.svg/1200px-GPLv3_Logo.svg.png\" width=\"80%\"></img>\n    </td>\n    <td> \n      <img src=\"https://img.shields.io/badge/License-GNU_GPL_v3.0-red.svg\"/> <br> \nThis project is licensed under <a href=\"./LICENSE\">GNU_GPL_v3.0</a>.\n    </td>\n  </tr>\n</table>\n\n<p align=\"right\">(<a href=\"#top\">\ud83d\udd3c Back to top</a>)</p>\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "The official gpt4free repository | various collection of powerful language models",
    "version": "0.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/xtekky/gpt4free/issues",
        "Homepage": "https://github.com/xtekky/gpt4free",
        "Source Code": "https://github.com/xtekky/gpt4free"
    },
    "split_keywords": [
        "python",
        "chatbot",
        "reverse-engineering",
        "openai",
        "chatbots",
        "gpt",
        "language-model",
        "gpt-3",
        "gpt3",
        "openai-api",
        "gpt-4",
        "gpt4",
        "chatgpt",
        "chatgpt-api",
        "openai-chatgpt",
        "chatgpt-free",
        "chatgpt-4",
        "chatgpt4",
        "chatgpt4-api",
        "free",
        "free-gpt",
        "gpt4free",
        "g4f"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fec83f31cd10ad1e53abbad3bb516f8cadf1f906d2bbcaf3af2c7a0963092936",
                "md5": "671676822426ecc165e0ef33608cc82a",
                "sha256": "34c03a587b3a8411e3ba54efbf307aca756bf5a60a194122c49817a3f911cef8"
            },
            "downloads": -1,
            "filename": "gpt4free-0.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "671676822426ecc165e0ef33608cc82a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 361750,
            "upload_time": "2024-02-03T20:25:05",
            "upload_time_iso_8601": "2024-02-03T20:25:05.485091Z",
            "url": "https://files.pythonhosted.org/packages/fe/c8/3f31cd10ad1e53abbad3bb516f8cadf1f906d2bbcaf3af2c7a0963092936/gpt4free-0.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d1b186b91cd27462b531b49026df9d9171f1823cbd6ca259c1b0792cc27674a",
                "md5": "75be339716915330b6dc4ecfc9ba2ce3",
                "sha256": "9872df9c61e35f548819a7e8abe636bbb73bb5f508729b2ed44a66a343177934"
            },
            "downloads": -1,
            "filename": "gpt4free-0.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "75be339716915330b6dc4ecfc9ba2ce3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 303302,
            "upload_time": "2024-02-03T20:25:08",
            "upload_time_iso_8601": "2024-02-03T20:25:08.208792Z",
            "url": "https://files.pythonhosted.org/packages/4d/1b/186b91cd27462b531b49026df9d9171f1823cbd6ca259c1b0792cc27674a/gpt4free-0.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-03 20:25:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xtekky",
    "github_project": "gpt4free",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "gpt4free"
}
        
Elapsed time: 0.17783s