本文最后更新于 2024-02-08,文章内容可能已经过时。

一个免费的使用 GPT-4 API 的方案

9F11EB2C-AEBB-45AC-AA18-98C075FCC945.png

先自锤标题党,本文介绍的 GPT-4 API 目前还只能调用 /v1/chat/completions 以及 /v1/modelsv1/embeddings 接口。至于 v1/audio/speechv1/fine_tuningv1/filesv1/imagesv1/moderations 等接口是不支持的。但是胜在免费,而且其文字能力确实强大而又出众。

本文只需要用到一个仓库,是 Yanyutin753 开发的 gpt4-copilot-java ,目前还没有放出源码,只能在 Release 中下载打包好的 fat jar 包运行或者直接 docker 运行使用。

感谢始皇提供的 Cocopilot 以及公车 ghu_ThisIsARealFreeCopilotKeyByCoCopilot

部署

32513628-8E84-44CD-AD16-B14B72900D39.webpdocker 运行过于简单,这里不再赘述。大致说明一下 fat jar 直接运行的方法:

# 下载 fat jar 包
RELEASE_INFO=$(curl -s "https://api.github.com/repos/Yanyutin753/gpt4-copilot-java-sh/releases/latest")
JAR_DOWNLOAD_URL=$(echo "$RELEASE_INFO" | jq -r '.assets[] | select(.name|test(".jar$")) | .browser_download_url')
curl -L -o gpt4-copilot-java.jar "$JAR_DOWNLOAD_URL"
# 测试运行,把 PORT 改为自己喜欢的端口,最后的 server.servlet.context-path 参数可以改成自己喜欢的尾缀
java -jar gpt4-copilot-java.jar --server.port=PORT --server.servlet.context-path=/
# 加入 pm2 管理
pm2 start java --name gpt4-copilot-java -- -jar gpt4-copilot-java.jar --server.port=PORT --server.servlet.context-path=/

使用

不妨设 gpt4-copilot-java 运行的地址为 https://your_gpt4-copilot-java.com 。使用公车作为 API Key 进行请求:

# 请求 /v1/chat/comletions 接口
curl --location 'https://your_gpt4-copilot-java.com/cocopilot/v1/chat/completions' \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer ghu_ThisIsARealFreeCopilotKeyByCoCopilot" \
  --data '{
    "model": "gpt-4",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "鲁迅打周树人"
      }
    ]
  }'
# 请求 v1/embeddings 接口
curl --location 'https://your_gpt4-copilot-java.com/cocopilot/v1/embeddings' \
  --header "Authorization: Bearer ghu_ThisIsARealFreeCopilotKeyByCoCopilot" \
  --header "Content-Type: application/json" \
  --data '{
    "input": "鲁迅打周树人...",
    "model": "text-embedding-ada-002",
    "encoding_format": "float"
  }'
# 请求 /v1/models 接口
curl --location 'https://your_gpt4-copilot-java.com/cocopilot/v1/models' \
  --header "Authorization: Bearer ghu_ThisIsARealFreeCopilotKeyByCoCopilot"

即为 https://your_gpt4-copilot-java.com/cocopilot 做 API BASE URL ,再使用 ghu_ThisIsARealFreeCopilotKeyByCoCopilot 做 API Key 请求即可。为了使用方便,可以接入 One-api 进行使用。