Skip to content

Latest commit

 

History

History
239 lines (169 loc) · 9.77 KB

README_zh.md

File metadata and controls

239 lines (169 loc) · 9.77 KB

GPT4Free TypeScript Version 🆓

提供免费的GPT4 API

English | 中文 | 日本語

Discord Server

你可以加入discord: discord.gg/gptgod 以获取项目最新进展. gpt4free Discord

👍 基于此项目的最强网站 GPTGOD

Website Feature(Click to expand)

GPTGOD Support

  • Midjourney 史上最强AI画图
  • Stable Diffusion 史上最强开源AI画图
  • Claude 仅次于GPT4的AI对话模型
  • gpt3.5-turbo 都知道
  • gpt4 都知道
  • Chatgpt with internet 联网版本GPT
  • 以上所有功能均可在网站中一键集成到微信机器人中

在未来的一段时间GPTGOD将开源,进入网站左下角有入群二维码,入群时刻关注最新动态

🚩 Reverse target

仍在努力保持更新

这里是已经实现转换成api的网站列表以及支持的对话模型,如果你不幸发现你的网站也在其中,请联系我,我会立刻下线

model support status active time
vita 👍gpt3.5 Active after 2023-06-17
chatdemo 👍gpt3.5 Active after 2023-06-13
you.com 👍GPT-3.5 Active after 2023-06-13
phind.com Gpt3.5/ Internet / good search Active after 2023-06-14
forefront.ai GPT-4/gpt3.5 Active after 2023-06-13
bing.com/chat GPT-4/3.5
poe.com GPT-4/3.5
writesonic.com GPT-3.5 / Internet
t3nsor.com GPT-3.5

🏃‍♂️ 运行

首先,你需要创建环境变量文件 .env.

所有运行部署方式都需要这个步骤,包括运行在本地.

http_proxy=http://host:port

rapid_api_key=xxxxxxxxxx
EMAIL_TYPE=temp-email44
DEBUG=0
POOL_SIZE=0

PHIND_POOL_SIZE=3
  • http_proxy: 你的本地代理,目前仅支持http协议,如果是国外的机器不需要配置此行,直接删除;如果是国内的,必须配置,请务必注意。
  • 使用forefront才需要配置的env(该站点已被移除,下面可以不用配置):
    • rapid_api_key: 如果你使用forefront,这个必填,为了接收临时邮箱
    • EMAIL_TYPE: forefront临时邮箱类型 temp-email temp-email44 tempmail-lol
      • temp-email: 软限制 免费100请求/days 如果超过了 每条收0.0038$ 具体查看下方网站,官方api非常稳定
      • temp-email44: 硬限制 免费100req/days! 超过就会报错,也很稳定
      • tempmail-lol: 什么都不需要配置 硬限制 25request/5min. 不怎么稳定.
    • DEBUG: forefront专属配置 设置成1,会显示运行过程
    • POOL_SIZE: 默认配置成1,修改之前确定你可以运行成功,并且知道此值的含义!!!forefront 可以同时进行的对话数目,数值越大,同时进行的对话数越多,但是使用的内存越大,如果个人使用设置1即可
  • 使用phind才需要的配置
    • PHIND_POOL_SIZE: 默认配置成=3,phind 可以同时进行的对话数目,数值越大,同时进行的对话数越多,但是使用的内存越大,如果个人使用设置1即可

本地运行 🖥️

# install module
yarn
# start server
yarn start

使用Docker运行 🐳

docker run -p 3000:3000 --env-file .env xiangsx/gpt4free-ts:latest

使用 docker-compose 运行 🎭

docker-compose up --build -d

使用Sealos详细部署教程 🌐

详细教程

🚀 Let's Use GPT4

当对话结束时返回示例 http://127.0.0.1:3000/ask?prompt=***&model=***&site=***

以stream模式返回示例 http://127.0.0.1:3000/ask/stream?prompt=***&model=***&site=***

