# simple-one-api **Repository Path**: troublesis/simple-one-api ## Basic Information - **Project Name**: simple-one-api - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-23 - **Last Updated**: 2024-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 项目搭建视频(点击进行跳转):[哔哩哔哩](),[Youtube]() | 项目名称 | 作者 | | ----------------------------------------------------------------------- | ----------------------------------------- | | [simple-one-api](https://github.com/fruitbars/simple-one-api/tree/main) | [fruitbars](https://github.com/fruitbars) | >文章的主要目的是为了分享和交流优秀的项目,如有冒犯到作者或侵犯到您的利益,望告知。 # 1. 项目介绍 >OpenAI 接口接入适配,支持千帆大模型平台、讯飞星火大模型、腾讯混元以及MiniMax、Deep-Seek,等兼容OpenAI接口,仅单可执行文件,配置超级简单,一键部署,开箱即用。 ## 1.1 浅谈对于项目使用的感受 - 与同类型项目对比下,simple-one-api 非常简单实用。 - random 模式,非常适合那些不在意具体 AI 模型的朋友,只需要堆叠不同厂商的 AI API Key,就可以很方便的调用。 - 没有 UI,设置通过config json 文件来进行管理,对于没有编程基础的小伙伴不容易上手。设定完配置后需重启容器,对于频繁调整的用户来说可能会感到不便。 # 2. 项目搭建指南 >任选以下一种部署方式,使用 Docker 部署命令的好处是方便快捷,步骤少。 >而使用 Docker Compose 部署的优势则在于灵活性更高,方便后续修改配置。 ## 2.1 创建项目目录 ```bash sudo -i mkdir -p "~/docker/simple-one-api" && cd "~/docker/simple-one-api" ``` >注意:后续操作中,项目产生的数据会保存在这个目录,请妥善保存。 ## 2.2 使用 Docker 部署 ### 2.2.1 运行 Docker Run 命令 >在终端输入以下命令并回车项目即可直接运行。 ```bash docker run -it -d --name "simple-one-api" -p "9090:9090" -v "./config.json:/app/config.json" "fruitbars/simple-one-api:v0.9.5" ``` ## 2.3 使用 Docker Compose 部署 ### 2.3.1 创建 `docker-compose.yaml` ```bash vi docker-compose.yaml ``` 在英文状态的输入法下,按下 `i`,左下角出现 `--INSERT--` 后,粘贴下面的内容: ```yaml # ~/docker/simple-one-api/docker-compose.yaml # 项目网址:https://github.com/fruitbars/simple-one-api/tree/main # DockerHub:https://hub.docker.com/r/fruitbars/simple-one-api # version: '3.9' # docker compose v2 中 version 被弃用,可以不写这行 services: app: # 服务名称:方便用户其他同一 Docker 网络服务互相通讯的网络别名 container_name: ${CONTAINER_NAME} # 容器名称:方便用于docker命令,例如:`docker logs "容器名称"` image: ${CONTAINER_IMAGE} # 如果需要最新镜像请自行确认兼容性,将冒号后的标签改为 latest volumes: # 挂载本机目录至容器内部 - './config.json:/app/config.json' ports: # 联通本机端口号至容器内部端口号(端口号的范围通常是0-65535,本机端口通常可填写任意未被占用的端口号,你可以填 10000 以后的端口号,一般都没有被占用) # 本机端口:容器端口 - '${HOST_PORT}:9090' restart: unless-stopped ``` ### 2.3.2 创建环境变量文件 `.env` >使用环境变量文件的有很多好处,例如配置分离,可以将敏感信息和 `Docker Compose` 文件分离开来,环境灵活性,如开发、测试、生产,配置不同的变量值。还可以集中管理,将需要变更的变量在同一个简单清晰的文件里等等其他好处。 ```bash vi .env ``` 在英文状态的输入法下,按下 `i`,左下角出现 `--INSERT--` 后,粘贴下面的内容: ```bash # ~/docker/simple-one-api/docker-compose.yaml # 镜像版本 CONTAINER_IMAGE=fruitbars/simple-one-api:v0.9.5 # 容器名称 CONTAINER_NAME=simple-one-api # 主机端口号 HOST_PORT=9090 ``` ### 2.3.3 创建 `config.json` 文件 ```bash # ~/docker/simple-one-api/config.json vi config.json ``` ```json { "debug": false, "log_level": "prod", "server_port": ":9090", "load_balancing": "random", "services": { "openai": [ { "models": [ "claude-sonnet-3.5", "gemini-pro" ], "enabled": true, "credentials": { "api_key": "${API_KEY}" }, "server_url": "https://nai.typegpt.net/v1", "limit": { "rpm": 30, "timeout": 120 } } ] } } ``` >[simple-one-api config.json详解](https://github.com/fruitbars/simple-one-api/blob/main/docs/config.json%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E.md) ## 2.4 启动项目 ```bash docker compose up -d ``` ## 3. 删除容器 ```bash # 停止容器 docker stop simple-one-api # 删除容器 docker rm simple-one-api ``` >删除容器目录 !!!慎用 ```bash rm -rf ~/docker/simple-one-api ``` # 4. 网络环境无法拉取 Docker 镜像 >如果你的网络环境无法拉取对应的 Docker 镜像时,你可以通过下载我打包好的配置和镜像文件,直接在本机使用或上传到对应的服务器解压后进行使用。 ## 4.1 镜像以及配置文件下载地址 ## 4.2 使用本地镜像文件 >视频演示网址: 下载打包好的文件 上传压缩文件到主机并解压文件,终端进入项目文件夹,使用以下命令加载镜像 `docker load -i simple-one-api_v0.9.5.tar` 跳到步骤 # 5. 访问项目 项目可以通过`http://ip:主机端口号`直接进行访问,只需在服务器厂商后台将运行的端口号添加到安全组。如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。