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

Google 迎来「DeepSeek 时刻」:TurboQuant算法实现bit无损、×加速、×压缩、零预处理叭

从 UI 工程师到 AI 应用架构者13 年前我的工作是让按钮在 IE6 上对齐13 年后我用 fetch-event-source 订阅大模型的“思维流”用 OCR 解锁图片中的文字——前端正在成为 AI 产品的第一道体验防线。最近我基于 Vue 3 Vite TypeScript Ant Design Vue 开发了一款企业级 AI 多语翻译平台。它支持文本/图片/文档多模态输入大模型动态切换通义千问、DeepSeek 等行业领域定制医疗、法律、金融SSE 流式输出使用 fetch-event-source今天我将逐行拆解核心代码带你复现这一高价值 AI 应用的前端架构。一、技术选型为什么是 fetch-event-source虽然浏览器原生支持 EventSource但在现代前端工程中我们更倾向使用 microsoft/fetch-event-source基于 fetch天然支持 AbortController可取消请求支持 自定义 headers用于鉴权更好的 TypeScript 类型支持与 Axios/Vite 生态无缝集成安装npm install microsoft/fetch-event-source二、OCR 图片识别前端只管“传”和“显”用户上传一张英文菜单截图系统自动提取文字并翻译。前端不碰 OCR 算法但要管理全流程状态。真实代码实现来自 文本_r9uv.txt1. 系统配置加载含文件大小限制// src/views/translation/index.vueconst loadSystemPublicConfig async () {try {const response await findSystemPublicConfig({ configKey: upload_file_max_limit_mb });const config response.data[0];systemConfig.value.uploadFileMaxLimit parseInt(config.value) || 10; // 默认10MB} catch (error) {ElMessage.error(加载系统配置失败);}};2. 文件选择与校验const handleFileSelect (event: Event) {const input event.target as HTMLInputElement;if (input.files input.files.length 0) {const file input.files[0];const maxSize systemConfig.value.uploadFileMaxLimit * 1024 * 1024;if (file.size maxSize) {message.error(文件不能超过 ${systemConfig.value.uploadFileMaxLimit} MB);return;}currentFile.value file;startParsing(file);}};3. 调用 OCR 接口Ant Design Vue 组件反馈const handleObtainFileContentText async () {if (!currentFile.value) return;const formData new FormData();formData.append(file, currentFile.value);try {const response await obtainFileContentText(formData);if (response.success) {sourceLanguageText.value response.data.contentText;currentUploadStatus.value success;} else {currentUploadStatus.value failed;message.error(response.message || 解析失败);}} catch (error) {currentUploadStatus.value failed;message.error(网络错误请重试);}};关键设计状态分为 idle | parsing | success | failed对应四个 UI 区块避免用户困惑。三、大模型动态集成让选择“无感而智能”AI 模型不是越多越好而是要默认最优 动态适配。真实代码实现1. 加载模型与语种字典// 加载大模型列表const loadLargeModelDictionary async () {const response await findLargeModelDictionary({ keyword: });largeModelList.value response.data;if (largeModelList.value.length 0) {const firstModel largeModelList.value[0];selectedModelId.value firstModel.id;await loadLargeModelLanguageSupport(firstModel.id); // 关键联动语种}};// 加载某模型支持的语种const loadLargeModelLanguageSupport async (modelId: string) {const response await findLargeModelLanguageSupport({ largeModelId: modelId });languageSupportList.value response.data;};2. 行业领域初始化const loadIndustrySectorDictionary async () {const response await findIndustrySectorDictionary({ keyword: });industrySectorList.value response.data;// 业务逻辑若默认为 general则跳过if (defaultIndustrySector.value general industrySectorList.value.length 1) {defaultIndustrySector.value industrySectorList.value[1].code;}};3. Ant Design Vue 下拉框绑定v-model:valueselectedModelIdstylewidth: 100%changehandleModelChangev-foritem in largeModelList:keyitem.id:valueitem.id{{ item.name }}四、SSE 流式翻译用 fetch-event-source 实现“打字机效果”这是体验升级的核心我们使用 microsoft/fetch-event-source 替代原生 EventSource。完整流式翻译实现结合你的项目结构import { fetchEventSource } from microsoft/fetch-event-source;// 存储控制器用于取消请求let abortController: AbortController | null null;const handleTranslate async () {if (isTranslating.value) return;// 重置结果translationResult.value ;isTranslating.value true;// 创建 AbortControllerabortController new AbortController();const params new URLSearchParams({largeModelId: selectedModelId.value,sourceLangCode: selectedSourceLangCode.value,targetLangCode: selectedTargetLangCode.value,industrySector: defaultIndustrySector.value,enableDeepThinking: String(enableDeepThinking.value),content: sourceLanguageText.value.trim(),});try {await fetchEventSource(/api/v1/large-model/translate/stream${params}, {method: GET,headers: {Authorization: Bearer ${getToken()}, // 从 Pinia 或 localStorage 获取},signal: abortAssistant.signal, // 支持取消onmessage(event) {if (event.data) {translationResult.value event.data;nextTick(() {scrollToBottom();});}},onclose() {isTranslating.value false;},onerror(err) {console.error(SSE Error:, err);message.error(翻译服务异常请稍后重试);isTranslating.value false;abortController.abort(); // 主动关闭},});} catch (error) {if (abortController.signal.aborted) {console.log(翻译已取消);} else {message.error(连接失败);}isTranslating.value false;}};// 取消翻译const cancelTranslation () {if (abortController) {abortController.abort();isTranslating.value false;message.info(翻译已取消);}};自动滚动到底部const scrollToBottom () {const container document.querySelector(.translation-result-content);if (container) {container.scrollTop container.scrollHeight;}};为什么不用 WebSocketSSE 是 单向流服务端 → 客户端完美匹配“AI 生成文本”场景fetch-event-source 提供 Promise 风格 API更符合现代前端习惯五、工程化亮点13年经验的沉淀1. 响应式布局PC/Mobile 适配const updateMainHeight () {const mainEl document.querySelector(.main) as HTMLElement;if (!mainEl) return;if (isMobile.value) {mainEl.style.minHeight 100vh;mainEl.style.height auto;} else {mainEl.style.height 100vh;mainEl.style.minHeight auto;}};2. 内存清理防止泄漏onUnmounted(() {if (abortController) {abortController.abort();}window.removeEventListener(resize, checkIsMobile);});3. 防重复提交 加载状态typeprimary:loadingisTranslatingclickhandleTranslate:disabled!sourceLanguageText.trim(){{ isTranslating 翻译中... : 开始翻译 }}结语前端的价值在“AI 与人之间”这个项目让我确信AI 时代前端工程师的不可替代性在于“体验设计”。我们用 fetch-event-source 把冰冷的 token 流变成温暖的“打字机”我们用 Ant Design Vue 让复杂配置变得简单我们用状态机管理 OCR 的每一步不让用户迷失。鸥痹执蹲

