gpt4free - 分散人工智能产业,只是一些语言模型 api 的......

Created at: 2023-03-30 01:00:43
Language: Python
License: GPL-3.0

248433934-7886223b-c1d1-4260-82aa-da5741f303bb@xtekky 撰写并由 @hlohaus 维护

使用此存储库或与之相关的任何代码,即表示你同意法律声明。作者不对本存储库的使用负责,也不认可它,作者也不对其他用户制作的任何副本、分叉、重新上传或与 GPT4Free 相关的任何其他内容负责。这是作者唯一的帐户和存储库。为防止冒充或不负责任的行为,请遵守本存储库使用的 GNU GPL 许可证。

[!警告] “gpt4free” 用作 PoC(概念验证),演示了具有多提供者请求的 api 包的开发,具有超时、负载均衡和流量控制等功能。

[!注] Lastet 版本Stats: PyPI 版本 Docker 版本
下载 下载

pip install -U g4f
docker pull hlohaus789/g4f

🆕 最新消息

网站下架

你的网站是否在这个存储库中,你想把它删除?通过电子邮件 takedown@g4f.ai 证明它是你的,它将尽快删除。- 为防止复制,请保护你的 API;)

反馈

你可以随时在这里留下一些反馈:https://forms.gle/FeWV9RLEedfdkmFN6

去做

根据调查,以下是即将到来的改进列表

  • [x] 更新存储库以包含新的 OpenAI 库语法(例如:class) |已完成,使用
    Openai()
    g4f.client.Client
  • [ ] Golang 实现
  • [ ] 改进文档(g4f.mintlify.app)和做视频教程
  • [ ] 改进提供程序状态列表和更新
  • [ ] 关于如何反转站点以编写自己的包装器的教程(仅限 PoC ofc)
  • [ ] 改进 Bing 包装器。(可能会在 golang 中编写一个新的包装器,因为它非常快)
  • [ ] 编写标准提供程序性能测试以提高稳定性
  • [ ] 本地模式的潜在支持和开发
  • [ ] 改进兼容性和错误处理

📚 目录

🛠️ 开始

Docker 容器

快速入门:
  1. 下载并安装 Docker
  2. 拉取最新映像并运行容器:
docker pull hlohaus789/g4f
docker run -p 8080:8080 -p 1337:1337 -p 7900:7900 --shm-size="2g" hlohaus789/g4f:latest
  1. 在以下位置打开包含的客户端: http://localhost:8080/chat/ 或将客户端中的 api 库设置为:http://localhost:1337/v1
  2. (可选)如果需要登录到提供程序,可以从容器查看桌面:http://localhost:7900/?autoconnect=1&resize=scale&password=secret

使用 python

先决条件:
  1. 下载并安装 Python(建议使用 3.10+ 版本)。
  2. 为具有网络驱动程序的提供商安装 Google Chrome
使用 pypi 安装:
pip install -U g4f[all]

或者使用部分要求。

请参见:/docs/requirements

从源代码安装:

请参阅:/docs/git

使用 Docker 安装

请参见:/docs/docker

💡 用法

文本生成

使用 Python

from g4f.client import Client

client = Client()
response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Say this is a test"}],
    ...
)
print(response.choices[0].message.content)

图像生成

使用 Python

from g4f.client import Client

client = Client()
response = client.images.generate(
  model="gemini",
  prompt="a white siamese cat",
  ...
)
image_url = response.data[0].url

结果:

图片与猫

另请参阅 Python:

Web 用户界面

要启动 Web 界面,请在 python 中键入以下代码:

from g4f.gui import run_gui
run_gui()

或执行以下命令:

python -m g4f.cli gui -port 8080 -debug

干扰 API

你可以使用 Interference API 为其他 OpenAI 与 G4F 的集成提供服务。

请参见:/docs/interference

配置

Cookie / 访问令牌

要使用 Bing 和 OpenAi Chat 生成图像,你需要 cookie 或来自浏览器会话的令牌。在 Bing 中,你需要“_U”cookie,而在 OpenAI 中,你需要“access_token”。你可以在 create 函数中传递 cookie / 访问令牌,或者在运行 G4F 之前使用 setter:

set_cookies

from g4f.cookies import set_cookies

set_cookies(".bing.com", {
  "_U": "cookie value"
})
set_cookies("chat.openai.com", {
  "access_token": "token value"
})
set_cookies(".google.com", {
  "__Secure-1PSID": "cookie value"
})

...

或者,G4F 从你的浏览器读取 cookie 或者它使用 Selenium 启动浏览器实例以进行登录。

browser_cookie3
webdriver

使用代理

如果要隐藏或更改提供商的 IP 地址,可以通过环境变量全局设置代理:

  • 在 macOS 和 Linux 上:
