使用JS+HTML+CSS编写提词器实例
手搓提词器网页版,有些BUG但是基本功能使用没有问题,有需要的可复制粘贴,BUG自行修复。下面直接进入代码:
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>提词器</title><style>:root {--primary-color: #1e88e5;--secondary-color: #26c6da;--danger-color: #f44336;--success-color: #66bb6a;--dark-bg: #121212;--darker-bg: #0a0a0a;--light-text: #f5f5f5;--lighter-text: #ffffff;--highlight-color: #ffeb3b;--highlight-bg: rgba(30, 136, 229, 0.2);}* {box-sizing: border-box;margin: 0;padding: 0;}body {font-family: 'Arial', sans-serif;background-color: var(--dark-bg);color: var(--light-text);line-height: 1.6;padding: 20px;min-height: 100vh;display: flex;flex-direction: column;}.container {max-width: 1200px;margin: 0 auto;width: 100%;flex: 1;display: flex;flex-direction: column;}h1 {text-align: center;margin-bottom: 20px;color: var(--lighter-text);text-shadow: 0 0 10px rgba(30, 136, 229, 0.5);}.editor-panel {background-color: var(--darker-bg);padding: 20px;border-radius: 8px;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);margin-bottom: 20px;}.control-panel {display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 15px;margin-bottom: 15px;}.control-group {display: flex;flex-direction: column;}label {margin-bottom: 8px;font-weight: bold;color: var(--secondary-color);}textarea {width: 100%;min-height: 200px;padding: 12px;background-color: #1e1e1e;color: var(--light-text);border: 1px solid #333;border-radius: 4px;resize: vertical;font-family: inherit;font-size: 16px;margin-bottom: 15px;}select, input[type="range"] {width: 100%;padding: 8px;background-color: #1e1e1e;color: var(--light-text);border: 1px solid #333;border-radius: 4px;}.range-container {display: flex;align-items: center;gap: 10px;}.range-value {min-width: 30px;text-align: center;}.button-group {display: flex;gap: 10px;margin-top: 15px;flex-wrap: wrap;}button {padding: 10px 20px;border: none;border-radius: 4px;cursor: pointer;font-weight: bold;transition: all 0.3s ease;flex: 1;min-width: 120px;}.btn-play {background-color: var(--success-color);color: white;}.btn-pause {background-color: var(--danger-color);color: white;display: none;}.btn-fullscreen {background-color: var(--primary-color);color: white;}.btn-reset {background-color: #616161;color: white;}button:hover {opacity: 0.9;transform: translateY(-2px);}button:active {transform: translateY(0);}.teleprompter-container {flex: 1;display: flex;flex-direction: column;background-color: #000;border-radius: 8px;overflow: hidden;position: relative;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);}.teleprompter-display {flex: 1;overflow: hidden;position: relative;padding: 20px;}.teleprompter-viewport {position: absolute;top: 0;left: 0;width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: center;align-items: center;}.teleprompter-text {width: 100%;text-align: center;transition: transform 0.1s linear;color: var(--light-text);}.word {transition: all 0.3s ease;display: inline-block;margin: 0 3px;padding: 2px 4px;border-radius: 3px;}.highlight {color: var(--highlight-color);background-color: var(--highlight-bg);font-weight: bold;transform: scale(1.3);text-shadow: 0 0 10px rgba(255, 235, 59, 0.7);position: relative;z-index: 1;}.highlight::after {content: '';position: absolute;left: 0;right: 0;bottom: -10px;height: 2px;background-color: var(--highlight-color);opacity: 0.5;z-index: -1;}/* 全屏样式 */.fullscreen {position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background-color: #000;z-index: 1000;display: flex;justify-content: center;align-items: center;padding: 0;margin: 0;}.fullscreen .teleprompter-display {width: 100%;height: 100%;}.fullscreen .teleprompter-text {font-size: 3em !important;}/* 响应式调整 */@media (max-width: 768px) {.control-panel {grid-template-columns: 1fr;}.teleprompter-display {padding: 10px;}}</style>
</head>
<body><div class="container"><h1>提词器</h1><div class="editor-panel"><textarea id="prompterText" placeholder="在这里输入您的提词内容...">欢迎使用提词器</textarea><div class="control-panel"><div class="control-group"><label for="fontFamily">字体选择</label><select id="fontFamily"><option value="Arial, sans-serif">Arial</option><option value="'Microsoft YaHei', sans-serif">微软雅黑</option><option value="'SimSun', serif">宋体</option><option value="'Times New Roman', serif">Times New Roman</option><option value="'Courier New', monospace">Courier New</option></select></div><div class="control-group"><label for="fontSize">字号大小</label><div class="range-container"><input type="range" id="fontSize" min="12" max="72" value="24"><span class="range-value" id="fontSizeValue">24</span>px</div></div><div class="control-group"><label for="speed">滚动速度</label><div class="range-container"><input type="range" id="speed" min="1" max="100" value="50"><span class="range-value" id="speedValue">50</span></div></div></div><div class="button-group"><button id="playBtn" class="btn-play">开始</button><button id="pauseBtn" class="btn-pause">暂停</button><button id="fullscreenBtn" class="btn-fullscreen">全屏</button><button id="resetBtn" class="btn-reset">重置</button></div></div><div class="teleprompter-container"><div class="teleprompter-display"><div class="teleprompter-viewport"><div id="teleprompterText" class="teleprompter-text"></div></div></div></div></div><script>document.addEventListener('DOMContentLoaded', function() {// 获取DOM元素const prompterText = document.getElementById('prompterText');const teleprompterText = document.getElementById('teleprompterText');const fontFamily = document.getElementById('fontFamily');const fontSize = document.getElementById('fontSize');const fontSizeValue = document.getElementById('fontSizeValue');const speed = document.getElementById('speed');const speedValue = document.getElementById('speedValue');const playBtn = document.getElementById('playBtn');const pauseBtn = document.getElementById('pauseBtn');const fullscreenBtn = document.getElementById('fullscreenBtn');const resetBtn = document.getElementById('resetBtn');const teleprompterContainer = document.querySelector('.teleprompter-container');const viewport = document.querySelector('.teleprompter-viewport');// 状态变量let isPlaying = false;let scrollInterval;let words = [];let currentWordIndex = 0;let wordElements = [];let wordPositions = [];let viewportHeight = 0;let centerPosition = 0;// 初始化updateTeleprompterText();calculatePositions();// 事件监听prompterText.addEventListener('input', updateTeleprompterText);fontFamily.addEventListener('change', updateTeleprompterStyle);fontSize.addEventListener('input', function() {fontSizeValue.textContent = this.value;updateTeleprompterStyle();setTimeout(calculatePositions, 100); // 等待渲染完成});speed.addEventListener('input', function() {speedValue.textContent = this.value;if (isPlaying) {clearInterval(scrollInterval);startScrolling();}});playBtn.addEventListener('click', startScrolling);pauseBtn.addEventListener('click', pauseScrolling);fullscreenBtn.addEventListener('click', toggleFullscreen);resetBtn.addEventListener('click', resetTeleprompter);// 窗口大小变化时重新计算位置window.addEventListener('resize', function() {calculatePositions();updateHighlightPosition();});// 键盘快捷键document.addEventListener('keydown', function(e) {// 空格键 播放/暂停if (e.code === 'Space') {e.preventDefault();if (isPlaying) {pauseScrolling();} else {startScrolling();}}// ESC键 退出全屏if (e.code === 'Escape' && teleprompterContainer.classList.contains('fullscreen')) {toggleFullscreen();}// 上箭头 减速if (e.code === 'ArrowUp') {e.preventDefault();speed.value = Math.min(100, parseInt(speed.value) + 5);speed.dispatchEvent(new Event('input'));}// 下箭头 加速if (e.code === 'ArrowDown') {e.preventDefault();speed.value = Math.max(1, parseInt(speed.value) - 5);speed.dispatchEvent(new Event('input'));}});// 更新提词器文本function updateTeleprompterText() {const text = prompterText.value;words = splitTextIntoWords(text);renderWords();updateTeleprompterStyle();calculatePositions();}// 将文本分割为单词数组function splitTextIntoWords(text) {// 使用正则表达式分割单词和标点符号return text.split(/(\s+|\n+|[,.!?;:])/).filter(word => word.trim().length > 0);}// 渲染单词function renderWords() {teleprompterText.innerHTML = '';wordElements = [];words.forEach((word, index) => {const wordSpan = document.createElement('span');wordSpan.className = 'word';wordSpan.textContent = word;wordSpan.dataset.index = index;// 处理空格和换行if (word.match(/\s+/)) {wordSpan.style.padding = '0 2px';if (word.includes('\n')) {wordSpan.style.display = 'block';wordSpan.style.height = '1em';wordSpan.style.content = ' ';}}teleprompterText.appendChild(wordSpan);wordElements.push(wordSpan);});// 重置高亮currentWordIndex = 0;updateHighlightPosition();}// 计算所有单词的位置function calculatePositions() {viewportHeight = viewport.clientHeight;centerPosition = viewportHeight / 2;wordPositions = [];// 临时显示所有元素以计算位置teleprompterText.style.transform = 'translateY(0)';// 计算每个单词的绝对位置let currentTop = 0;wordElements.forEach((wordEl, index) => {const rect = wordEl.getBoundingClientRect();const viewportRect = viewport.getBoundingClientRect();const relativeTop = rect.top - viewportRect.top;wordPositions[index] = relativeTop;// 如果是换行元素,增加额外高度if (wordEl.textContent.includes('\n')) {currentTop += rect.height;}});}// 更新高亮单词位置function updateHighlightPosition() {// 移除所有高亮wordElements.forEach(word => {word.classList.remove('highlight');});if (words.length > 0 && currentWordIndex < words.length) {// 计算需要滚动到的位置,使当前词居中const targetPosition = centerPosition - wordPositions[currentWordIndex];// 应用滚动位置teleprompterText.style.transform = `translateY(${targetPosition}px)`;// 高亮当前词wordElements[currentWordIndex].classList.add('highlight');}}// 更新提词器样式function updateTeleprompterStyle() {teleprompterText.style.fontFamily = fontFamily.value;teleprompterText.style.fontSize = `${fontSize.value}px`;}// 开始滚动function startScrolling() {if (isPlaying) return;isPlaying = true;playBtn.style.display = 'none';pauseBtn.style.display = 'block';// 计算速度 (值越大速度越慢)const speedFactor = 101 - speed.value; // 反转值,使滑块右侧为快const intervalTime = Math.max(50, 2000 / speedFactor);scrollInterval = setInterval(() => {currentWordIndex++;if (currentWordIndex >= words.length) {// 到达末尾,停止滚动pauseScrolling();return;}updateHighlightPosition();}, intervalTime);}// 暂停滚动function pauseScrolling() {if (!isPlaying) return;clearInterval(scrollInterval);isPlaying = false;playBtn.style.display = 'block';pauseBtn.style.display = 'none';}// 切换全屏function toggleFullscreen() {if (teleprompterContainer.classList.contains('fullscreen')) {teleprompterContainer.classList.remove('fullscreen');document.exitFullscreen?.();} else {teleprompterContainer.classList.add('fullscreen');teleprompterContainer.requestFullscreen?.();}// 全屏切换后重新计算位置setTimeout(() => {calculatePositions();updateHighlightPosition();}, 300);}// 重置提词器function resetTeleprompter() {pauseScrolling();currentWordIndex = 0;teleprompterText.style.transform = 'translateY(0)';updateHighlightPosition();}});</script>
</body>
</html>
相关文章:
使用JS+HTML+CSS编写提词器实例
手搓提词器网页版,有些BUG但是基本功能使用没有问题,有需要的可复制粘贴,BUG自行修复。下面直接进入代码: <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><me…...
人工智能基础知识详解:从概念到前沿技术与应用
在数字化浪潮席卷全球的今天,人工智能(Artificial Intelligence,简称AI)已不再是科技前沿的神秘概念,而是融入我们日常工作的实用工具。从智能语音助手到自动驾驶汽车,从医疗影像诊断到生成式艺术创作&…...
重温经典,畅享怀旧游戏盛宴
FC街机是一款专为安卓设备设计的经典游戏合集应用,它将玩家熟悉的红白机(FC)游戏体验带到了移动设备上。这款应用不仅提供了丰富的游戏选择,还通过优化的界面和操作,让玩家能够随时随地享受经典游戏的乐趣。 游戏非常…...
CPU 压力测试命令大全
CPU 压力测试命令大全 以下是 Linux/Unix 系统下常用的 CPU 压力测试命令和工具,可用于测试 CPU 性能、稳定性和散热能力。 1. 基本压力测试命令 1.1 使用 yes 命令 yes > /dev/null & # 启动一个无限循环进程 yes > /dev/null & # 启动第二个进…...
Windows 系统下用 VMware 安装 CentOS 7 虚拟机超详细教程(包含VMware和镜像安装包)
前言 资源 一、准备工作 (一)下载 VMware Workstation (二)下载 CentOS 7 镜像 二、安装 VMware Workstation(比较简单,按下面走即可) 三、创建 CentOS 7 虚拟机 四、安装 CentOS 7 系统…...
QLineEdit的提交前验证
QLineEdit是pyqt中常用的输入控件,默认情况下,它可以接受键盘输入的任何可打印字符。有时候,我们需要在用户提交前对其输入的内容先行验证,当用户输入不符合预期时予以清空,这就需要对QLineEdit控件进行以下操作&#…...
【Linux高级IO(二)】初识epoll
目录 1、epoll的接口 2、epoll原理 3、epoll工作方式 1、epoll的接口 #include <sys/epoll.h> 1、int epoll_create(int size) :创建epoll模型 返回值是一个文件描述符,创建一个struct file结构体,指向epoll模型,返回的…...
2018年真题
数学基础 一、 (共4分)用逻辑符号表达下列语句(论域为包含一切事物的集合) 1、(2分)集合A的任一元素的元素都是A的元素 经过对图片文字的识别与逻辑分析,结果如下: 符号定义&…...
Linux xxd命令
目录 一. xxd命令简介二. 简单使用三. -p选项纯16进制输出四. -r选项将十六进制还原成原始内容五. 小应用 一. xxd命令简介 xxd 是一个将文件或输入内容转换为十六进制(Hex Dump)格式的工具,也可以将十六进制恢复成原始数据。 它在调试二进制…...
高校实验室安全数智化分级分类管理-危化品管理LIMS
一、背景与依据 传统实验室安全管理如同老式挂钟,齿轮咬合处总会随时间产生间隙。为进一步规范学校实验室建设与适用,从源头管控实验室和实验项目安全风险,确保教学科研活动安全有序开展,分级分类体系构建如同绘制实验室的"…...
春芽儿智能跳绳:以创新技术引领运动健康新潮流
在全球运动健康产业蓬勃发展的浪潮中,智能健身器材正成为连接科技与生活的重要纽带。据《中国体育用品产业发展报告》显示,2023年中国智能运动装备市场规模突破千亿元,其中跳绳类目因兼具大众普及性与技术升级空间,年均增速超30%。…...
Fast网络速度测试工具
目录 网站简介 功能特点 测试过程 为什么使用Fast 如果网络速度不达标 网站简介 Fast是一个由Netflix提供的网络速度测试工具,主要用来测试用户的互联网下载速度。它以其简洁的界面和快速的测试过程而受到用户的欢迎。 功能特点 下载速度测试:这是…...
java的文件输入输出流(FileInputStream、FileOutputStream、FileReader、FileWriter)
文章目录 文件输入输出流1 java I/O 流的原理流的分类 2 FileInputStream 文件字节输入流3 FileOutputStream 文件字节输出流4 使用文件字节输入输出流完成对文件的拷贝5 FileReader 文件字符输入流6 FileWriter 文件字符输出流 文件输入输出流 1 java I/O 流的原理 I/O 是 In…...
stm32week10
stm32学习 七.CAN 7.STM32 CAN外设 标识符过滤器: 每个过滤器的核心由两个32位寄存器组成:R1[31:0]和R2[31:0] FSCx:位宽设置,置0为16位,置1为32位 FBMx:模式设置,置0为屏蔽模式,…...
【UnityEditor扩展】如何在 Unity 中创建棱柱体(用作VR安全区检测),同时在编辑器插件中实现与撤销/恢复功能
Unity 编辑器扩展:3D 空间中绘制安全区棱柱体(含撤销/恢复/保存/读取) 在虚拟现实(VR)和增强现实(AR)开发中,安全区是保障用户安全的重要组成部分。通过精确控制用户活动范围&#…...
C++小游戏 合集
生化危机 #include<conio.h> #include<string.h> #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<time.h> #include<direct.h> int n,round,gold0; bool f1,f2,f3,deadfalse,PC_64Bit; char str[4]; struct n…...
常州 d??
回来了! 今天(?发出来的时候可能已经是第二天了吧 真的爆零了qaq 挺难的 最高分只有100 而且t2t3t4一个人都没拿分qaq 这段时间在写网络流 唉博客还是不要写太水了 抄一点网络流代码上来 EK不写了 dinic会就行了 板子题洛谷p3376 dini…...
juc并发包的常用类、线程安全实现方式、锁机制及 JVM 优化策略
juc并发包的常用类、线程安全实现方式、锁机制及 JVM 优化策略 1. juc包下的常用类:线程池:并发集合类:同步工具类:原子类: 2. 怎么保证多线程安全:3. Java中常用锁及使用场景:4. 线程同步的方法…...
学习日记-0407(Inductive Matrix Completion Using Graph Autoencoder)
论文阅读:Inductive Matrix Completion Using Graph Autoencoder 代码:swtheing/IMC-GAE 总而言之就是设计了一个不同评分下的邻接图,然后对每一个评分图T进行独立GNN编码。这个 GNN 编码器主要由三个组件构成:嵌入层、消息传递层…...
FPGA入门:状态机思想编程
一、状态机思想编写流水灯 1、状态机思想的概念 状态机思想是一种用于描述和处理具有多个状态以及状态之间转换关系的系统的思维方式。以下是对其主要概念、应用场景和优势的介绍: 主要概念 状态:指系统在某一时刻的状况或条件。例如,在一…...
【电路笔记】-切换触发器
切换触发器 文章目录 切换触发器1、概述2、切换触发器3、JK触发器转换为D型触发器4、D型触发器转换为切换触发器切换触发器是常用的时序逻辑电路,作为单个比特双稳态存储元件,在计数器、存储器设备中经常使用,或作为响应时钟脉冲的分频器。 1、概述 切换触发器是另一种基于…...
示例项目文档模板集:TaskBoard 任务管理系统
一套完整、高可读性、结构清晰的项目文档模板,适用于中小型软件项目的设计、开发、交接与展示全流程。 📌 项目概述文档(overview.md) 📂 项目名称:TaskBoard 🧭 项目简介 TaskBoard 是一款专为敏捷团队打造的任务管理系统,支持任务分配、状态追踪与协作沟通,帮…...
TF-IDF忽略词序问题思考
自从开始做自然语言处理的业务,TF-IDF就是使用很频繁的文本特征技术,他的优点很多,比如:容易理解,不需要训练,提取效果好,可以给予大规模数据使用,总之用的很顺手,但是人…...
代理模式的优缺点是什么?
什么是代理模式? 代理模式(Proxy Pattern)是一种结构型设计模式,它通过创建代理对象来控制对原始对象的访问。 这种模式在前端开发中广泛应用,特别是在需要控制对象访问、添加额外逻辑或优化性能的场景中。 核心…...
十分钟上手:Distilling the Knowledge in a Neural Network
概述:知识蒸馏是一种模型压缩技术,通过让轻量化的学生模型模仿复杂教师模型的输出概率分布,结合软目标和硬目标进行训练,从而将教师模型的泛化能力迁移至学生模型,实现小模型的高效部署而不显著降低性能。 硬目标&…...
百度的deepseek与硅基模型的差距。
问题: 已经下载速度8兆每秒,请问下载30G的文件需要多长时间? 关于这个问题。百度的回答如下: 30GB文件下载时间计算 理论计算(基于十进制单位): 单位换算 文件大小:3…...
OpenCV 图形API(18)用于执行两个矩阵(或数组)的逐元素减法操作函数sub()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 描述 计算两个矩阵之间的逐元素差值。 sub 函数计算两个矩阵之间的差值,要求这两个矩阵具有相同的尺寸和通道数: dst ( I ) src…...
布谷一对一直播源码android版环境配置流程及功能明细
一:举例布谷交友(一对一直播源码)搭建部署的基本环境说明 1. 首先安装Center OS 7.9系统,硬盘最低 40G 2. 安装宝塔环境 https://bt.cn(强烈推荐使用) 3. 安装环境 ● PHP 7.3(安装redis扩展…...
#MongoDB 快速上手
docker pull mongo docker run -d --name my-mongo -p 27017:27017 mongo docker exec -it my-mongo mongo 🚪进入 Mongo Shell 后的第一步 你进入后会看到类似提示符: >说明已经进入 Mongo Shell,现在就可以操作数据库了。 …...
docker相关命令
常用命令 #创建并启动 docker-compose up -d # 启动之后就可以通过浏览器访问了 #停止并删除 docker-compose down #重启 docker-compose restart #停止 docker-compose stop #启动 docker-compose startdocker search #搜索镜像(只搜索官方仓库的,官方仓库地址&am…...
浅谈进程与程序的区别
如大家所了解的,进程与程序是有区别的。 下面做了一个总结,供大家参考、学习: 1. 程序是指令的有序集合,是一个静态的概念,其本身没有任何运行的含义。进程是程序在 CPU 上的一次执行过程,是一个动态的概…...
redis 和 MongoDB都可以存储键值对,并且值可以是复杂json,用完整例子分别展示说明两者在存储json键值对上的使用对比
Redis 存储 JSON 键值对示例 存储操作: // 存储用户信息(键:user:1001,值:JSON对象) SET user:1001 {"name":"Alice", "age":30, "address":"New York&quo…...
基于chatgpt得到的生活成本计算
意大利的生活成本因城市而异,比如米兰和罗马相对较贵,而南部城市如那不勒斯或巴勒莫则便宜一些。下面是意大利大致的基本生活成本和费用明细(以欧元€为单位,2025年初数据为基础,具体数值可能随时间和汇率略有变化&…...
C和C++有什么区别?
C和C是两种不同的编程语言,虽然它们有许多相似之处,但也存在一些关键的区别。 C是一种过程化编程语言,专注于函数和流程控制,非常适合系统级编程。而 C是一种面向对象编程语言,支持类、对象和封装、继承、多态等特性。…...
力扣1338 === 贪心算法解决数组减半问题
目录 问题分析 方法思路:贪心算法 步骤分解 代码解释 复杂度分析 正确性证明 示例验证 边界情况 总结 要解决这个问题,我们需要找到最少需要删除的不同整数集合,使得剩余的元素个数不超过原数组的一半。以下是对该问题的详细分析和解…...
企业知识库如何搭建?应对高频咨询的AI自助问答系统
在客户服务和内部沟通中,“同样的问题被反复问”、“信息找不到”、“新员工上手慢”等现象屡见不鲜。为了提升企业运营效率,越来越多企业开始重视知识库建设,而“企业知识库如何搭建”也成为热门话题。 尤其在AI技术快速发展的今天…...
UE5学习笔记 FPS游戏制作44 统一UI大小 sizeBox
如果我们希望多个类似的UI大小一样,例如不同菜单的标题,可以使用sizeBox组件 我们在标题控件上,用sizeBox包裹所有子物体 然后指定他的最小宽高,或最大宽高 如果指定的是最小宽高,当子元素(如图片…...
SpringAOP新链浅析
前言 在复现CCSSSC软件攻防赛的时候发现需要打SpringAOP链子,于是跟着前人的文章自己动手调试了一下 参考了大佬的文章 https://gsbp0.github.io/post/springaop/#%E6%B5%81%E7%A8%8B https://mp.weixin.qq.com/s/oQ1mFohc332v8U1yA7RaMQ 正文 依赖于Spring-AO…...
高效网页截图利器:支持长截图、异步加载内容截图、API调用、Docker一键部署!
一、简介 利用playwright自动化工具,模拟浏览器打开网页,实现完整网页截图功能支持长截图,支持异步加载动态渲染内容截图支持docker一键部署支持API调用项目地址:https://github.com/luler/hello_screenshot 二、安装 提前安装好d…...
处理语言模型返回的响应
completion.choices[0].message.content 是在处理语言模型(如 OpenAI 的 GPT 系列)返回的响应时,用于 访问模型生成的文本内容的代码路径。为了更好地理解它,我们需要先了解语言模型响应的结构。 1. 响应的结构 当使用语言模型&…...
Go语言类型捕获及内存大小判断
代码如下: 类型捕获可使用:reflect.TypeOf(),fmt.Printf在的%T。 内存大小判断:len(),unsafe.Sizeof。 package mainimport ("fmt""unsafe""reflect" )func main(){var i , j 1, 2f…...
Java 大视界 -- Java 大数据机器学习模型在智能客服多轮对话系统中的优化策略(179)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
CAS号:288574-78-7,Zinpyr-1可用作PET传感器
试剂描述: Zinpyr-1(ZP-1)是一种具细胞膜渗透性的荧光探针,选择性检测锌离子(Zn2)(Kd 0.7 0.1 nM)。一旦与金属离子复合,诱发荧光信号产生。活细胞内,Zinpyr…...
【JVM调优实战指南:从案例分析到性能优化】
一、JVM 调优核心原则 JVM 调优旨在平衡系统的吞吐量、延迟和内存使用。在进行 JVM 调优时,我们可以遵循以下原则: 先优化代码:优先排查业务逻辑中的内存泄漏、对象滥用等问题。优化代码不仅能从根本上解决性能问题,还能减少对 J…...
交换机转发原理 和 DNS服务
1. 收到报文后,将其转换为二进制,并记录在缓存当中 2. 根据二进制中的源 MAC 地址,与接收报文的接口,记录对应关系,在 MAC 地址表中,每个动态表项 300S 老化时间。 3. 判断 如果目的 MAC 是组播或广…...
强化学习Q-Learning:DQN
强化学习Q-Learning/DQN 本文是一篇学习笔记,主要参考李宏毅老师的强化学习课程。 目前主流的强化学习方法大致可以分为 policy-based 和 value-based 两大类。之前我们介绍的 policy gradient 策略梯度,就是 policy-based 的方法。本文要介绍的 Q-learn…...
OpenCv(七)——模板匹配、打包、图像的旋转
目录 一、模板匹配 模板匹配原理 1、单模板之间的匹配 (1)读取并显示待匹配的图片和模板图片 (2)模板匹配并绘制匹配位置的外接矩形 (3)显示最终的效果 2、模板与多个对象匹配,仅匹配当前…...
汽车售后诊断 ODX 和 OTX 对比分析报告
一、引言 在汽车行业不断发展的当下,汽车售后诊断技术对于保障车辆性能、维护车主权益以及提升汽车品牌服务质量起着至关重要的作用。随着汽车电子化程度的不断提高,售后诊断所涉及的数据和流程愈发复杂,这就促使行业需要更加标准化、高效化…...
关于图卷积
深入理解神经网络中的图卷积 一、为什么需要图卷积(动机) 在图结构中,比如: 社交网络(节点是人,边是朋友关系)分子结构(节点是原子,边是化学键)知识图谱&a…...
Meta LLaMA 4:对抗 GPT-4o 与 Claude 的开源王牌
2025 年 4 月,Meta 正式发布了 LLaMA 4 系列的首批两款模型。 这两款模型模型分别是:LLaMA 4 Scout 与 LLaMA 4 Maverick,均采用了 专家混合架构(Mixture-of-Experts, MoE)。 据 Meta 表示,这是首次有 …...