2023-04-12 02:31:44 +00:00
|
|
|
# ChatGPT-to-API
|
|
|
|
Create a fake API using ChatGPT's website
|
|
|
|
|
|
|
|
**API endpoint: http://127.0.0.1:8080/v1/chat/completions.**
|
|
|
|
|
2023-04-14 04:01:28 +00:00
|
|
|
## Help needed
|
|
|
|
- Documentation.
|
|
|
|
|
2023-04-12 10:47:50 +00:00
|
|
|
## Setup
|
2023-04-12 10:54:54 +00:00
|
|
|
|
|
|
|
### Authentication
|
2023-04-12 10:47:50 +00:00
|
|
|
Access token retrieval has been automated:
|
|
|
|
https://github.com/acheong08/ChatGPT-to-API/tree/master/tools/authenticator
|
2023-04-12 02:31:44 +00:00
|
|
|
|
2023-04-12 10:54:54 +00:00
|
|
|
Converting from a newline delimited list of access tokens to `access_tokens.json`
|
|
|
|
```bash
|
|
|
|
#!/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
|
|
|
|
```
|
|
|
|
|
|
|
|
### Cloudflare annoyances
|
|
|
|
`export PUID="user-..."`
|
|
|
|
or
|
|
|
|
`export API_REVERSE_PROXY="https://bypass.churchless.tech/api/conversation"`
|
|
|
|
|
2023-04-12 02:31:44 +00:00
|
|
|
## Docker build & Run
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker build -t chatgpt-to-api .
|
|
|
|
|
|
|
|
# Running the API
|
|
|
|
docker run --name chatgpttoapi -d -p 127.0.0.1:8080:8080 chatgpt-to-api
|
|
|
|
|
|
|
|
# API path
|
|
|
|
http://127.0.0.1:8080/v1/chat/completions
|
|
|
|
|
|
|
|
```
|
|
|
|
|
2023-04-12 11:02:26 +00:00
|
|
|
## 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
|
|
|
|
|
|
|
|
|
2023-04-12 02:31:44 +00:00
|
|
|
## Docker compose
|
|
|
|
|
|
|
|
[Hub address](https://hub.docker.com/repository/docker/acheong08/chatgpt-to-api/general)
|
|
|
|
|
|
|
|
```yml
|
|
|
|
version: '3'
|
|
|
|
|
|
|
|
services:
|
|
|
|
app:
|
|
|
|
image: acheong08/chatgpt-to-api # Use latest tag
|
|
|
|
container_name: chatgpttoapi
|
|
|
|
restart: unless-stopped
|
|
|
|
ports:
|
|
|
|
- '8080:8080'
|
|
|
|
environment:
|
|
|
|
SERVER_HOST: 0.0.0.0
|
|
|
|
SERVER_PORT: 8080
|
|
|
|
ADMIN_PASSWORD: TotallySecurePassword
|
|
|
|
# Reverse Proxy - Available on accessToken
|
|
|
|
API_REVERSE_PROXY: https://bypass.churchless.tech/api/conversation
|
|
|
|
# If the parameter API_REVERSE_PROXY is empty, the default request URL is https://chat.openai.com/backend-api/conversation, and the PUID is required.
|
|
|
|
# You can get your PUID for Plus account from the following link: https://chat.openai.com/api/auth/session.
|
|
|
|
PUID: xxx
|
|
|
|
```
|