相关文章:

Google 迎来「DeepSeek 时刻」:TurboQuant算法实现bit无损、×加速、×压缩、零预处理叭

从 UI 工程师到 AI 应用架构者 13 年前,我的工作是让按钮在 IE6 上对齐; 13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。 最近&#x…...

大模型的前生今世(二)

自注意力机制 序列:在深度学习中一般为带有时间先后顺序(拥有逻辑结构)的一段具有连续关系的数据(文本,语音等等) 注意力机制: 模拟人类视觉系统的聚焦能力,让模型能够在处理复杂…...

大卫小东(Sheldon)媳

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成,将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

比特币白皮书解读:一种点对点的电子现金系统

比特币白皮书解读:一种点对点的电子现金系统 2008年,一个名为中本聪的神秘人物发布了一篇题为《比特币:一种点对点的电子现金系统》的白皮书,彻底改变了人类对货币和金融体系的认知。这篇白皮书不仅提出了一种去中心化的数字货币…...

集成AI 的 Redis 客户端 Rudist发布新版了谔

Qt是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本笔记将重点介绍QSpinBox数值微调组件的常用方法及灵活应用。…...

高级java每日一道面试题-2025年10月14日-团队协作篇[LangChain4j]-如何设计代码审查标准?

设计代码审查标准 在大型项目尤其是使用 LangChain4j 构建 AI 应用的场景中,代码审查(Code Review)不仅是保证代码质量的手段,更是知识传递、规范落地和风险控制的关键环节。设计一套科学、可执行的代码审查标准,需要从…...

AI原生大数据架构迁移避坑指南(含奇点大会实测的6类典型失败场景、ROI测算模板与12周渐进式演进路线图)

