超详细从源码到部署:零基础玩转new-api一站式教程
【免费下载链接】new-api 基于One API的二次开发版本,仅供学习使用! 项目地址: https://gitcode.com/gh_mirrors/ne/new-api
你是否在寻找一款功能强大且易于部署的API管理系统?还在为复杂的部署流程而头疼吗?本文将带你从零开始,一步步完成new-api的源码获取、环境配置、编译到最终部署的全过程,让你轻松上手这款基于One API二次开发的新一代大模型网关与AI资产管理系统。读完本文,你将掌握new-api的部署技巧,能够快速搭建属于自己的API服务。
项目简介
new-api是基于One API的二次开发版本,是一款新一代大模型网关与AI资产管理系统。它提供了全新的UI界面、多语言支持、在线充值功能等丰富特性,兼容原版One API的数据库,支持多种模型按次数收费,以及渠道加权随机等功能。
项目名称:GitHub 加速计划 / ne / new-api 项目路径:gh_mirrors/ne/new-api 项目描述:基于One API的二次开发版本,仅供学习使用!
官方文档:docs/official.md 项目教程:README.md
环境准备
在开始部署new-api之前,我们需要准备好相应的环境。以下是部署new-api所需的环境要求:
- 本地数据库(默认):SQLite(Docker部署必须挂载
/data目录) - 远程数据库:MySQL版本 >= 5.7.8,PgSQL版本 >= 9.6
如果你计划使用Docker Compose部署,还需要安装Docker和Docker Compose。如果你使用宝塔面板部署,则需要安装宝塔面板9.2.0版本及以上。
源码获取
要获取new-api的源码,你可以通过以下命令克隆仓库:
git clone https://gitcode.com/gh_mirrors/ne/new-api.git
cd new-api
配置与编译
环境变量配置
new-api的配置主要通过环境变量来实现,详细的环境变量配置说明可以参考安装指南-环境变量配置。以下是一些常用的环境变量:
GENERATE_DEFAULT_TOKEN:是否为新注册用户生成初始令牌,默认为falseSTREAMING_TIMEOUT:流式回复超时时间,默认300秒SESSION_SECRET:多机部署时必须设置,确保登录状态一致CRYPTO_SECRET:公用Redis时必须设置,确保Redis内容可获取
你可以根据自己的需求修改这些环境变量。
编译项目
如果你需要手动编译项目,可以参考以下步骤。首先,确保你已经安装了Go环境。然后,进入项目目录,执行以下命令:
go mod download
go build -o new-api main.go
编译完成后,会生成一个名为new-api的可执行文件。
部署方式
new-api提供了多种部署方式,你可以根据自己的实际情况选择合适的方式。
使用宝塔面板Docker功能部署
安装宝塔面板(9.2.0版本及以上),在应用商店中找到New-API安装即可。详细的图文教程可以参考docs/installation/BT.md。
使用Docker Compose部署(推荐)
首先,编辑docker-compose.yml文件,根据需要进行配置。你可以使用nano或vim编辑器:
nano docker-compose.yml
# 或
vim docker-compose.yml
然后,执行以下命令启动服务:
docker-compose up -d
直接使用Docker镜像
使用SQLite的部署命令:
docker run --name new-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest
使用MySQL的部署命令:
docker run --name new-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest
验证与测试
部署完成后,你可以通过访问http://localhost:3000来验证服务是否正常启动。如果一切正常,你将看到new-api的登录界面。
你还可以通过调用API来测试服务是否正常工作。例如,使用curl命令调用聊天接口:
curl -X POST http://localhost:3000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Hello, world!"}]}'
如果返回正常的响应,则说明服务部署成功。
多机部署注意事项
如果你需要进行多机部署,需要注意以下几点:
- 必须设置环境变量
SESSION_SECRET,否则会导致多机部署时登录状态不一致 - 如果公用Redis,必须设置
CRYPTO_SECRET,否则会导致多机部署时Redis内容无法获取
渠道重试与缓存
new-api支持渠道重试功能,你可以在设置->运营设置->通用设置->失败重试次数设置重试次数。同时,建议开启缓存功能以提高性能。缓存设置方法如下:
- 设置
REDIS_CONN_STRING使用Redis作为缓存 - 设置
MEMORY_CACHE_ENABLED启用内存缓存(设置了Redis则无需手动设置)
项目结构与模块
new-api的项目结构清晰,主要包含以下模块:
- common/:公共功能模块,包括API类型定义、常量、数据库操作等
- controller/:控制器模块,处理各种API请求
- model/:数据模型模块,定义了数据库模型和相关操作
- relay/:中继模块,处理与各种第三方模型的交互
- middleware/:中间件模块,包括认证、缓存、限流等功能
通过这些模块的协作,new-api实现了强大的API管理和中继功能。
合作伙伴
new-api有许多信任的合作伙伴,排名不分先后:
总结与展望
通过本文的介绍,你已经了解了new-api的源码获取、环境配置、编译和部署的全过程。new-api作为一款功能强大的API管理系统,为用户提供了丰富的特性和灵活的部署方式。未来,new-api还将不断发展和完善,为用户提供更好的服务和体验。
希望本文能够帮助你顺利上手new-api,如果在使用过程中遇到问题,可以参考帮助支持获取相关帮助。
如果你觉得本文对你有帮助,欢迎点赞、收藏、关注,以便获取更多关于new-api的使用技巧和最新动态。下期我们将为大家带来new-api高级功能的使用教程,敬请期待!
【免费下载链接】new-api 基于One API的二次开发版本,仅供学习使用! 项目地址: https://gitcode.com/gh_mirrors/ne/new-api
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考








