前言😀😀
昨天的文章,展示了项目的页面是如何制作的,那么显然接下来我们要实现的就是如何来对接到我们的大模型,我们要对接的大模型主要有两个:
- 对接moonshot
- 对接中转站
同时在对接中转站时要注意,我们将对接两个服务:
- chatgpt服务,完成翻译任务
- MJ绘图服务
所以接下来,我们将演示如何对接,在成功对接到我们的模型之后,我们就可以来基于模型来做一点处理了。当然,实际上,如果你本地也有模型,并且可以通过one_api进行本地化部署的话,那么就更酷了。当然,为了能够让更多的小伙伴能够正常运行这个项目,我们还是选择中转站。
那么,接下来就开始吧,我们要如何完成对接。同时在对接完成之后,我们怎么实现到我们的聊天机器人。之后在下一章节,我们将讨论,如何将这些内容与我们具体的业务服务相关联。
对接moonshot
moonshot的对接还是非常友好的,它提供了标准的openai接口格式。因此我们直接使用openai这个库就可以直接调用。你只需先下载即可,然后获取到key,并且选择到模型。
只需要这样就可以轻松完成对接:
1 | python复制代码 def signChat(self,history): |
在这里,我们先预设了角色:
1 | python复制代码 "system_xiaoxi": "你是一个全能小助手,你的名字叫小汐,尤其擅长写作和故事改编。" |
那么到这里,一个moonshot就对接好了。当然这还不够,为了方便使用,我们还是要进行简单封装的。
在这里的话,还是可以看到,这里还可以进行流式对话。
1 | python复制代码import time |
对接中转站
之后就是对接中转站点。这里我们是对接两个服务,一个还是openai的服务,还有一个就是我们的绘图的服务。
对接chat
这里的对接,略有不同,但是总体上还是类似,这里我们需要使用到request,用比较原始的方式进行对接。
1 | python复制代码import requests |
当然,这里如何对接的话,也是有文档的,这里只是为了方便使用进行一个简单封装而已。
对接绘图
之后的话,我们要对接到我们的绘图api。
这里的话,对接绘图的话有三个步骤。
- 提交任务
- 查看任务进度,获取图片地址
- 访问图片地址拿到图片
当然同样,这个在对方的文档当中是可以看到的。这里也是进行了封装。
1 | python复制代码 |
这里可以给大家展示一下,当任务提交之后,去拿到图片,会返回给我们的数据格式是怎么样的:
1 | json复制代码 response_data = { |
对话助手实现😊
现在我们具备了对接大语言模型的能力,那么接下来我们要做的就是,将这个东西整合到我们的应用当中。
这一点不难,所以我们直接看到昨天对话部分的代码即可。
1 | python复制代码class AssistantNovel(object): |
这里我们只是将
1 | python复制代码response = self.get_response(prompt,st.session_state.messages) |
替换为了我们刚刚写好的接口,这样就完成了对接。
本文转载自: 掘金