第一章:AI原生大数据架构迁移避坑指南总览 2026奇点智能技术大会(https://ml-summit.org) AI原生大数据架构迁移不是简单的组件替换,而是数据范式、计算语义与工程治理的系统性重构。传统ETL流水线在面对LLM微调数据准备、向量实时索引、多模态特征联合…...

如何用Python实现剪映自动化:告别重复剪辑的3步解决方案

如何用Python实现剪映自动化:告别重复剪辑的3步解决方案 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 还在为每天重复的视频剪辑工作感到疲惫吗?想象一下&am…...

前端工程化的构建流程优化

前端工程化的构建流程优化 随着前端项目规模的不断扩大,构建流程的优化成为提升开发效率和性能的关键。前端工程化通过自动化工具和标准化流程,帮助开发者更高效地管理代码、资源和部署。随着项目复杂度增加,构建速度慢、打包体积过大等问题…...

终极指南:使用smcFanControl让您的Intel Mac保持凉爽高效

终极指南:使用smcFanControl让您的Intel Mac保持凉爽高效 【免费下载链接】smcFanControl Control the fans of every Intel Mac to make it run cooler 项目地址: https://gitcode.com/gh_mirrors/smc/smcFanControl 当您的Intel MacBook在运行大型应用时变…...

FLuke15B+与Fluke17B+的维修案例,适合硬件工 FLuke15B+与Fluke17B+的维修案例,适合硬件工程师。 包括15b、17b万用表原理图,电表开机无任何显示维修方法

FLuke15B与Fluke17B的维修案例,适合硬件工 FLuke15B与Fluke17B的维修案例,适合硬件工程师。 包括15b、17b万用表原理图,电表开机无任何显示维修方法,直流电压挡无法测量故障维修方法,交流档不能测量故障维修方法&#…...

仅限奇点大会注册开发者获取:LLM生产环境诊断工具包(含自动检测脚本+拓扑分析器+成本优化计算器)

第一章:2026奇点智能技术大会:LLM生产环境部署指南 2026奇点智能技术大会(https://ml-summit.org) 在真实生产环境中部署大语言模型,需兼顾推理延迟、显存效率、服务稳定性与安全合规性。2026奇点智能技术大会现场实测表明,超过7…...

从单体LLM API到生产级AI网格:一位CTO带队完成迁移的6周攻坚日志,含全部YAML配置模板

第一章:AI原生软件研发服务网格实践指南 2026奇点智能技术大会(https://ml-summit.org) AI原生软件不再仅是“运行AI模型的应用”,而是将模型推理、数据闭环、特征演化、可观测性与策略编排深度内嵌于服务生命周期中的系统级范式。服务网格作为云原生基…...

哥本哈士奇(aspnetx)固

简介 langchain中提供的chain链组件,能够帮助我门快速的实现各个组件的流水线式的调用,和模型的问答 Chain链的组成 根据查阅的资料,langchain的chain链结构如下: $$Input \rightarrow Prompt \rightarrow Model \rightarrow …...

别再让IDEA偷偷帮你import *了!手把手教你关闭Java代码的自动星号导入

彻底告别IDEA的星号导入:优化Java项目性能的隐藏技巧 你是否曾经在代码审查时,突然发现某个类里出现了import java.util.*这样的星号导入?或者更糟糕的是,在项目上线后才发现Jar包体积异常膨胀,经过一番排查才发现是星…...

AI日志平台建设不是工具选型,而是数据契约重构:一份被头部大厂封存3年的《日志Schema治理黄金12条》首次公开

第一章:AI原生软件研发日志分析平台建设 2026奇点智能技术大会(https://ml-summit.org) AI原生软件研发过程中,日志不再是被动记录的副产品,而是具备语义理解能力、可主动推理与反馈的核心数据资产。传统ELK栈难以应对高噪声、多模态、强上下…...

一物一码系统怎么搭建?从0到1的完整实施路径与避坑指南

在数字化转型浪潮中,一物一码已从"锦上添花"变为企业基础设施。但市面上方案繁杂,企业自建常陷入"技术选型迷茫"和"业务落地困难"。本文基于顶讯科技一物一码平台的底层架构逻辑,拆解系统搭建的完整路径&#…...

梅德生物技术快报|重组蛋白纯化工程化实现:Amuc_0119 蛋白 Ni‑NTA 亲和层析全参数方案

这里是卡梅德生物技术快报,本文面向生物工程、蛋白研发工程师,提供 Akk 菌 Amuc_0119重组蛋白纯化的完整工程化方案,包含实验参数、缓冲液体系、质控方法,可直接复现。在微生物功能蛋白研发中,重组蛋白纯化是决定蛋白质…...

Graphormer开源模型部署手册:Supervisor开机自启+日志监控全配置

Graphormer开源模型部署手册:Supervisor开机自启日志监控全配置 1. 模型概述 Graphormer是由微软研究院开发的纯Transformer架构图神经网络模型,专门用于分子属性预测任务。该模型通过创新的分子图表示方法,在OGB、PCQM4M等分子基准测试中大…...

大模型概述1

一个中文字符大约0.6个token,一个英文单词一般0.3个token,不同的大模型有自己不同的tokenize。令牌化的方法。FLOPs:算力的参数,多少此浮点型运算大模型分类:分类方式一:多模态的,多种形态的模型…...

汉鼎建设:用技术解码高端制造的“洁净密码”

在东莞这座“世界工厂”,从精密电子到新能源电池,无数高端制造企业的生产线,都藏在一个个“比手术室还干净”的净化车间里。而广东汉鼎建设集团,正是这些车间背后的“隐形建造者”——作为总部位于东莞东城、拥有装修与机电双一级…...

Cisco 18系列AP通过u-boot实现tftp镜像启动的详细步骤解析

1. 理解Cisco 18系列AP的u-boot启动机制 当你拿到一台Cisco 18系列AP设备时,可能会遇到需要从网络加载镜像进行启动的情况。这就像我们电脑坏了需要从U盘重装系统一样,只不过这里用的是tftp协议通过网络来传输系统镜像。u-boot就是这个过程中的关键角色&…...

从零到一:手把手教你用Labelme打造专属Mask数据集

1. 为什么你需要掌握Labelme标注工具 如果你正在做计算机视觉相关的项目,尤其是图像分割任务,那么高质量的数据集就是你的命根子。市面上现成的数据集往往无法完全匹配你的业务需求,这时候自己动手标注数据就成了必经之路。我刚开始接触图像分…...

LeetCode 热题 100 精讲 | 动态规划进阶篇:最大子数组和 · 分割等和子集 · 最长公共子序列 · 打家劫舍 III

一、53. 最大子数组和 🔗 题目链接 LeetCode 53. 最大子数组和 📝 题目描述 给你一个整数数组 nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输…...

保姆级教程:基于ROS Melodic和MoveIt!,手把手搭建双RM65机械臂协同控制系统

基于ROS Melodic和MoveIt!的双RM65机械臂协同控制系统实战指南 在工业自动化与智能制造领域,双机械臂协同作业正成为提升生产效率的关键技术。想象一下,两台机械臂如同默契的舞者,在装配线上精准配合,完成单台设备难以企及的复杂任…...

SITS2026未公开PPT泄露分析:7个被主流框架忽略的Attention计算冗余点(附Patch代码)

第一章:SITS2026深度解读:大模型推理优化技术 2026奇点智能技术大会(https://ml-summit.org) SITS2026首次系统性地公布了面向千亿参数级大语言模型的端到端推理优化框架——SITS-Optima,其核心突破在于将动态稀疏注意力、量化感知编译&…...

为什么你需要PS3GameUpdateDownloader?3步掌握索尼官方游戏更新下载

为什么你需要PS3GameUpdateDownloader?3步掌握索尼官方游戏更新下载 【免费下载链接】PS3GameUpdateDownloader downloader for ps3 game updates (.pkg files) from official sony servers written in python 项目地址: https://gitcode.com/gh_mirrors/ps/PS3Ga…...

TVA如何重塑3C产品质量检测新范式(5)

——领导者的角色:选择比努力更重要我们正站在制造业质量管理的转折点。过去,质量的提升是线性、渐进、有限的;未来,借助AI智能体视觉检测(TVA)等人工智能技术,质量的提升可以是非线性、跨越式、…...

Kubernetes Pod 日志持久化方案

Kubernetes Pod日志持久化方案解析 在云原生架构中,Kubernetes已成为容器编排的事实标准,但Pod的默认日志管理方式存在易丢失、难追溯的问题。日志作为故障排查、性能分析的重要依据,其持久化存储成为企业级应用的关键需求。本文将深入探讨几…...

保姆级教程:用Android Studio 2024.3.2 + ncnn,把YOLOv11模型部署到你的安卓手机上

从零开始:用Android Studio与ncnn实现YOLOv11安卓端高效部署实战 当你第一次听说能在手机上运行目标检测模型时,是不是既兴奋又忐忑?作为计算机视觉领域的标杆算法,YOLO系列以其实时性著称,而最新发布的YOLOv11更是将精…...