1
0
Create a fake API using ChatGPT's website https://github.com/acheong08/ChatGPT-to-API
This repository has been archived on 2024-02-27. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2023-07-06 13:57:12 +08:00
.github/workflows Create release.yml 2023-06-26 08:50:56 +00:00
cases/sider Add a example ~sider 2023-05-29 14:09:08 +08:00
conversion delete useless line 2023-06-28 17:15:07 +08:00
docs fix typo 2023-06-06 09:41:20 +08:00
internal set client, respect proxy 2023-06-28 17:10:02 +08:00
tools Update README.md 2023-06-13 00:33:44 +08:00
typings feat response fmt like openai api 2023-06-20 15:24:37 +08:00
.env.example feat: support PORT env 2023-06-28 11:58:54 +08:00
.gitignore feat: support PORT env 2023-06-28 11:58:54 +08:00
docker-compose.yml Docker (#2) 2023-04-12 10:31:44 +08:00
Dockerfile Update Dockerfile 2023-04-12 11:29:45 +08:00
go.mod bump deps (fix captcha) 2023-07-06 13:57:12 +08:00
go.sum bump deps (fix captcha) 2023-07-06 13:57:12 +08:00
handlers.go return when error 2023-06-26 16:57:49 +08:00
main.go feat: support PORT env 2023-06-28 11:58:54 +08:00
middleware.go more verbose 2023-06-17 11:37:39 +08:00
README_CN.md Fix MD link redirection 2023-06-05 09:34:55 +08:00
README.md Update README.md 2023-06-04 20:48:40 +08:00

ChatGPT-to-API

Create a fake API using ChatGPT's website

IMPORTANT

You will not get free support for this repository. This was made for my own personal use and documentation will continue to be limited as I don't really need documentation. You will find more detailed documentation in the Chinese docs by a contributor.

API endpoint: http://127.0.0.1:8080/v1/chat/completions.

中文文档Chinese Docs

Help needed

  • Documentation.

Setup

Authentication

Access token retrieval has been automated: https://github.com/acheong08/ChatGPT-to-API/tree/master/tools/authenticator

Converting from a newline delimited list of access tokens to access_tokens.json

#!/bin/bash     

START="["
END="]"

TOKENS=""

while read -r line; do
  if [ -z "$TOKENS" ]; then
    TOKENS="\"$line\""
  else
    TOKENS+=",\"$line\""
  fi
done < access_tokens.txt

echo "$START$TOKENS$END" > access_tokens.json

Getting set up

git clone https://github.com/acheong08/ChatGPT-to-API cd ChatGPT-to-API go build ./freechatgpt

Environment variables

  • PUID - A cookie found on chat.openai.com for Plus users. This gets around Cloudflare rate limits
  • http_proxy - SOCKS5 or HTTP proxy. socks5://HOST:PORT
  • SERVER_HOST - Set to 127.0.0.1 by default
  • SERVER_PORT - Set to 8080 by default
  • OPENAI_EMAIL and OPENAI_PASSWORD - It will automatically refresh your PUID if set (requires Plus account)

Files (Optional)

  • access_tokens.json - A JSON array of access tokens for cycling (Alternatively, send a PATCH request to the correct endpoint)
  • proxies.txt - A list of proxies separated by new line (Format: USERNAME:PASSWORD:HOST:PORT)

Admin API docs

https://github.com/acheong08/ChatGPT-to-API/blob/master/docs/admin.md

API usage docs

https://platform.openai.com/docs/api-reference/chat