MQTT WebSocket 与大语言模型 (LLM)
无需暴露自己的公网IP或者端口,就可以从外网调用自托管模型的方法。
什么是 MQTT 协议?
Mqtt 是一种常用于物联网通信的协议,它使用发布/订阅模式,可以实现设备与设备,设备与云端,云端与云端之间的通信。
有关更多Mqtt的信息,可以参考Mqtt 官方文档
在一侧发送任意的内容,观察接收到的消息
技术解释
在上面的示例中,我们可以观察到,需要输入的要素只有两个:
- Message: 要发送的消息内容
- Topic: 消息的目标频道
Topic(主题)可以理解为一个频道,连接到 MQTT broker 的客户端需要注册自己要接收的频道。客户端可以:
- 发送消息到指定的频道
- 订阅(注册接收)一个或多个频道
需要注意的是,发送和接收并不需要成对出现:
- 可以只订阅频道而不发送消息
- 也可以只发送消息而不订阅任何频道
此外,MQTT 还支持使用通配符来订阅多个相关频道,这为消息路由提供了更大的灵活性。
更多细节:
Q1:上面的服务是否使用了本站的服务器进行消息转发?
Emqx 提供了免费的mqtt节点,在该页面中,我们将使用它进行测试
https://www.emqx.com/zh/mqtt/public-mqtt5-broker
Q2: 我是否可以用自己的服务器搭建一个mqtt broker?
可以,但是需要购买服务器,并且需要配置防火墙,以及配置mqtt broker
Websocket 去了哪里
在通常的情况下,Mqtt往往采用1883端口进行通信,但这个端口并非Web端口。 而浏览器通常只允许被用作访问Web服务,因此,我们需要使用WebSocket进行通信。
在Mqtt3.1中,Websocket的支持已经被标准化,协议细节可以参考MQTT-WS 所以,其实上面看到的调试工具本身就是通过Websocket来发送信息的呢。
利用 Mqtt 传递消息
todo
通过 Mqtt 接入一个本地的 llama 服务端
todo
Mqtt上的消息加密
todo
自组网的LLM集群
todo
LLM调用链的边界路由
todo