本文主要介绍如何搭建AI中枢,并且支持在国内服务器通过代理访问国外大模型。

    随着AI的迅猛发展,市面上已经有了千奇百怪的LLM大模型,各有特色,正是百花齐放的胜景。但是随着手上接触到的大模型越来越多,如何便捷的统一管理变得非常重要,毕竟总不能到处兼容配置各个服务商吧!于是就在开源社区找到了这样一个项目 New-Api,其上游开源项目是 One-Api,可惜的是OneApi已经有一年没有维护了,而且其经常会遇到请求被阻塞的BUG,没有人来维护,所以就找到了下游的NewApi。起初NewApi的项目名称是MixApi,期间一度陷入难以维护的地步,更新频率迟缓,响应慢等状况让人怀疑其专业性,对于用户的问题也是敷衍了事。后来不知哪天,项目突然活了起来,各大权威机构、热门开源模型提供积极支持和技术投入,现在已经可以称得上是专业的项目了,遥想起那时候的帮助文档,写了和没写一样,如今已经是可歌可泣的地步了。

    由于我是国内的windows server服务器,所以本文主要以windows平台操作方式为主,其他平台类似(其实也就安装这一步有些许不同)。如果你的服务器在国外,甚至可以直接跳过代理配置部分。


如何安装

    首先在github上找到自己系统对应的版本进行下载,地址:NewApi。下载完成后,使用指令如下指令即可:

new-api-version.exe --port=13000

    其中前半部分是下载的可执行程序名称,后半部分是指定执行的端口号是13000。默认情况下,其执行成功后,会在本地生成一个db文件,是sqlite的数据库文件,如果说你想要使用本地的mysql或者其他数据库,也可以通过配置SQL_DSN来实现,可以参考文档:环境变量配置指南。我因为是个人使用,没有那么大的性能需求,所以就用本地sqlite来管理了。

    等到执行结束后,正常情况下就启动成功了。接着就可以分配域名并且配置NGINX了(域名以及证书不做赘述,并非本文重点)。NGINX参考配置:

    server {
        listen       443 ssl;
        server_name  oneapi.dreamcenter.top;

        ssl_certificate      C:\data\ssl/oneapi.dreamcenter.top_nginx/oneapi.dreamcenter.top_bundle.crt;
        ssl_certificate_key  C:\data\ssl/oneapi.dreamcenter.top_nginx/oneapi.dreamcenter.top.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  10m;
		
		ssl_protocols TLSv1.2 TLSv1.3; 

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers  on;
		
		location / {
            proxy_pass http://localhost:13000;
			
			proxy_buffering off;
			proxy_cache off;
			chunked_transfer_encoding on;
	
			
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
		
    }


    没什么特别需要注意的,就像正常项目一样配置即可。我这边是配置在了域名oneapi.dreamcenter.top下了。等到Nginx重启成功后,访问域名地址,就可以来到初始化界面。在初始化界面中,我们不要选择自用模式,就正常的公用即可,功能上更加清晰些。一切准备就绪就可以看到这样的页面。


软件推荐的配置

    对于刚部署好的项目,有很多地方需要调整下,有的是比较冗余,很少用到,有的是更加个性化。

    首先当然是站点名称了,你可以看到上图中,我的站点名称是“小呆AI中枢”,是在这里配置的:


    然后是主页面上的地址栏,默认是显示的本地的地址,要显示成https://oneapi.dreamcenter.top,需要配置站点地址:


    如果是自己使用,不想要让其他人注册使用(也推荐这么做,不然会有人来刷你的tokens),非常建议大家关闭注册渠道,只给信任的人手动建账号。仍然是在系统设置标签下:保留一个允许密码登录即可。



    性能设置,默认情况下会监测性能,性能不够会自动挂起项目,然而实际上系统往往有一些GC机制,看起来内存不够实际上会自动触发GC,所以不推荐开启性能监控,不然随时可能会断连。


    对于仪表盘,个人使用的话,没必要细化到小时维度,直接到日维度即可。


    接着是设置UI界面的显示与隐藏,以及额度的显示单位,仅表示个人认为比较常用的设置(很多功能没什么鸟用),以供参考,汇率取7,主要是为了方便后续倍率计算,而且大体波动也在7左右。



    至此,一些和该项目本身的设置就完成了,接下来是实际和模型打交道的设置。


模型相关设置

    首先是用户额度设置,如果是自用,可以设置的非常大,让人看起来 很有钱 的样子()。


    接着是最核心的三个配置,一定要认真查看。大体的步骤是:渠道=>令牌=>模型倍率。

    让我们先来到渠道,点击添加渠道。

    

    在添加渠道里,需要注意这几项。项目已经内置了大量的服务商类型,如果不是主流的设置OpenAI,然后手动配置地址也可。名称表示准备在你页面上显示的名称。密钥即服务商提供的接口密钥。API地址可以不填。模型的话从服务商选择自己准备接入的模型。



    提交后,点击测试旁边的三角形,可以测试每个模型是否可用。当然是会计入tokens消耗的!


    在使用日志这,也能看到测试的记录,当然此时的花费金额是虚假的,我们需要配置倍率。


    我们来到系统设置的模型倍率设置页面。个人推荐把他默认配置的全部清空,因为很多配置的倍率和实际不符合,清空了方便接入一个模型配置一个模型。将下面的设置全部设为 {}



    全部清空为 {} 后,记得保存配置。


    这时候,你来到未设置价格模型这,可以看到之前渠道配置的所有模型,都需要初始化。



    这一步需要一点耐心,要自己到官网找到价格,然后一一配置。因为单位是 美元/M tokens,所以如果是国内供应商,那么需要 除以7(前文配置的1$=7¥)。补全价格即输出价格,缓存读取是有的模型提供缓存服务,可以极大的节省tokens费用。配置完成后,一定一定要记得点击“应用更改”!!!这界面的设计,导致这个按钮非常容易忘记修改。

    

    配置完成后,可以来到模型广场,查看价格是否配置正确(可能会有延迟,多刷新几下)。


    这样,等到我们再次测试模型的时候,日志显示的价格就是相对来说正常的价格了(注意观察官方动态,价格有时候会进行调整)。


    最后是令牌设置,毕竟当前网站本身对所有服务商做了公用网关,那么肯定要有当前网站的令牌,在令牌这里生成一个即可。可以设置可用额度进行限额,避免调用量超出预期,一点一点的开放;可以设置白名单,只对自己或者公司的IP可用等等。


    后续其他地方要使用,只要用网站域名,和令牌即可访问成功。




代理配置

    对于国外的模型,如果用国内的服务器,那么肯定是无法访问的,这时候就需要配置代理了。现在服务器上安装代理软件,如 clash-verge-rev。购买订阅后(我不提供渠道,自行查找),开启系统代理,那么就会自动监听7897端口了。


    如果是linux系统,推荐使用 clash-for-linux-install 。

    安装成功后,可以查看是否可以访问国外的网站,比如访问google.com。(注意是走应用层协议http/https,不要使用ping,否则在规则模式下可能走不通)。

    

    服务器的代理已经配置完成了,对于我们的网关代理配置就非常简单了,对对应的渠道方添加sock5代理即可。


    提交保存后,测试模型就可以正常使用啦!