我在electron中集成了自己的ai大模型

同学们可以私信我加入学习群!



前言

最近单位把gpt、文心一言、通义千问、星火等等等等你能想到的ai大模型都给禁掉了,简直丧心病狂。

不知道有多少感同身受的难兄难弟,反正我是忍不了了。所以我自己调用大模型的api,搭建了一个小工具。

难点基本没有,分享出来,做个参考。

ai模型以通义千问为例。


一、大模型选择

不差钱的选文心一言,传说是国内最强,也不知道有没有什么事实依据。反正像我这样差钱的,选择通义千问200w算力基础版+100w算力plus版,180天有效期。用不完,根本用不完。

如果哪天用完了,是续费,还是拿同事账号继续白嫖,都可以接受。毕竟付费模式,100w算力也才8块钱,对于只吃大布丁,不看小布丁的家庭而言,毛毛雨啦。

二、获取key

大模型调用要根据不同厂家的不同方案来集成,但是无一例外,大部分厂家都提供了api调用的方式。

每个人都可以像调用自家后端接口一样,去掉用官方提供的api。咱们自家的后端,通过用户名密码就能验证用户是否为合法用户,那这种公用的api如何确定调用的人是否合法呢,那就是key的概念。

可以把key当成一把钥匙,它就相当于用户名密码的功能,告诉后端系统,我是合法用户,给我数据吧。

阿里,申请key的页面:https://dashscope.console.aliyun.com/apiKey

在这里插入图片描述
拿到key后,就可以合法地白嫖ai大模型了,只要每次调用接口的时候,带着key就行。

三、调用api

先上接口调用示例代码:

 method: 'post',
 url: 'http://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation',
headers: {
                'Authorization': 'Bearer sk-c0fda7c09b304ab*************************'
            },

如果按照官网介绍,一个具备key信息的接口大概是上面这样的。“ sk-c0fda7c09b304ab*************************”就是自己的key,为防泄漏,我把后面的内容用*表示。每个人一个key,如果你的key被别人知道了,那人家就可以愉快地消费你的算力。当然,key泄露后第一件事,就是赶紧弃用原来的,重新申请。

不出意外的话,一定会出意外的。

直接在前端按照上面的方式调用接口,大概率会报跨域错误。这是篇回忆的文章,所以我写文章时,也没有具体的报错信息可供参考。如果跨域都不了解的同学,我建议后面的步骤还是不要研究了,可能会有点难度。还是直接私信我,信得过兄弟的话,就让我给你做个壳,你输入key就直接能用。

我以那些欠我钱不还的所有亲戚的身家性命为誓,绝对不会开后门坑人。

言归正传,我尝试了各种方式,都无法避免跨域,所以只能说明问题不在我们写的前端代码,而是ai厂家后端服务的设置。如果有直接通过前端调用阿里通义千问大模型,并且成功的哥们,衷心希望不吝赐教。

四、调用ai模型api时,解决跨域

我在用apifox尝鲜调用api时,是成功的。这说明什么,这说明转一下后端调用,这个接口就允许跨域了。这需要一点分析能力,如果理解不了,那就记住结论:把前端调用方式,改成后端调用。

因为我的项目是基于electron,所以自带后端,只要用后端框架甚至是用nodejs手撸一个最简单的后端服务就行。如果前后端分离项目,可能就麻烦点了,需要在后端增加一个接口。

所以我们的整体思路就从:前端——>ai接口
变为:
前端——>后端——>ai接口

我在electron用koa监听3001端口,开启了一个后端服务:

const Koa = require('koa')
const Router = require('koa-router')
const cors = require('koa-cors')
const bodyParser = require('koa-bodyparser')
const https = require('https')
const axios = require('axios')
exports.createServerKoa=()=>{
    const koa = new Koa();
    const router = new Router();

    koa.use(cors())
    koa.use(bodyParser())
    router.post('/api/getQwenOutput', async (ctx, next) => {
        ctx.set('Access-Control-Allow-Origin', '*');

        var data = JSON.stringify(ctx.request.body);

        var config = {
            method: 'post',
            url: 'http://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation',
            headers: {
                'Authorization': 'Bearer sk-c0fda7c09b304a*****************',
                'Content-Type': 'application/json',
                'Accept': '*/*'
            },
            httpsAgent: new https.Agent({

                rejectUnauthorized: false,

            }),
            data : data
        };
        const aiResult=await axios(config)
        ctx.body={
            data:aiResult.data
        }
    });
    koa.use(router.routes());
    koa.listen(3001,()=>{
        console.log('createServerKoa启动')
    });
}

选择koa是因为它轻量简单,如果前后端分离项目,建议还是选择midwayjs、nestjs等,如果已有java后端,那就直接在controller层加接口即可。一句话,只要能有个后端接口即可。

如果是和我一样,就为了这个ai工具开了后端服务和接口,那一定要注意别忘了写

ctx.set('Access-Control-Allow-Origin', '*');

要不然后端调ai的接口没问题,但是自己前端调自己后端跨域被拦,就尴尬了。

这一通操作下来,应该就能正常调用ai的接口了。

效果如图:
在这里插入图片描述
就是这个ai貌似不太聪明的样子,连博主都没听过?没理由啊。


总结

老夫只有三步:

  1. 申请key
  2. 调api
  3. 解决跨域

大家有什么好的点子,可以私信博主,博主最喜欢的就是不务正业的需求。

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Electron集成Vue,可以按照以下步骤进行操作: 1. 首先,确保你已经全局安装了Vue CLI。如果没有安装,可以在命令行运行以下命令进行安装: ``` npm install -g @vue/cli ``` 2. 在合适的位置创建一个新的Vue项目,可以使用以下命令: ``` vue create my-electron-app ``` 3. 在创建项目时,Vue CLI会让你选择一些配置选项。你可以选择一些常见的配置,如Babel、Router等。此外,还可以选择将项目配置为支持TypeScript。 4. 进入到项目目录: ``` cd my-electron-app ``` 5. 安装Electron相关的依赖: ``` npm install electron --save-dev ``` 6. 在项目根目录下创建一个新的文件,命名为`main.js`。这将是Electron主进程的入口文件。在`main.js`添加如下代码: ```js const { app, BrowserWindow } = require('electron') function createWindow() { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) win.loadURL('http://localhost:8080') } app.on('ready', createWindow) ``` 7. 接下来,在`package.json`文件添加一个`start`脚本,用于启动Electron应用: ```json "scripts": { "start": "electron ." } ``` 8. 然后,运行以下命令启动Vue开发服务器: ``` npm run serve ``` 9. 最后,在另一个命令行窗口运行以下命令启动Electron应用: ``` npm start ``` 现在,你就可以在Electron集成Vue了。在Vue的开发服务器上进行开发,并使用Electron来加载和展示你的Vue应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中二少年学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值