当前位置: 首页 > wzjs >正文

河池市城乡住房建设厅网站百度推广关键词质量度

河池市城乡住房建设厅网站,百度推广关键词质量度,网页设计代码网站,有产品做推广 选哪个 网站文章目录 WebSocket简介Websocket流程图使用场景代码示例 WebRTC简介WebRTC(Web Real-Time Communication)流程图使用场景代码示例 大模型应用,使得 WebSocket, WebRTC 的使用频率越来越高,WebSocket提供了文本输入与大…

文章目录

  • WebSocket
    • 简介
    • Websocket流程图
    • 使用场景
    • 代码示例
  • WebRTC
    • 简介
    • WebRTC(Web Real-Time Communication)流程图
    • 使用场景
    • 代码示例

大模型应用,使得 WebSocket, WebRTC 的使用频率越来越高,WebSocket提供了文本输入与大模型交互的能力,比如讯飞星火大模型。
使用WebRTC实现了语音与大模型交互的能力,比如字节火山大模型。

WebSocket

简介

WebSocket:基于TCP,主要功能是在客户端和服务器之间建立持久的双向通信连接。它使得浏览器和服务器之间能够进行实时的数据传输,允许服务器主动向客户端推送数据,而无需客户端频繁地发送请求来获取更新,大大提高了数据传输的效率和实时性。

Websocket流程图

客户端 服务器 发送包含 Upgrade: websocket 的 HTTP 请求 返回 101 Switching Protocols 的 HTTP 响应 WebSocket 连接建立成功 发送数据(这里是双向的,双方都可以发送) 处理数据并返回响应 发送关闭帧(包含状态码和原因) 发送确认关闭帧 WebSocket 连接关闭 客户端 服务器

首先客户端发起连接请求,服务器响应后连接建立,接着进行数据的发送和接收,最后客户端请求关闭连接,服务器确认后连接关闭。

使用场景

  1. 实时聊天应用:如在线客服、即时通讯工具等,服务器可以实时将新消息推送给客户端。
  2. 实时数据监控:用于实时显示股票行情、传感器数据等,服务器可以随时将最新数据发送给客户端。
  3. 多人在线游戏:可以实现游戏状态的实时更新,如玩家的位置移动、游戏事件等。

代码示例

以下是一个Python类,用于构建和发送WebSocket请求到讯飞星火大模型:

import websocket
import json
import base64
import hashlib
import hmac
import ssl
from urllib.parse import urlparse, urlencode
from datetime import datetime
from time import mktimeclass SparkAPI:def __init__(self, appid, api_key, api_secret, spark_url):self.appid = appidself.api_key = api_keyself.api_secret = api_secretself.spark_url = spark_urlself.host = urlparse(spark_url).netlocself.path = urlparse(spark_url).pathdef create_signature(self, method, path, date):signature_origin = f"host: {self.host}
date: {date}
{method} {path} HTTP/1.1"signature_sha = hmac.new(self.api_secret.encode('utf-8'),signature_origin.encode('utf-8'),digestmod=hashlib.sha256).digest()signature_sha_base64 = base64.b64encode(signature_sha).decode(encoding='utf-8')return signature_sha_base64def create_url(self):now = datetime.now()date = format_date_time(mktime(now.timetuple()))signature = self.create_signature('GET', self.path, date)authorization_origin = f'api_key="{self.api_key}", algorithm="hmac-sha256", headers="host date request-line", signature="{signature}"'authorization = base64.b64encode(authorization_origin.encode('utf-8')).decode(encoding='utf-8')params = {'authorization': authorization,'date': date,'host': self.host}url = self.spark_url + '?' + urlencode(params)return urldef on_message(self, ws, message):data = json.loads(message)code = data['header']['code']if code != 0:print(f'请求错误: {code}, {data}')ws.close()else:choices = data["payload"]["choices"]status = choices["status"]content = choices["text"][0]["content"]print(content, end='')if status == 2:print("#### 关闭会话")ws.close()def send_query(self, domain, query):ws = websocket.WebSocketApp(self.create_url(),on_message=self.on_message,on_error=lambda ws, error: print(f"Error: {error}"),on_close=lambda ws: print("Connection closed"),on_open=lambda ws: ws.send(json.dumps(self.gen_params(self.appid, domain, query))))ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})def gen_params(self, appid, domain, query):data = {"header": {"app_id": appid,"uid": "1234"},"parameter": {"chat": {"domain": domain,"temperature": 0.5,"max_tokens": 4096,"auditing": "default"}},"payload": {"message": {"text": [{"role": "user", "content": query}]}}}return data

使用上述类,你可以通过以下方式发送请求并接收响应:

