0 Star 12 Fork 9

黑夜 / OpenAI-API

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

OpenAI-API


添加了 gpt-3.5-turbo-0301 达到和chatGPT 相似的回答能力


项目介绍

在中国,由于防火墙的限制,中国用户不能注册 OpenAI 的账号,对于 ChatGPT 来说,也没有开放相应的 API 接口,无法直接使用 API 来实现 ChatGPT 那样强大的人工智能聊天,但是庆幸的是,在中国各路大神的神操作下还是有各种的实现办法。目前,OpenAI 对于我个人的生活学习方面已够用,所以我开发这个项目主要来支持我 IPhone 上对应的快捷指令直接调用 OpenAI 实现部分功能。

由于中国没有 OpenAI 的访问方式,而且 OpenAI-API 的访问是限额的,对于大量的请求会导致个人账号欠费,不适用于公共使用,新版本之后,可以通过账号池的方式,通过接口来增加账号池内的API Key,对于个人或者小群体使用就足够了。

项目背景

ChatGPT 是基于 OpenAI 的基础上实现的,本项目对接的 OpenAI 可以简单理解为是 ChatGPT 的弱版,但是在其他方面又比 ChatGPT 更强一些,OpenAI 支持多种模型:

MODELS DESCRIPTION
GPT-3 一套能够理解和生成自然语言的模型
Codex 一套能够理解和生成代码的模型,包括将自然语言翻译成代码
Content filter 一个经过微调的模型,可以检测文本是否可能是敏感或不安全的。

GPT-3 模型可以理解和生成自然语言。其提供四种主要型号,具有不同的功率水平,适用于不同的任务。text-davinci-003 是最有能力的模型,而 text-ada-001 是最快的。

LATEST MODEL DESCRIPTION MAX REQUEST TRAINING DATA
text-davinci-003 功能最强的GPT-3模型。可以完成其他模型所能完成的任何任务,通常具有更高的质量、更长的输出和更好的指令跟随性。还支持在文本中插入补语 4,000 tokens Up to Jun 2021
text-curie-001 能力很强,但比Davinci更快,成本更低 2,048 tokens Up to Oct 2019
text-babbage-001 能够完成简单的任务,速度非常快,而且成本较低。 2,048 tokens Up to Oct 2019
text-ada-001 能够完成非常简单的任务,通常是GPT-3系列中最快的型号,而且成本最低。 2,048 tokens Up to Oct 2019

这里补充说一句,ChatGPT 是基于 GPT-3.5 实现的

安装教程

环境:

  1. Go 1.19.*
  2. Docker (可选)
  3. Docker-compose (可选)

编译安装

本项目是使用 Go 开发,如果是直接在物理机上运行的话, 请确保物理机上已准备好对应的 Go 环境

  1. clone 项目源码
git clone https://gitee.com/lv-forever/open-ai-api.git && cd open-ai-api
  1. go 编译
go mod tidy && go build -o ./openai-api main.go
  1. 修改配置文件
{
    "gin_mode": "release",
    // 运行时监听端口
    "port":"8080"
}
  1. 运行
# Linux
openai-api
# Windows
openai-api.exe

Docker 安装

暂时没有将镜像上传到公共仓库,所以 Docker 安装仍需要编译这一步骤

  1. 打包镜像
docker build --rm -t openai-api:latest .
  1. 修改 config.json 文件,如上
  2. 修改 docker-compose.yml 文件,主要修改端口映射
  3. 运行镜像
# 启动容器
docker-compose up -d
# 停止容器
docker-compose down

使用说明

目前只支持最简单的功能,简单的,没有上下文支持的回答问题的功能,后续可能有精力的话,会继续完成 OpenAI-API 的图片,代码生成之类 API 接口

API 接口:

接口地址 请求方式 请求内容类型 请求参数 响应参数
/ask POST application/json { "msg" : "你好呀"} // 成功响应
{ "answer": "你好呀"}
// 失败响应
{ "error": "xxx"}
/addkey GET application/json { "key" : "sk-xxx"} // 成功响应
{ "message": "success"}
// 失败响应
{ "error": "xxx"}

备注:

相比较而言,对于国内的用户,使用New Bing的门槛会比使用ChatGPT的低亿点点。New Bing增加了限制之后,不可以像ChatGPT一样可以保存会话,且每一次会话只能进行5次问答,但是对于比较简单的任务,New Bing相当不错,更推荐一些。

MIT License Copyright (c) 2023 黑夜 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

使用了账号池来管理OpenAI的API-Key,实现OpenAI接口调用 展开 收起
Go 等 2 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/lv-forever/open-ai-api.git
git@gitee.com:lv-forever/open-ai-api.git
lv-forever
open-ai-api
OpenAI-API
master

搜索帮助