export G4F_PROXY="http://host:port"
  • 在 Windows 上:
set G4F_PROXY=http://host:port

🚀 提供程序和模型

GPT-4的

网站 供应商 GPT-3.5的 GPT-4的 地位 认证
bing.com
g4f.Provider.Bing
✔️ ✔️ 积极
free.chatgpt.org.uk
g4f.Provider.FreeChatgpt
✔️ ✔️ ✔️ 未知
liaobots.site
g4f.Provider.Liaobots
✔️ ✔️ ✔️ 积极
chat.openai.com
g4f.Provider.OpenaiChat
✔️ ✔️ ✔️ 积极 ✔️
raycast.com
g4f.Provider.Raycast
✔️ ✔️ ✔️ 未知 ✔️
beta.theb.ai
g4f.Provider.Theb
✔️ ✔️ ✔️ 未知
chat.geekgpt.org
g4f.Provider.GeekGpt
✔️ ✔️ ✔️ 无效

GPT-3.5的

网站 供应商 GPT-3.5的 GPT-4的 地位 认证
chat3.aiyunos.top
g4f.Provider.AItianhuSpace
✔️ ✔️ 未知
aichatonline.org
g4f.Provider.AiChatOnline
✔️ ✔️ 未知
openchat.team
g4f.Provider.Aura
✔️ ✔️ 积极
chatbase.co
g4f.Provider.ChatBase
✔️ ✔️ 积极
chatforai.store
g4f.Provider.ChatForAi
✔️ ✔️ 未知
chatgpt.ai
g4f.Provider.ChatgptAi
✔️ ✔️ 未知
chat.chatgptdemo.net
g4f.Provider.ChatgptDemo
✔️ ✔️ 未知
chatgpt-free.cc
g4f.Provider.ChatgptNext
✔️ ✔️ 未知
chat.3211000.xyz
g4f.Provider.Chatxyz
✔️ ✔️ 未知
gptalk.net
g4f.Provider.GPTalk
✔️ ✔️ 未知
geminiprochat.com
g4f.Provider.GeminiProChat
✔️ ✔️ 积极
gpt6.ai
g4f.Provider.Gpt6
✔️ ✔️ 未知
gptchatly.com
g4f.Provider.GptChatly
✔️ 未知
ai18.gptforlove.com
g4f.Provider.GptForLove
✔️ ✔️ 未知
gptgo.ai
g4f.Provider.GptGo
✔️ ✔️ 未知
gpttalk.ru
g4f.Provider.GptTalkRu
✔️ ✔️ 未知
koala.sh
g4f.Provider.Koala
✔️ ✔️ 积极
app.myshell.ai
g4f.Provider.MyShell
✔️ ✔️ 未知
onlinegpt.org
g4f.Provider.OnlineGpt
✔️ ✔️ 未知
perplexity.ai
g4f.Provider.PerplexityAi
✔️ ✔️ 未知
poe.com
g4f.Provider.Poe
✔️ ✔️ 未知 ✔️
talkai.info
g4f.Provider.TalkAi
✔️ ✔️ 未知
you.com
g4f.Provider.You
✔️ ✔️ 积极
aitianhu.com
g4f.Provider.AItianhu
✔️ ✔️ 无效
e.aiask.me
g4f.Provider.AiAsk
✔️ ✔️ 无效
chatgpt.bestim.org
g4f.Provider.Bestim
✔️ ✔️ 无效
chatanywhere.cn
g4f.Provider.ChatAnywhere
✔️ ✔️ 无效
chatgpt4online.org
g4f.Provider.Chatgpt4Online
✔️ ✔️ 无效
chat.chatgptdemo.ai
g4f.Provider.ChatgptDemoAi
✔️ ✔️ 无效
chatgptfree.ai
g4f.Provider.ChatgptFree
✔️ 无效
chatgptlogin.ai
g4f.Provider.ChatgptLogin
✔️ ✔️ 无效
chatgptx.de
g4f.Provider.ChatgptX
✔️ ✔️ 无效
chat-shared2.zhile.io
g4f.Provider.FakeGpt
✔️ ✔️ 无效
freegpts1.aifree.site
g4f.Provider.FreeGpt
✔️ ✔️ 无效
gptgod.site
g4f.Provider.GptGod
✔️ ✔️ 无效
hashnode.com
g4f.Provider.Hashnode
✔️ ✔️ 无效
sdk.vercel.ai
g4f.Provider.Vercel
✔️ ✔️ 无效
chat.ylokh.xyz
g4f.Provider.Ylokh
✔️ ✔️ 无效

其他