请求参数,请放在query里 📝

  • prompt: 你的问题,类型是string 或者 jsonstr.
    • jsonstr:包含上下文的json字符串,例如:[{"role":"user","content":"你好\n"},{"role":"assistant","content":"你好!有什么我可以帮助你的吗?"},{"role":"user","content":"你是谁"}]
    • string: 单次对话 例如:你是谁
  • model: 默认 gpt3.5-turbo. 模型:gpt4 gpt3.5-turbo
  • site: 默认 you. 目标网站 forefront you chatdemo

网站支持模型类型 🧩

  • forefront :gpt4
  • you: gpt3.5-turbo
  • chatdemo: gpt3.5-turbo
  • phind: net-gpt3.5-turbo

返回参数 🔙

当对话结束时返回参数(/ask):

interface ChatResponse {
    content: string;
    error?: string;
}

stream模式返回参数示例Suggest!!(/ask/stream):

event: message
data: {"content":"I"}

event: done
data: {"content":"'m"}

event: error
data: {"error":"some thind wrong"}

真实请求示例💡

  1. 请求you.com, 包含上下文

req:

127.0.0.1:3000/ask?site=you&prompt=[{"role":"user","content":"hello"},{"role":"assistant","content":"Hi there! How can I assist you today?"},{"role":"user","content":"who are you"}]

res:

{
  "content": "Hi there! How can I assist you today?"
}

127.0.0.1:3000/ask?site=you&prompt=[{"role":"user","content":"你好\n"},{"role":"assistant","content":"你好!有什么我可以帮助你的吗?"},{"role":"user","content":"你是谁"}]

  1. 以stream模式请求you.com

req:

127.0.0.1:3000/ask/stream?site=you&prompt=who are you

res:

event: message
data: {"content":"I"}

event: message
data: {"content":"'m"}

event: message
data: {"content":" a"}

event: message
data: {"content":" search"}

event: message
data: {"content":" assistant"}
........
event: done
data: {"content":"done"}

👥 加群细聊

🌟 Star History

Star History Chart

You may join our discord: discord.gg/gpt4free for further updates. gpt4free Discord

This is a replication project for the typescript version of gpt4free

gpt4free logo

Legal Notice

This repository is not associated with or endorsed by providers of the APIs contained in this GitHub repository. This project is intended for educational purposes only. This is just a little personal project. Sites may contact me to improve their security or request the removal of their site from this repository.

Please note the following:

  1. Disclaimer: The APIs, services, and trademarks mentioned in this repository belong to their respective owners. This project is not claiming any right over them nor is it affiliated with or endorsed by any of the providers mentioned.

  2. Responsibility: The author of this repository is not responsible for any consequences, damages, or losses arising from the use or misuse of this repository or the content provided by the third-party APIs. Users are solely responsible for their actions and any repercussions that may follow. We strongly recommend the users to follow the TOS of the each Website.

  3. Educational Purposes Only: This repository and its content are provided strictly for educational purposes. By using the information and code provided, users acknowledge that they are using the APIs and models at their own risk and agree to comply with any applicable laws and regulations.

  4. Copyright: All content in this repository, including but not limited to code, images, and documentation, is the intellectual property of the repository author, unless otherwise stated. Unauthorized copying, distribution, or use of any content in this repository is strictly prohibited without the express written consent of the repository author.

  5. Indemnification: Users agree to indemnify, defend, and hold harmless the author of this repository from and against any and all claims, liabilities, damages, losses, or expenses, including legal fees and costs, arising out of or in any way connected with their use or misuse of this repository, its content, or related third-party APIs.

  6. Updates and Changes: The author reserves the right to modify, update, or remove any content, information, or features in this repository at any time without prior notice. Users are responsible for regularly reviewing the content and any changes made to this repository.

By using this repository or any code related to it, you agree to these terms. The author is not responsible for any copies, forks, or reuploads made by other users. This is the author's only account and repository. To prevent impersonation or irresponsible actions, you may comply with the GNU GPL license this Repository uses.