基于Wechaty实现微信接入文心一言

打印 上一主题 下一主题

主题 943|帖子 943|积分 2829

引言与效果

上篇文章写了怎么用Wechaty接入ChatGPT,这篇写一下怎么接入文心一言的模子。国内的模子用起来会更方便一些,而且也不用科学上网。最终实现效果如下:



Wechaty呆板人介绍与部署

在上一篇中已具体睁开说,这一篇就不再说明,如果必要请移步上一篇举行观看:

基于Wechaty实现微信接入ChatGPT - 具体讲授
https://blog.csdn.net/oBeiJiTa/article/details/137546823?spm=1001.2014.3001.5501


 文心一言接入前准备工作

1. 先搞定底子工作:创建应用

起首,我们得有个“家”让我们的呆板人住进去。
访问这里,按提示创建一个应用。

创建好了记得保存你的API Key和Secret Key,后面会用到

2. 拿到“入场券”:获取Access Token

现在,咱们要去拿一个“入场券”——access_token。
点开这个页面,选你刚刚创建的应用,输入API Key和Secret Key,点击“调试”,就能得到token了。

token也要存一下,后面要用

3. 测试一下,看看效果如何

都设置好了,进入对话测试界面,看看你的呆板人能不能正常谈天。
如果能,那就恭喜你,已经完成90%了!

接入文心一言

发送与剖析

 打开你呆板人目录下
wechaty-main\wechaty-main\examples里的ding-dong-bot


对 onMessage (msg: Message) 方法举行改写:
  1. const accessToken: string = '这里放你的token';
  2. async function onMessage (msg: Message) {
  3.   try{
  4.        
  5.          if(msg.text()==="ding"){
  6.                         await msg.say("dong")
  7.                 }
  8.     if(msg.type()===bot.Message.Type.Text)
  9.         {
  10.         let context=msg.text().split("@桔桔")[1];
  11.         var answer="哈喽,怎么了?";
  12.         //基本回答
  13.         if(context?.replace(/\s/g,"")!=""){
  14.           const postData={
  15.             messages:[
  16.               {
  17.                 "role":"user",
  18.                 "content":context
  19.               }
  20.             ]
  21.           };
  22.           let res=await axios.post('https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=' +
  23.           accessToken,postData,{
  24.             headers:{
  25.               "Content-Type": "application/json"
  26.             }
  27.           });
  28.           answer=res.data.result;
  29.         }
  30.         await msg.say(answer)
  31.       
  32.     }
  33.        
  34.   }catch(error){
  35.         console.error('Error:',error);
  36.   }
  37.   console.log(msg.text())
  38. }
复制代码
其实这时你把token写死,直接把你在应用测试中获得的token放在accessToken 中也可以启动呆板人举行愉快的玩耍了。

如果你想聪明一点,获取实时的token,就在呆板人启动时获取一下,改写onLogin (user: Contact)方法

实时获取Token

  1. function onLogin (user: Contact) : void {
  2.   console.info(`${user.name()} login`)
  3.   axios.post('https://aip.baidubce.com/oauth/2.0/token?'+
  4.   'client_id=你的ClientID&' +
  5.   'client_secret=你的Key&' +
  6.   'grant_type=client_credentials',null,{
  7.     headers:{
  8.       "Accept":"application/json",
  9.       "Content-Type":"application/json"
  10.     }
  11.   })
  12.     .then(response :AxiosResponse<any,any> =>{
  13.       refreshToken=response.data.refresh_token;
  14.       accessToken=response.data.access_token;
  15.       console.log(refreshToken)
  16.       console.log(accessToken)
  17.     })  
  18.     .catch(error => {
  19.       console.error('Error:',error);
  20.     });   
  21. }
复制代码

这里代码工作完毕,按照上面的Wechaty启动方式启动即可使用你的微信个人AI了,不知道怎么启动的可以看上一篇文章,再次放出链接:
基于Wechaty实现微信接入ChatGPT - 具体讲授
https://blog.csdn.net/oBeiJiTa/article/details/137546823?spm=1001.2014.3001.5501
效果图 



结束语 

到这里,我们的底子教程就结束了。我只展示了一个简单的例子。
Wechaty另有很多其他酷炫的功能。
好比,你可以更改群名,将不必要的成员踢出群聊,或者设置当新成员加入时的欢迎信息。
固然,你也可以对呆板人本身举行各种操纵。
末了,文心一言不是唯一的选择。
你完全可以将它更换为其他范例的呆板人,如ChatGPT等。
只要它们提供了API接口,你就可以实现对接。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表