网站 供应商 GPT-3.5的 GPT-4的 地位 认证
bard.google.com
g4f.Provider.Bard
未知 ✔️
deepinfra.com
g4f.Provider.DeepInfra
✔️ 积极
gemini.google.com
g4f.Provider.Gemini
积极 ✔️
huggingface.co
g4f.Provider.HuggingChat
✔️ 积极
llama2.ai
g4f.Provider.Llama2
✔️ 积极
labs.perplexity.ai
g4f.Provider.PerplexityLabs
✔️ 积极
phind.com
g4f.Provider.Phind
✔️ 未知
pi.ai
g4f.Provider.Pi
✔️ 未知
theb.ai
g4f.Provider.ThebApi
未知 ✔️
open-assistant.io
g4f.Provider.OpenAssistant
✔️ 无效 ✔️

模型

基本提供程序 供应商 网站
GPT-3.5-涡轮增压 OpenAI的 5+ 供应商 openai.com
GPT-4型 OpenAI的 2+ 供应商 openai.com
GPT-4-涡轮增压 OpenAI的 G4F。Provider.Bing openai.com
骆驼-2-7b-chat-hf 拥抱脸 2+ 供应商 huggingface.co
骆驼-2-13b-chat-hf 拥抱脸 2+ 供应商 huggingface.co
骆驼-2-70b-chat-hf 拥抱脸 4+ 供应商 huggingface.co
代码Llama-34b-Instruct-hf 拥抱脸 3+ 供应商 huggingface.co
混音-8x7B-Instruct-v0.1 拥抱脸 3+ 供应商 huggingface.co
Mistral-7B-Instruct-v0.1 拥抱脸 3+ 供应商 huggingface.co
海豚-2.6-混合体-8x7B 拥抱脸 G4F。提供程序.DeepInfra huggingface.co
lzlv_70b_fp16_hf 拥抱脸 G4F。提供程序.DeepInfra huggingface.co
艾罗波罗斯-70B 拥抱脸 G4F。提供程序.DeepInfra huggingface.co
艾罗波罗斯-L2-70B-GPT4-1.4.1 拥抱脸 G4F。提供程序.DeepInfra huggingface.co
openchat_3.5 拥抱脸 2+ 供应商 huggingface.co
双子座 谷歌 G4F。Provider.Gemini gemini.google.com
双子座-专业版 谷歌 2+ 供应商 gemini.google.com
克劳德-V2 人为 2+ 供应商 anthropic.com
圆周率 屈折 G4F。提供程序.Pi inflection.ai

🔗 相关 GPT4Free 项目

🎁 项目 ⭐ 星星 📚 叉 🛎 问题 📬 拉取请求
gpt4free 星星 叉 问题 拉取请求
GPT4自由-TS 星星 叉 问题 拉取请求
免费的 AI API 和潜在提供商列表 星星 叉 问题 拉取请求
ChatGPT-克隆 星星 叉 问题 拉取请求
ChatGpt Discord 机器人 星星 叉 问题 拉取请求
Nyx-Bot (不和谐) 星星 叉 问题 拉取请求
LangChain gpt4free 星星 叉 问题 拉取请求
ChatGpt 电报机器人 星星 叉 问题 拉取请求
ChatGpt 线路机器人 星星 叉 问题 拉取请求
Action Translate 自述文件 星星 叉 问题 拉取请求
Langchain 文档 GPT 星星 叉 问题 拉取请求
python-tgpt 星星 叉 问题 拉取请求

🤝 贡献

使用 AI 工具创建提供商

在终端中调用脚本:

create_provider.py

python etc/tool/create_provider.py
  1. 输入新提供商的名称。
  2. 从浏览器开发人员工具中复制并粘贴该命令。
    cURL
  3. 让 AI 为你创建提供程序。
  4. 根据你的需要自定义提供程序。

创建提供程序

  1. 查看当前的潜在供应商列表,或查找你自己的供应商来源!
  2. g4f/Provider 中创建一个具有 Provider 名称的新文件
  3. 实现扩展 BaseProvider 的类。
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 ""
  1. 在这里,你可以调整设置,例如,如果网站确实支持流媒体,请设置为...
    supports_stream
    True
  2. 编写代码来请求提供程序和响应,即使是一次性响应,也不要犹豫,从其他提供程序中寻找灵感
    create_async_generator
    yield
  3. g4f/provider/__init__.py 中添加提供程序名称
from .HogeService import HogeService

__all__ = [
  HogeService,
]
  1. 你已完成!,通过调用它来测试提供程序:
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='')

🙌 贡献

贡献者列表可在此处
获得 Vercel.py 文件包含来自 @ading2210vercel-llm-api 的代码,该代码根据 GNU GPL v3 获得许可
前 1 名贡献者:@hlohaus

©️ 版权

该程序在 GNU GPL v3 下获得许可

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

⭐ 明星历史

星历图

📄 许可证


本项目在 GNU_GPL_v3.0 下获得许可。

(🔼 返回页首)