超详细从源码到部署:零基础玩转new-api一站式教程

超详细从源码到部署:零基础玩转new-api一站式教程

【免费下载链接】new-api 基于One API的二次开发版本,仅供学习使用! 【免费下载链接】new-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:是否为新注册用户生成初始令牌,默认为 false
  • STREAMING_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支持渠道重试功能,你可以在设置->运营设置->通用设置->失败重试次数设置重试次数。同时,建议开启缓存功能以提高性能。缓存设置方法如下:

  1. 设置REDIS_CONN_STRING使用Redis作为缓存
  2. 设置MEMORY_CACHE_ENABLED启用内存缓存(设置了Redis则无需手动设置)

项目结构与模块

new-api的项目结构清晰,主要包含以下模块:

  • common/:公共功能模块,包括API类型定义、常量、数据库操作等
  • controller/:控制器模块,处理各种API请求
  • model/:数据模型模块,定义了数据库模型和相关操作
  • relay/:中继模块,处理与各种第三方模型的交互
  • middleware/:中间件模块,包括认证、缓存、限流等功能

通过这些模块的协作,new-api实现了强大的API管理和中继功能。

合作伙伴

new-api有许多信任的合作伙伴,排名不分先后:

Cherry Studio 北京大学 UCloud 优刻得 阿里云 IO.NET

总结与展望

通过本文的介绍,你已经了解了new-api的源码获取、环境配置、编译和部署的全过程。new-api作为一款功能强大的API管理系统,为用户提供了丰富的特性和灵活的部署方式。未来,new-api还将不断发展和完善,为用户提供更好的服务和体验。

希望本文能够帮助你顺利上手new-api,如果在使用过程中遇到问题,可以参考帮助支持获取相关帮助。

如果你觉得本文对你有帮助,欢迎点赞、收藏、关注,以便获取更多关于new-api的使用技巧和最新动态。下期我们将为大家带来new-api高级功能的使用教程,敬请期待!

【免费下载链接】new-api 基于One API的二次开发版本,仅供学习使用! 【免费下载链接】new-api 项目地址: https://gitcode.com/gh_mirrors/ne/new-api

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值