Home
Softono

Fgpt

Open source BSD-3-Clause Rust
96
Stars
5
Forks
4
Issues
3
Watchers
2 years
Last Commit

 About Fgpt

A free reverse proxy and CLI tool for OpenAI GPT-3.5-turbo.

Platforms

Web Self-hosted

Languages

Rust

Links

Need Help Installing Fgpt?

We provide expert installation service for this software. Our team will install, configure, and secure Fgpt on your server. plans start at just $30.

A free reverse proxy and CLI tool for OpenAI GPT-3.5-turbo

It allows you to use the GPT-3.5 API without needing to sign up for an API key or pay for usage.

😄 OpenAI GPT-3.5-turbo is free to use, without any account or API key
🔔 DON'T USE IN PRODUCTION, ONLY FOR PERSONAL USE/TESTING

Features

  • REPL mode, you can input questions and get answers interactively
  • Reverse proxy mode, you can use the OpenAI OpenAPI with a local server
  • CLI mode, with shell pipe, file input, code output, etc.
  • 🔏 Support https proxy and socks5 proxy

Download precompiled binary

  • Linux x64 executable binary
  • Mac M1/M2 executable binary
  • Windows (Coming soon)
  • Or via Docker
  • Or build from source (see below, cargo is required)
    cargo install fgpt
    

How to use

asciicast

# To get answers from GPT-3.5
fgpt "How to get a domain's MX record on linux shell?"

# Output plain code -c/--code
fgpt -c "Write python code to reverse a string"

# With pipe
cat README.md | fgpt "summarize for reddit post"

# With stdin
fgpt "Convert the follow csv data to json, without any description" < contacts.csv

# With file -f/--file
fgpt -f contacts.csv  "Convert the follow csv data to json, without any description"

# REPL mode
fgpt
>> Write a javascript code to reverse a string
...

With http proxy

If you are unable to connect , you can try using a proxy. HTTP and SOCKS5 proxies are supported. For example:

# 1. pass the proxy address by -p/--proxy
fgpt -p 'socks5://127.0.0.1:9080' "Linux command to list files in a directory"

# 2. pass the proxy address by environment variable
export HTTPS_PROXY='socks5://127.0.0.1:9080'
fgpt "Linux command to list files in a directory"

# 3. use alias to set the proxy address
alias fgpt='fgpt -p "socks5://127.0.0.1:9080"'
fgpt "Linux command to list files in a directory"

Dump stats

fgpt --stats "Linux command to list files in a directory"

Use by docker

docker run -it --rm shenjinti/fgpt "Linux command to list files in a directory"

How to use Reverse Proxy

Offering free self-hosted API access to ChatGPT. This is useful if you want to use the OpenAI API without needing to sign up for an API key.

1. Start the server

fgpt -s 127.0.0.1:4090

Your local server will now be running and accessible at: http://127.0.0.1:4090/v1/chat/completions

2. Example Usage with OpenAI Libraries

import openai
import sys
openai.api_key = 'nothing'
openai.base_url = "http://127.0.0.1:4090/v1/"

completion = openai.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "Write a javascript simple code"},
    ],
    stream=True,
)

for chunk in completion:
    print(chunk.choices[0].delta.content, end='')
    sys.stdout.flush()

print()

or test with curl:

curl -X POST -H "Content-Type: application/json" -d '{"model":"gpt-3.5-turbo",
"messages":[{"role":"user","content":"Write a javascript simple code"}], 
"stream":true}' \
http://127.0.0.1:4090/v1/chat/completions
curl -X POST -H "Content-Type: application/json" -d '{"model":"gpt-3.5-turbo",
"messages":[{"role":"user","content":"Write a javascript simple code"}]}' \
http://127.0.0.1:4090/v1/chat/completions