# OpenAI-API **Repository Path**: lujintang/open-ai-api ## Basic Information - **Project Name**: OpenAI-API - **Description**: 使用了账号池来管理OpenAI的API-Key,实现OpenAI接口调用 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2025-02-17 - **Last Updated**: 2025-02-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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 ``` 2. go 编译 ``` go mod tidy && go build -o ./openai-api main.go ``` 3. 修改配置文件 ``` { "gin_mode": "release", // 运行时监听端口 "port":"8080" } ``` 4. 运行 ``` # 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相当不错,更推荐一些。