从 AntSK 接入讯飞星火大模型,看如何为 Semantic Kernel 对接无OpenAI接口协议的大模型平台...

大家好,今天我给大家介绍一下大模型应用相关的学习成果。

自从基于AntDesign Blazor 和 Semantic Kernel 的大模型应用项目 AntSK 启动以来,我就在跟作者密切合作。但也是在最近一周我才开始review当前的版本。对SK很早就跟着各位老师学习,增长了见识和了解,但也仅限于纸上谈兵,直到这周末才带着问题去学习源码,找到接入第三方模型的方法。

所以说,本篇主要是学习笔记,分享我的思考过程。欢迎大家与我交流,一起学习大模型相关的技术。

因为AntSK是开源项目,所以初衷也是想让更多人能在自己的开发环境把AntSK启动起来,参与开源贡献。但当我想运行AntSK的时候,发现并不容易。一来需要Postgre数据库,二来要配置openai服务参数或者llama模型文件目录。这对于新手的我其实就并不友好。我希望一运行就能起来,即使功能缺失,但至少在关键的第一步没有问题,不然就要劝退了。

经过跟作者沟通,他动作也很快,把模型配置做成了动态的在线配置,数据库也改成默认sqlite,现在项目克隆下来后就能直接运行了。接下来就是具体模型配置的问题了。

由于AntSK对接大模型是基于SK的,在之前只支持OpenAI和llama本地模型,但我只有Azure OpenAI 服务的额度,而本地模型的运行配置要求又达不到,我想很多人都跟我一样啊!甚至没有Azure,只有国内模型的免费额度,那AntSK还怎么跑起来?

于是我跟作者讨论,SK是支持Azure的,只是配置有所不同。于是我就尝试改造了一下,轻松的实现了。这功能已经被作者很快的加上了。但新的问题又来了,对于还有很多人没Azure啊,那怎么才能让他们把AntSK 启动起来呢?

一开始我是想加个内存模拟模型,让大家调试UI的时候可以不真正耗费额度,降低贡献成本。但是经过我对源码的研究,发现AntSK的抽象程度和扩展性还不够,对话直接依赖了SK,于是只能从对接SK入手了。

我从LlamaSharp的SK扩展了解到,只需要实现ITextExecutionService和IAIService接口,就能对接大模型的对话功能了。

正好周杰老师在周六发布了讯飞星火的sdk,于是一拍即合,实现了星火的对接。

3760ed49465a617806f2f928f321d3c3.png

342f5fbd02094315032412727bd8dd46.png

可以看到,通过SK其实是很容易接入其他大模型的,只要先实现大模型的对话接口,然后实现SK的这个ITextGenerationService, IAIService服务,即可接入。

篇幅有限,下回我再给大家讲讲如何在 AntSK 实现本地方法调用,让AI直接驱动我们的真实业务!

星火模型是一个基于深度学习的自然语言处理模型,可以用于文本分类、情感分析、命名实体识别等任务。接入星火模型到Vue前端页面的步骤如下: 1. 准备工作:首先,你需要在开放平台注册账号并创建应用,获取到API Key和API Secret。 2. 安装依赖:在Vue项目中,你需要安装axios库来发送HTTP请求,可以使用以下命令进行安装: ``` npm install axios ``` 3. 创建API请求:在Vue项目中,你可以创建一个API请求的函数,使用axios发送POST请求到星火模型的API接口。在请求中,你需要设置请求头部的Authorization字段为API Key和API Secret的Base64编码。示例代码如下: ```javascript import axios from 'axios'; const apiKey = 'YOUR_API_KEY'; const apiSecret = 'YOUR_API_SECRET'; const base64Auth = btoa(apiKey + ':' + apiSecret); async function callXunfeiAPI(text) { const url = 'https://api.xunfei.cn/v1/aiui/v1/text_semantic'; const headers = { 'Content-Type': 'application/json', 'Authorization': 'Basic ' + base64Auth }; const data = { text: text }; try { const response = await axios.post(url, data, { headers }); return response.data; } catch (error) { console.error(error); return null; } } ``` 4. 在Vue组件中使用API请求:在Vue组件中,你可以调用上述的API请求函数,并处理返回的结果。示例代码如下: ```javascript <template> <div> <input v-model="inputText" type="text" /> <button @click="sendRequest">发送请求</button> <div>{{ response }}</div> </div> </template> <script> import { callXunfeiAPI } from '@/api/xunfei'; export default { data() { return { inputText: '', response: null }; }, methods: { async sendRequest() { this.response = await callXunfeiAPI(this.inputText); } } }; </script> ``` 这样,你就可以在Vue前端页面中接入星火模型,并通过发送API请求来获取模型的结果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值