ChatGPT Next Web增加 Key 池多 Key 轮询、定制问候语教程

温馨提示:本文最后更新于2023-12-04 17:10:42,某些文章具有时效性,若有错误或已失效,请在下方留言。

一个文章要花10块真的是无语,还有一些搬的也要收费是真无语今天免费分享一个小小的评论就可以看

说明​

1.Key池:所谓的Key池,就是允许使用多个API Key,来突破5美元密钥的并发限制,默认情况下,单个5美元密钥的限制是每分钟3个请求,增加Key池后可突破此限制,使网站响应速度大大加快;

2.定制问候语:部署完应用后,如果想要使用本项目引流到其他平台进行变现,或者增加帮助文档来提升用户体验,往往需要自定义提示语

增加Key池实现多Key 轮询​

由于项目本身没有接入任何数据库,所以本小节介绍的Key池功能并不会特别复杂,但绝对可以满足你的需求。

修改/app/config/server.ts的第37行,原始代码为:

 ChatGPT Next Web增加 Key 池多 Key 轮询、定制问候语教程
修改为下列实现:

关于随机的选择上,还可以使用下面的方法

代码:

    Fisher-Yates洗牌算法:使用Fisher-Yates算法对apiKeys数组进行洗牌,然后选择第一个apiKey作为随机选择的结果。这样可以确保每个apiKey被选择的概率相等。

const shuffledApiKeys = apiKeys.sort(() => Math.random() - 0.5);
const apiKey = shuffledApiKeys[0] ?? '';

    使用随机数生成器选择:使用一个更强大的随机数生成器库(如crypto模块中的randomBytes方法)生成一个随机索引,然后使用该索引选择apiKey。

const crypto = require('crypto');
const randomIndex = crypto.randomInt(0, apiKeys.length);
const apiKey = apiKeys[randomIndex] ?? '';

然后就可以修改环境变量OPENAI_API_KEY为用英文逗号隔开的多个OpenAl ApiKey(例如sk-xxxx1,sk-xxxx2 , sk-xxx3),并重新部署

定制问候语​

修改文件app/locales/cn.ts第171行,原文如下:

代码:

Store: {

    DefaultTopic: "新的聊天",

    BotHello: "有什么可以帮你的吗",

    Error: "出错了,稍后重试吧",

    Prompt: {

修改BotHello的内容为Markdown格式的字符串即可,比如:

Store: {

    DefaultTopic: "新的聊天",

    BotHello: "有什么可以帮你的吗?这是一个[链接](https://www.baidu.com/)。\n\n这是一张图片[图片说明](图片地址)",

    Error: "出错了,稍后重试吧",

    Prompt: {

如何增加图片说明​

唯一比较棘手的是如何存储图片,一个比较简单粗暴的方法是,直接把你想要展示的图片放到项目的/public目录中,比如你想要展示文件名为hello.jpg的图片,只需要将它放到/public目录中,然后在上述的Markdown语法中使用

![图片]( /hello.jpg)
即可在消息中展示图片内容。
这里提供一个模板,来帮助你快速使用:

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 共1条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语表情代码图片