利用云服务器搭建自己的微信聊天机器人

news/2024/5/19 2:06:59

本次部署使用的是LinkAI提供的接口,不需要魔法

选择比较简单的docker部署,其他的部署方式可以参考官方文档:https://docs.link-ai.tech/cow/quick-start

0、前置

租一台云服务器,因为是调用的其他平台的大模型api,所以配置不用太高

注册并登陆LinkAI平台(https://link-ai.tech/portal),在应用接入里创建一个API Key并复制:

新用户可以获取600的积分

创建AI应用:

点击左侧的应用,然后右侧点击创建应用

点击复制code,后面会用

可在右侧对该应用进行测试:

1、 配置 docker-compose.yml

执行以下命令下载 docker-compose.yml:

wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml

编辑docker-compose.yml文件,我主要是改动了:

SINGLE_CHAT_PREFIX: '[""]'   表示不需要任何前缀词即可触发bot
LINKAI_API_KEY: '<API Key>'  这个是前文获取的API Key
LINKAI_APP_CODE: '<code>'    这个是前文创建的ai应用的code
...
USE_LINKAI: 'True'           因为默认是使用openai的接口,需要魔法,所以这里改用linkai的接口

具体的配置可以参考文档:配置说明

我的docker-compose.yml文件如下,需要将LINKAI_API_KEY和LINKAI_APP_CODE替换成你自己的

version: '2.0'
services:chatgpt-on-wechat:image: zhayujie/chatgpt-on-wechatcontainer_name: chatgpt-on-wechatsecurity_opt:- seccomp:unconfinedenvironment:OPEN_AI_API_KEY: ''MODEL: 'gpt-3.5-turbo'PROXY: ''SINGLE_CHAT_PREFIX: '[""]'SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'GROUP_CHAT_PREFIX: '["@bot"]'GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'IMAGE_CREATE_PREFIX: '["画", "看", "找"]'CONVERSATION_MAX_TOKENS: 1000SPEECH_RECOGNITION: 'False'CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'EXPIRES_IN_SECONDS: 3600USE_GLOBAL_PLUGIN_CONFIG: 'True'USE_LINKAI: 'True'LINKAI_API_KEY: '<换成你的API Key>'LINKAI_APP_CODE: '<换成AI应用的>'                             

2、启动容器

docker-compose.yml 所在目录下执行以下命令启动容器:

sudo docker compose up -d  # -d参数表示后台启动

运行以下命令可查看容器运行日志,扫描日志中的二维码完成登录:

sudo docker logs -f chatgpt-on-wechat

PS:如果扫描之后出现这种报错:[ERROR][wechat_channel.py:135] - 'wxsid',说明微信号没有实名认证,我试了一下一个手机号创建的小号就会报这种错

出现Start auto replying表示运行成功

3、停止服务

Ctrl + C退出日志查看窗口,执行以下命令可以关闭服务:

sudo docker compose down

注意:如果修改了 docker-compose.yml 中的配置,需要关闭容器后再重新启动才能生效,只执行 docker restart 是不起作用的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/24897.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

LLM应用实战:当KBQA集成LLM(二)

本文主要是针对KBQA方案基于LLM实现存在的问题进行优化,主要涉及到图谱存储至Es,且支持Es的向量检索,还有解决了一部分基于属性值倒查实体的场景,且效果相对提升。1. 背景 又两周过去了,本qiang~依然奋斗在上周提到的项目KBQA集成LLM,感兴趣的可通过传送门查阅先前的文章…

【vue3入门】-【19】组件嵌套关系

组件嵌套关系 组件允许我们将UI划分为独立的,可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被阻止成层层嵌套的树状结构 这和我们嵌套HTML元素的方式类似,Vue实现了自己的组件模型,使我们可以在每个组件内封装自定义内容和逻辑APP.vue <templ…

Polyomino

Polyomino 大致题意 给定一个 4444 的地图,地图上存在三个连通块,每个连通块用 # 连接。 现在你可以将这三个连通块任意平移、旋转到任何位置摆放,但你不可以翻转,问是否能刚好覆盖地图(即三个连通块不能有重合、超出地图或铺不满地图)。 解题思路 因为固定的有三个4X4的…

双向循环链表的增删改查功能

数据结构 双向循环链表 双向循环链表的增删改查 /***************************************************************************************************************** * * file name : DoubleCirLinkedList.c * author : cnzycwp@126.com * data : 2024/04/24 * fu…

Unlink原理和一些手法

Unlink原理和一些手法 ✅简单介绍一下unlink相关的知识 unlink是利用glibc malloc 的内存回收机制造成攻击的,核心就在于当两个free的堆块在物理上相邻时,会将他们合并,并将原来free的堆块在原来的链表中解链,加入新的链表中其目的是把一个双向链表中的空闲块拿出来(例如 …

【vue3入门】-【4】插入html

原始html 双大括号,将会将数据插值为纯文本,而不是html,若想要插入html,则需要使用v-html指令 <template><h3>模版语法</h3><p>{{ tthtml }}</p> <!--会直接将html文本展示出来-->><p v-html="tthtml"></p> …

vue中函数使用、class和style属性、条件渲染、列表渲染、数据的双向绑定、input事件、过滤

【事件指令中的函数使用】1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Title</title>6 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">…