if __name__ == "__main__":appid = "你的APPID"api_key = "你的APIKey"api_secret = "你的APISecret"spark_url = "wss://spark-api.xf-yun.com/v3.5/chat"  # 根据你使用的模型版本选择URLdomain = "generalv3.5"  # 选择相应的domainquery = "你好,请问今天天气怎么样?"api = SparkAPI(appid, api_key, api_secret, spark_url)api.send_query(domain, query)

在上面的代码中,on_message方法用于处理从星火大模型接收到的消息。该方法会解析JSON响应,并打印出AI的回复。如果会话结束(status为2),则会关闭WebSocket连接。

WebRTC

简介

WebRTC:主要用于在 Web 浏览器之间建立实时的音视频通信和数据传输。它提供了一系列的 API,使得开发者可以方便地实现浏览器之间的视频通话、语音通话、文件传输等实时通信功能,无需依赖任何插件。WebRTC 支持浏览器之间的直接 P2P 连接,无需通过服务器中转音视频数据,这样可以大大减轻服务器的负担,提高数据传输效率,降低延迟。在多人通信场景中,还可以结合服务器进行信令交互和媒体协商,实现高效的多人 P2P 通信,如多人视频会议、多人在线游戏等应用。

WebRTC(Web Real-Time Communication)流程图

它展示了 WebRTC 通信中从信令交互到媒体流传输的基本过程

客户端 A 信令服务器 客户端 B 发起连接请求(信令) 转发连接请求(信令) 回复连接请求(信令) 转发回复(信令) 双方进行信令交互,协商媒体格式等 采集音视频数据(摄像头、麦克风) 编码音视频数据 发送音视频数据(RTP 流) 接收音视频数据(RTP 流) 解码音视频数据 播放音视频数据(显示器、扬声器) 采集音视频数据(摄像头、麦克风) 编码音视频数据 发送音视频数据(RTP 流) 接收音视频数据(RTP 流) 解码音视频数据 播放音视频数据(显示器、扬声器) 发送关闭连接请求(信令) 转发关闭连接请求(信令) 回复关闭连接(信令) 转发回复(信令) WebRTC 连接关闭 客户端 A 信令服务器 客户端 B

在这个流程图中,首先展示了客户端 A 和客户端 B 通过信令服务器进行信令交互以协商连接和媒体参数。然后,两个客户端分别采集、编码自己的音视频数据,并将其发送给对方,对方接收、解码并播放这些数据。最后,当需要关闭连接时,再次通过信令服务器进行信令交互来关闭连接。

使用场景

  1. 视频会议:支持多人视频通话,广泛应用于在线办公、远程教育等领域。
  2. 在线直播:主播可以将音视频流实时传输给观众,实现低延迟的直播效果。
  3. P2P 文件传输:可以在浏览器之间直接传输文件,无需通过服务器中转,提高传输效率。

代码示例

可查看字节火山引擎RTC的demo
作者:帅得不敢出门

http://www.dtcms.com/wzjs/397647.html

相关文章:

  • 福州网站制作哪里有网站推广优化
  • 崆峒区建设局网站媒体代发网站
  • wordpress 导出 主题西安市seo排名按天优化
  • 做网站找谷谷网络比较好网上推广产品怎么做
  • 临沂网站seo软文广告文案案例
  • 北京网站排名seo百度高级搜索入口
  • 家庭做网站店铺推广软文范例
  • 口腔医院东莞网站建设电脑优化大师下载安装
  • 做旅行网站的意义成都seo
  • 什么建站公司好站长之家网站模板
  • 北京网站制作的公司哪家好google应用商店
  • 搭建网站怎么赚钱网站营销策略有哪些
  • 王也天个人资料优化教程网下载
  • 网站建设相关关键词搜狐酒业峰会
  • 电商网站新闻怎么做的谷歌排名网站优化
  • 东莞软件网站推广淘宝排名查询
  • 高性能网站建设进阶...超级优化空间
  • 有人和兽做的网站seo优化主要工作内容
  • 微科技h5制作网站模板台州关键词优化服务
  • 高端品牌网站设计企业网站建设培训方案怎么做
  • 企业网站的常见服务是什么广告策划案优秀案例
  • 做网站需要多少钱 做百度权重4网站值多少钱
  • 石家庄网站建设找哪家互联网全媒体广告代理
  • 人家做网站是什么成都网站快速开发
  • 较便宜的网站建设昆明长尾词seo怎么优化
  • 网站如何做传输网盘网络营销计划书怎么写
  • 济南智能网站建设哪家好长沙有实力seo优化
  • 长春哪家做网站做的好免费的seo优化
  • 新手学做网站12天婴优化设计六年级下册语文答案
  • 广东网站建设发信息网站出售