将始皇的gpt2api和Kimi模型合并到一起在lobechat中使用(demo)

今天看到一个逆向kimi帖子

想接入到lobechat中,发现始皇的chat2api和kimi只能选择一个使用,于是想用Cloudflare Workers去反代,实现调用一个接口,选择不同的模型,就可以分别去调用kimi和chat2api,原理就是通过调用的模型去判断该走哪个接口

准备工作

  • 首先你需要有一个Cloudflare有个账号,并且有个域名

创建HTTP路由

部署代码

  • 到了部署页面之后,将以下代码填入
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})


async function handleRequest(request) {

  const requestBody = await request.json();
  

  let destinationUrl, newAuthHeader;
  

  if (requestBody.model && requestBody.model.includes('gpt')) {
    destinationUrl = 'https://api.oaifree.com/v1/chat/completions';
    newAuthHeader = 'Bearer 填入你的token '; // 这里设置chat2api对应的新明文token
  } else if (requestBody.model === 'kimi') {
    destinationUrl = 'http(s)://****/v1/chat/completions';
    newAuthHeader = 'Bearer 填入你的token'; //这里设置kimi对应的新明文token

  } else {

    return new Response('Model not supported', { status: 400 });
  }
  

  const newHeaders = new Headers(request.headers);
  newHeaders.set('Authorization', newAuthHeader);
  

  const newRequest = new Request(destinationUrl, {
    method: request.method,
    headers: newHeaders,
    body: JSON.stringify(requestBody), 
    redirect: request.redirect
  });
  


  const response = await fetch(newRequest);


  return response;
}

在这段代码中,我是把token直接填到了里面,不知道会不会有泄漏的风险,也请各位大佬指正,还有一个点是,所有的URL(代码中的destinationUrl)不能是ip+端口,只能是域名,否则会报错

配置LobeChat

  • 点击保存并部署,将workers设置到刚刚的http路由中
  • lobe配置这样填写(key随便填),即可完成配置,注意,需要给lobechat设置密码,防止被别人扫接口滥用

第一次发技术贴,只是自己写的一个小DEMO,如果有问题,还请各位大佬指正

18 个赞

大善人再上分

3 个赞

这就是号商掺杂的方法吗

又向技术论坛迈进了一步

替换原来文本里面的模型,随机3.5或者4,把4的权重设的稍微高一点,可能就是号商那种掺杂的方法了(我猜的)

我写了一个比他更杂的 草台班子糊了一个CloudFlare Worker的token池 简直就是大乱炖

3 个赞

这个Cloudflare Workers能否用于其他项目的反代

1 个赞

可以啊,worker的一些操作论坛有集合贴,搜一下

1 个赞

大佬牛逼,我只是小打小闹

1 个赞


实测如果把这两个模型放在一个对话框里,好像会读取之前gpt说过的话,所以建议放在不同的话题中使用

1 个赞

又有学习的东西了

1 个赞

点赞:+1:

1 个赞

學習分享,學習了

From #dev to 开发调优