⚠️温馨提示: 文档中包含【1个】暂不支持的区域,请通过搜索关键字【暂不支持的文档区域】进行后续处理
过往分享了很多进阶知识与架构内容,课程文档列表如下,配套对应 课程文档和配套视频回放找咨询老师 领取~ 希望对你的技术成长有帮助!
【飞书文档】NestJS 从入门到进阶全栈开发实战,字节专家带你突破前端开发能力边界
【飞书文档】前端性能优化核心点全面解析,高级前端专家传授涨薪高分面能力
【飞书文档】飞书低代码物料体系与编排引擎设计,字节前端专家在线评审实现工程重难点 低代码核心,高薪面试技巧补益
【飞书文档】企业级低代码平台核心需求与方案设计,字节前端专家带你精研产品业务与工程架构 低代码业务核心必看
【飞书文档】vite、rollup、tsup、tsc 打包构建工具详解,字节前端专家带你深入多业务构建方案
【飞书文档】基于 pnpm monorepo 大厂项目工程化设计,字节架构师传授多场景项目架构要诀
【飞书文档】前端单测、集成测试与端到端测试方案全面解析,字节大佬分享字节系产品分场景测试最佳实践
【飞书文档】css、cssinjs、tailwindcss 核心用法与进阶,字节系产品样式方案评审与最佳实践
【飞书文档】Typescript 进阶与高分技巧,字节面试官细数常问面试题与优秀开源项目最佳实践
【飞书文档】Docker 入门与服务编排进阶,字节前端专家带你光速掌握 CI/CD 运维技能
【飞书文档】ESLint 前端编码规范化与原理剖析,特邀字节大佬分享团队代码质量把控细节
【飞书文档】Notion 与飞书文档协同方案精析,字节前端专家传授百万年薪架构师级项目重难点 飞书文档编辑器原理续,进阶
【飞书文档】Ant Design 组件库架构设计与开发实践,高级前端专家带你掌握基建面试技巧 组件库与团队基建面试必看
【飞书文档】Taro、Tauri 多端开发实践与原理剖析,《Taro 多端开发权威指南》作者带你悟透多端框架原理 多端开发涨薪必学
【飞书文档】Nest 服务端开发与原理深度剖析,《NestJS 实战》作者带你领略框架设计之美 全栈进阶,企业级框架
【飞书文档】Babel 与编译原理详解,字节高级前端专家带你从零实现飞书表格公式执行器
【飞书文档】服务端渲染(SSR)与前后端同构技术原理揭秘,字节前端专家带你光速进阶全栈 进阶必学
【飞书文档】大数据可视化引擎与数字孪生平台设计浅析,字节架构师:一起来剖析 DataWind 数据洞察平台架构之道
【飞书文档】飞书文档协同编辑器技术揭秘,特邀字节架构师分享富文本编辑器方案细节
【飞书文档】前端性能与异常监控平台全链路设计与实践,字节架构师:掌握这整套拿个 40K+ 不在话下吧
【飞书文档】字节面试专场——中厂在职学员冲击大厂 30K+,看看面试官如何评价 大厂模拟面试,问得很深慎看
【飞书文档】冲击中大厂筹备与涨薪突击最优方案,特邀字节面试官带你体验大厂面试全流程
【飞书文档】Webpack 原理深度解读与面试专项突击,字节面试官带你手撕难缠打包构建面试原理题 工程化与构建原理深入
【飞书文档】脚手架/CLI 工具原理与开发实践,特邀字节前端专家带你体悟大厂团队基建与研发工作流 团队基建必看
【飞书文档】Vite 构建过程与源码深度剖析,你怎么也想不到一线大厂工程化构建面试会问这么深!
【飞书文档】Vue3 源码深度剖析,字节面试官教你轻松拿捏高级前端专家面试框架原理题
【飞书文档】React18 源码深度剖析,字节面试官教你轻松拿捏高级前端专家面试框架原理题
【飞书文档】前端破局 AI 应用开发,特邀字节大佬分享字节系 AI 场景落地应用与 AI 引擎编排流程 探索前端新方向同学福音
【飞书文档】高级前端专家如何做性能优化?特邀字节大佬细数飞书应用优化细节(二)【内部培训版】
【飞书文档】小小微前端,轻松拿捏,特邀字节大佬开讲微前端架构与源码剖析【内部培训版】 35K+ 同学必看
【飞书文档】高级前端专家如何做项目架构与工程化设计? 特邀字节大佬细数字节开源项目架构细节【超详细内培版】
【飞书文档】高级前端专家如何做性能优化?特邀字节大佬细数飞书应用优化细节(一)【超详细内培版】
【飞书文档】面试被算法干吐了?字节大佬带你突破极限,冲击 30K+ 必掌握算法与 WebAssembly 技术 冲刺年包 50W+ 同学必看
【飞书文档】备战金九银十,进阶大前端,涨薪全突破! 跳槽涨薪需求同学必看
- 【 初中级 】面试官:你有做过 AI 相关的业务吗?说说你对于生成式 AI 应用引擎的整体理解和业务流程
- 【 中高级 】面试官:作为前端开发者,说说你对智能体与生成式 AI 应用引擎业务的理解,这方面的业务怎样具体落地?
- 【 专家级 】面试官:我们现在需要开发一个类似 coze 的企业内部 AI 开发平台,你能详细说说整体架构设计和核心点吗?
【 初中级 】你有做过 AI 相关的业务吗?说说你对于生成式 AI 应用引擎的整体理解和业务流程 |
- 了解 LLM(大规模语言模型) 的基础概念和原理。
- 掌握如何将 生成式 AI 技术集成到前端应用中。
- 理解 RAG(Retrieval-Augmented Generation) 、 Prompt 设计和 Agent 的使用方法。
- 学习如何开发和部署基于 LLM 的生成式 AI 平台和应用。
第一部分:LLM 背景与基本概念
什么是 LLM?
- 定义 :大规模语言模型(LLM)是基于 Transformer 架构训练的 AI 模型,能够理解和生成自然语言。
- 发展历程 :从早期的统计方法(如 n-gram 模型)到深度学习驱动的变革,尤其是 GPT 系列 和 BERT 等模型的出现,极大地提升了自然语言处理的能力。
- 工作原理 :LLM 基于大规模语料库进行无监督预训练,通过自注意力机制处理文本中的长距离依赖关系,学习语言的语法、语义、上下文信息。
LLM 的架构和组件
Transformer 架构 :LLM 的核心,基于自注意力机制(Self-Attention),能高效地处理长文本并捕捉全局上下文。
预训练与微调 :LLM 先通过大量未标注的文本数据进行预训练,再通过具体任务进行微调,使模型能够适应特定应用(例如文本生成、问答系统、对话生成等)。
常见的 LLM :
- GPT 系列 (OpenAI 的 GPT-3、GPT-4)
- BERT 和 T5 (用于特定任务,如问答、文本分类)
- LLama (Meta 的开源大模型)
LLM 的优势与挑战
优势 :
- 能处理复杂的语言任务,如文本生成、翻译、对话等。
- 可以在多种应用中提供即插即用的能力。
挑战 :
- 计算资源需求大 :训练 LLM 需要巨大的计算资源。
- 模型可解释性差 :难以理解模型为什么给出某个答案。
- 伦理和偏见 :训练数据中的偏见可能会影响模型的输出。
生成式 AI 和其应用平台
生成式 AI 的概述
生成式 AI 是能够根据输入生成新的数据的技术,可以生成文本、图像、音频等多种形式的内容。
应用场景 :
- 文本生成 :如自动写作、文章摘要、对话生成等。
- 代码生成 :自动生成代码片段,提升开发效率。
- 个性化推荐 :根据用户行为生成个性化的内容。
RAG(Retrieval-Augmented Generation)
RAG 结合了检索和生成的技术。在生成模型中融入信息检索的能力,增强了生成结果的准确性和多样性。
工作原理 :RAG 系统首先通过检索模型获取与输入相关的信息,然后将这些信息传递给生成模型,以生成更加丰富和相关的回答。
实际应用 :
- 智能问答系统 :利用 RAG 从文档库中检索信息并生成回答。
- 知识库管理 :为企业或开发者提供通过查询生成定制化内容的能力。
Prompt 设计
Prompt 是输入给语言模型的文本提示,通过设计有效的 Prompt,可以引导模型生成符合预期的结果。
Prompt 设计技巧 :
- 使用简洁、明确的语言来描述任务。
- 尝试不同的提示结构,找到最佳的表达方式。
- 考虑对话的上下文,避免模型产生不相关或模糊的响应。
Agent(热点)
Agent 是一种自动化的智能体,能够执行任务、查询外部资源并与用户交互。
工作原理 :基于生成式 AI 和 RAG,Agent 能够分析用户请求,生成适当的响应,甚至在外部 API 上执行操作。
应用示例 :
- 智能客服 :自动处理用户的查询并生成响应。
- 自动化任务执行 :根据指令调用外部 API 来完成任务,如预订机票、查询天气等。
前端如何集成 LLM 和生成式 AI
与后端 API 集成
API 接口 :前端开发者可以通过 RESTful API 或 GraphQL 接口与后端生成模型进行交互,获取模型生成的内容或响应。
常见的 API :
- OpenAI API :提供 GPT-3、GPT-4 的接口,用于生成文本、问答、代码等。
- Hugging Face API :提供多种预训练的 LLM 和任务模型,适用于多种自然语言处理任务。
前端交互设计
UI/UX 设计 :设计一个直观的用户界面,使得用户与生成式 AI 系统的交互更加自然和高效。例如,聊天机器人界面、代码生成器、智能搜索框等。
与 AI 模型的互动 :
- 实时生成 :前端可以在用户输入时调用模型生成响应,并实时展示。
- 提示词优化 :前端可以提供预设的提示词,帮助用户高效地与 AI 模型进行交互。
生成式 AI 应用引擎
字节扣子与 Dify 平台
- 字节扣子 :基于 LLM 和生成式 AI,提供多种业务模型,如智能客服、内容生成等。
- Dify :集成了 RAG、Prompt 设计、Agent 等技术的应用平台,可以帮助开发者快速构建基于生成式 AI 的应用。
实际项目实战
- 项目 1 :设计一个基于 GPT 的聊天机器人应用。
- 项目 2 :构建一个智能问答系统,结合 RAG 技术,支持从知识库中检索信息并生成回答。
私有化生成式 AI 应用引擎实战
私有化生成式 AI 应用引擎,最重要的是关注模型部署、引擎部署、调用。
我们此处选择使用 Ollama 部署 Deepseek,然后 Docker 部署 Dify,再在 Dify 中接入 Ollama 模型,然后使用 Dify 搭建 AI 应用完整步骤。
Ollama 部署 Deepseek
安装 Ollama
- 首先,确保您已经安装了 Ollama。如果尚未安装,可以访问 Ollama 官方网站 进行下载安装。
拉取 deepseek-r1 镜像
- 确保您已通过 Docker 或其他容器管理工具拉取到
deepseek-r1:latest镜像。如果您还没有这个镜像,您可以使用以下命令来获取它:
- 确保您已通过 Docker 或其他容器管理工具拉取到
docker pull deepseek-r1:latest
启动 Ollama 环境
- 启动 Ollama 环境,确保它正常运行。可以通过以下命令来启动 Ollama:
ollama start
加载 deepseek-r1 模型
- 将
deepseek-r1:latest镜像导入 Ollama 中。如果模型在本地已有,您可以通过以下命令来加载:
- 将
ollama model load deepseek-r1:latest
验证模型是否已成功加载
- 确认模型已加载成功。您可以通过以下命令来查看已加载的模型:
ollama model list
运行模型
- 使用以下命令运行
deepseek-r1:latest模型进行推理:
- 使用以下命令运行
ollama run deepseek-r1:latest
配置与优化
- 根据需要,您可以进一步优化模型的运行,修改相关配置以适应您的计算环境或任务需求。
停止和卸载模型
- 如果需要停止或卸载模型,可以使用以下命令:
ollama stop deepseek-r1:latest
Docker 部署 Dify
在 Docker 环境中部署 Dify 模型,您可以按照以下步骤进行操作:
安装 Docker
- 确保您已经在服务器或本地机器上安装了 Docker。如果尚未安装,可以访问 Docker 官方网站 获取安装指南。
下载 Dify
配置环境变量
cd dify
cd docker
cp .env.example .env
- docker compose 启动
docker compose up -d
Dify 初始化配置
- 打开浏览器访问一下地址: http://localhost/install
添加 Ollama 模型
搭建工作流简单实战
安装 ChatBox 或 AnythingLLM 等(可选)
【 中高级 】作为前端开发者,说说你对智能体与生成式 AI 应用引擎业务的理解,这方面的业务怎样具体落地? |
- 通过字节扣子为例,深入讲解生成式 AI 应用引擎的核心功能。
- 理解生成式 AI 引擎的核心组件,如插件、工作流、触发器、知识库、记忆和用户输入等。
- 掌握如何在前端开发中实现和集成这些功能。
- 提供具体的业务流程和方案设计,帮助开发者落地生成式 AI 技术。
生成式 AI 应用引擎概述
生成式 AI 应用引擎是一种基于大规模语言模型(LLM)和智能体(Agent)的系统,能够帮助用户生成、分析、执行各种任务和内容。其核心目标是通过 AI 技术自动化繁琐任务、提升效率、并提供个性化的服务。
生成式 AI 引擎的工作原理
生成式 AI 引擎基于自然语言处理技术,利用深度学习模型(如 GPT、BERT)来理解和生成自然语言。通过输入的提示词,生成式 AI 引擎能够生成文本、回答问题、执行指令等任务。
字节扣子作为生成式 AI 应用引擎的核心结构
字节扣子(BytePlus)是字节跳动推出的一款 AI 平台,具有以下几个关键功能:
- 插件(Plugins) :通过插件扩展模型的功能,能够与外部系统进行集成。
- 工作流(Workflows) :一系列可执行任务的自动化流程。
- 触发器(Triggers) :根据用户的输入或系统状态自动触发某些操作。
- 知识库(Knowledge Base) :存储并管理知识,使得生成式 AI 引擎能够根据不同的查询提供准确答案。
- 记忆(Memory) :保存用户的历史交互和上下文,以便生成个性化和更具上下文相关性的响应。
- 用户输入(User Input) :前端通过用户输入收集信息,并向生成式 AI 引擎发送请求。
生成式 AI 应用引擎的核心功能模块
我们将通过字节扣子的主要功能,逐一讲解生成式 AI 应用引擎的核心模块。
插件(Plugins)
插件是指生成式 AI 引擎中可扩展的功能模块,它可以与外部系统或服务进行集成,增强引擎的功能性。插件通过与第三方 API 或数据库的交互,可以使生成式 AI 引擎具有更多应用场景。
常见插件类型 :
- 外部 API 插件 :如天气查询、语音识别、支付接口等。
- 自定义任务插件 :根据企业需求定制,执行特定任务,如自动化生成报告、数据分析等。
应用示例 :通过与外部搜索引擎插件结合,生成式 AI 引擎可以检索互联网信息,实时提供答案。
工作流(Workflows)
工作流是生成式 AI 引擎中非常核心的模块,它使得不同的任务可以根据用户输入和系统条件自动化地执行。工作流可以由多个节点组成,每个节点承担不同的任务。以下是各个节点的详细说明:
开始节点(Start)
工作流的起点,通常由外部触发或用户输入启动工作流。例如,当用户在前端提交请求时,工作流开始执行。
典型应用 :
- 用户输入查询内容,工作流开始。
- 定时触发的自动任务工作流,如每日报告生成。
模型节点(Model)
在工作流中,模型节点负责调用生成式 AI 模型进行语言生成、文本理解等任务。通过模型节点,可以实现自然语言处理、问题回答、文本生成等功能。
典型应用 :
- 自然语言生成 :生成文章、回复用户问题。
- 自然语言理解 :理解用户意图,并生成相应的操作指令。
插件节点(Plugins)
插件节点负责将外部插件集成进工作流,调用外部服务进行数据获取、任务执行等。插件可以是API调用、数据库查询、支付接口等。
典型应用 :
- 第三方服务调用 :如天气查询、股票数据获取等。
- 数据集成 :从外部系统(如CRM、ERP)获取数据并用于工作流处理。
子工作流节点(Sub-workflows)
子工作流是工作流中的嵌套任务,它们是另一个工作流的调用。在复杂的工作流中,子工作流使得任务的结构更加清晰和模块化。
典型应用 :
- 分步执行 :当工作流的任务分成多个步骤时,可以使用子工作流来将这些步骤独立出来,使主工作流更简洁。
- 复用 :将通用的子工作流模块多次调用,避免重复设计。
业务逻辑节点(Business Logic)
业务逻辑节点负责执行实际的计算、判断、循环等任务。它可以使用编程语言编写的自定义代码,或者基于流程设计的规则来执行任务。
典型应用 :
- 条件判断 :根据不同的输入数据执行不同的任务路径(例如,用户选择“支付”按钮后,执行支付流程;若选择“查看账单”,则执行查询账单的任务)。
- 循环操作 :处理需要循环执行的任务,例如处理多条数据或多次查询。
- 复杂算法 :例如推荐系统中的相似度计算,或者基于历史数据的分析等。
输入节点(Input)
输入节点用于收集用户输入的数据或外部数据。这些数据将作为后续工作流中其他节点的基础。
典型应用 :
- 用户在界面上输入数据(如文本、选择框、日期选择器等)。
- 获取外部系统数据,如调用数据库获取客户信息。
输出节点(Output)
输出节点用于将工作流的最终结果返回给用户或其他系统。输出可以是文本、图像、文件等多种形式。
典型应用 :
- 文本输出 :展示生成的文本内容(如生成的报告、回复)。
- 文件输出 :下载或发送电子邮件。
- 图像输出 :生成并展示用户请求的图像或图表。
绘画节点(Drawing)
绘画节点用于生成图像、图表或其他可视化内容。在一些需要图像创作或数据可视化的应用中,这一节点至关重要。
典型应用 :
- 图像生成 :用户要求生成某个图像,如根据描述生成插画。
- 图表绘制 :从数据中生成图表、仪表盘等可视化内容。
知识库节点(Knowledge Base)
知识库节点用于从数据库或预先存储的知识库中检索信息。它可以用于回答用户的查询,或作为工作流中的一个数据源。
典型应用 :
- 问答系统 :根据用户的问题从知识库中检索答案。
- 信息查询 :如查询产品详情、库存情况、客户记录等。
图像处理节点(Image Processing)
图像处理节点用于处理、编辑和优化图像数据。对于一些生成式 AI 应用,图像处理是一个重要的功能,如图像修复、风格转换、图像生成等。
典型应用 :
- 图像生成 :根据文本描述生成图像(如 DALL·E)。
- 图像编辑 :对图像进行裁剪、调整大小、加滤镜等操作。
触发器(Triggers)
触发器是根据用户输入或系统事件自动启动的操作。触发器使得生成式 AI 引擎具有反应性和自动化能力。
常见触发器类型 :
- 基于用户输入的触发器 :如用户发送特定命令或问题时,触发模型进行回答。
- 基于时间的触发器 :定时任务,如每天自动生成报告。
- 基于外部事件的触发器 :如库存变动、支付成功等。
应用示例 :用户输入“天气查询”,系统自动触发查询天气的任务,并返回结果。
前端集成 :前端开发者可以通过事件监听来实现触发器。当用户输入信息时,自动调用后台生成模型进行处理,并展示结果。
知识库(Knowledge Base)
知识库是一个存储和管理结构化与非结构化信息的系统,它为生成式 AI 提供了丰富的上下文背景。通过知识库,AI 引擎能够更准确地生成有针对性的回答。
- 知识库构建 :通过收集公司文档、产品手册、常见问题解答等,构建一个易于检索的知识库。
- 智能查询 :用户输入查询时,生成式 AI 会从知识库中检索相关信息,并生成回答。
应用示例 :通过集成公司内部知识库,生成式 AI 引擎能够解答员工关于产品规格、公司政策等的常见问题。
前端集成 :前端开发者可以设计搜索框或问答界面,用户通过输入查询,前端将请求发送给后端,后端从知识库中检索信息并返回。
记忆(Memory)
记忆功能允许生成式 AI 引擎记住用户的历史交互和偏好,以便在后续的交互中提供个性化的响应。
- 动态记忆 :随着时间推移,生成式 AI 引擎会逐步更新和丰富用户的历史记录。
- 个性化推荐 :根据用户历史输入,生成式 AI 可以调整其输出,以更好地符合用户的需求。
应用示例 :当用户多次询问同一问题时,生成式 AI 会记住用户的偏好,提供更加准确或定制化的答案。
前端集成 :前端开发者可以在用户登录后,加载与用户相关的历史数据,展示个性化内容。
用户输入(User Input)
用户输入是生成式 AI 引擎与用户交互的起点。通过前端界面收集用户输入,AI 引擎根据输入生成相应的响应。
前端实现 :前端开发者设计交互界面,允许用户输入信息(如文本框、语音输入等),并通过 API 将输入发送至后台的生成式 AI 引擎进行处理。
第三部分:生成式 AI 应用引擎业务流程
业务流程
- 用户输入 :用户在前端界面中输入指令、问题或请求。
- 触发器激活 :根据用户输入或其他条件,触发器自动激活相关的操作。
- 插件调用 :如果需要外部信息或服务,系统调用插件获取数据或执行任务。
- 工作流执行 :根据系统设计,执行一系列自动化任务,并产生反馈。
- 知识库查询 :若有查询需求,生成式 AI 引擎从知识库中提取信息。
- 生成回应 :生成式 AI 引擎根据上述输入和信息生成响应,并返回给用户。
结果调用与交互
- 前端开发者负责设计用户交互界面,收集用户输入并展示 AI 生成的结果。
- 后端负责与生成式 AI 引擎进行通信,处理输入、调用插件、执行工作流,并从知识库中提取信息。
【 专家级 】我们现在需要开发一个类似字节 coze 的企业内部 AI 开发平台,你能详细说说整体架构设计和核心点吗? |
- 深入理解 LLM (大规模语言模型)、 字节扣子 和 Dify 等平台的核心业务。
- 学习 前端流程引擎编辑器 的设计和实现,使用 @xyflow/react 创建图形化工作流编辑器。
- 探索 工作流节点 、 节点抽象 、 执行沙箱 等技术细节,结合实际开发场景。
LLM、字节扣子和 Dify 核心业务解析
LLM(大规模语言模型)概述
- 定义 :大规模语言模型是基于大数据训练的深度学习模型,能够理解和生成自然语言。
- 应用 :文本生成、对话系统、自动摘要等。
字节扣子与 Dify 核心业务
- 字节扣子 :字节跳动的生成式 AI 平台,支持 插件系统 、 工作流引擎 、 知识库集成 和 任务调度 。
- Dify :类似平台,专注于 Prompt 管理 和 多模态数据处理 ,支持自动化工作流。
技术架构与工作流设计
模型接入
- 接入方式 :统一接口(如 RESTful API、gRPC),高效地将不同的模型服务集成到平台中。
- 技术实现 :微服务架构、负载均衡、容器化管理。
节点抽象与工作流设计
- 节点设计 :工作流中的每个节点都代表一个操作,如调用模型、执行业务逻辑、插件调用等。
- 动态执行 :根据输入的任务条件,选择并执行不同的节点。
- 并发执行 :支持多任务并行执行,提升工作流效率。
执行沙箱(Execution Sandbox)
功能 :保证任务在隔离环境中执行,避免影响主系统。
技术实现 :
- 容器化 :使用 Docker 创建独立的执行环境。
- 资源限制与错误捕获 :确保每个任务在沙箱中执行并捕获异常,记录日志。
前端流程引擎编辑器实现
流程引擎编辑器的核心设计
流程引擎编辑器 是一个图形化工具,允许开发者通过拖拽、配置节点,快速设计和管理工作流。我们将使用 @xyflow/react 来构建这一编辑器。
@xyflow/react :一个用于构建流程引擎的 React 库,支持流程图的可视化设计和实时编辑。
主要特点 :
- 可视化工作流设计:支持图形化编辑工作流,节点间的连接、拖拽、删除等。
- 事件驱动:允许开发者通过配置事件触发流程节点的执行。
- 拓展性:支持自定义节点,开发者可以根据需求创建特定类型的节点。
工作流节点设计
在 @xyflow/react 中,节点是工作流的基本构件,设计一个节点涉及以下几个关键部分:
节点类型 :
- 模型节点 :调用外部模型服务进行处理。
- 插件节点 :执行外部 API 或数据库查询。
- 业务逻辑节点 :实现条件判断、循环或计算。
- 子工作流节点 :嵌套调用其他工作流,便于模块化管理。
节点属性 :
- 每个节点需要定义输入输出端口,用于与其他节点进行连接。
- 节点配置项,如模型名称、插件信息等,根据需求动态配置。
import { Node } from '@xyflow/react';
const ModelNode = () => {
const onSubmit = (data) => {
// 模型调用逻辑
console.log("调用模型处理数据:", data);
};
return (
<Node
id="modelNode"
label="模型调用节点"
onSubmit={onSubmit}
>
<input
type="text"
placeholder="请输入数据"
onChange={(e) => onSubmit(e.target.value)}
/>
</Node>
);
};
export default ModelNode;
此代码展示了一个基本的模型节点实现,其中 onSubmit 方法调用外部的生成模型来处理用户输入。
节点抽象与图形化设计
在图形化编辑器中,开发者可以拖拽节点到工作区,并通过连接线将节点连接起来,形成工作流。每个节点可以包含一个输入框、按钮或自定义的 UI 元素,用户通过与这些元素交互来配置节点属性。
import { FlowchartEditor } from '@xyflow/react';
const WorkflowEditor = () => {
const handleSave = (workflow) => {
// 保存工作流配置
console.log("保存的工作流配置", workflow);
};
return (
<FlowchartEditor
nodes={[
{ id: 'start', label: '开始节点' },
{ id: 'end', label: '结束节点' },
// 添加自定义节点
]}
onSave={handleSave}
/>
);
};
export default WorkflowEditor;
此代码创建了一个简单的工作流编辑器,支持保存工作流配置。
执行沙箱与节点执行
执行沙箱 是确保工作流节点在受控环境中执行的关键技术,尤其在调用外部模型和执行复杂任务时。结合 @xyflow/react 和 执行沙箱 ,我们可以通过以下方式实现:
- 节点执行沙箱 :每个节点在执行时,都可以在沙箱环境中运行,避免影响主系统的稳定性。
- 容器化沙箱 :使用 Docker 容器对节点执行进行隔离。每个工作流节点可以被配置成在单独的 Docker 容器中运行,从而确保任务之间的隔离。
import { Node } from '@xyflow/react';
const ExecutionSandboxNode = () => {
const onSubmit = (data) => {
// 在沙箱中执行代码(例如通过 Docker 容器)
console.log("任务执行中,数据:", data);
// 假设执行容器代码,返回结果
const result = executeInSandbox(data);
console.log("沙箱执行结果:", result);
};
return (
<Node
id="sandboxNode"
label="沙箱执行节点"
onSubmit={onSubmit}
>
<input
type="text"
placeholder="输入数据执行"
onChange={(e) => onSubmit(e.target.value)}
/>
</Node>
);
};
const executeInSandbox = (data) => {
// 假设这里执行 Docker 容器代码
return
执行结果:${data}
;
};
export default ExecutionSandboxNode;
总结与实际项目应用
项目实践
- 模型接入 :通过统一的 API 接口将 LLM 模型接入平台,支持多模型切换和动态调用。
- 图形化工作流编辑器 :基于 @xyflow/react 创建可视化工作流设计器,用户可以通过拖拽操作配置工作流节点。
- 执行沙箱 :确保每个工作流节点在独立的沙箱环境中执行,避免外部调用影响系统稳定性。
专家简历优化指南(目标 35K+ )
核心技能
熟练掌握 HTML、CSS、JavaScript、Typescript 以及 OOP、FP、 AOP 等设计思想
掌握样式体系构建与落地,对 css 预编译、css in js、module css 以及 utility-first CSS 有深入研究,并从零改良过样式体系以支持 SSR、SSG
熟悉 React、Vue 相关技术栈,熟悉 React、Vue 及相关技术框架的实现原理
掌握构建工具 Webpack、Vite 等,掌握编译工具 Babel,并深入理解其原理,并参与 Rspack 构建
丰富的数据可视化经验,熟悉 Canvas、svg 开发范式,理解 Echarts、Antv 原理,能根据业务需求基于 d3、zrender 开发自定义渲染引擎
丰富的跨端开发经验,熟练使用 Taro、Flutter、React-Native 开发跨端应用,对构建 hybird App 有丰富经验,深入理解跨端开发编译原理
基于 Node.js 开发脚手架、打包构建优化工具及中间件服务
掌握常用设计模式、算法与安全知识,追求开发高质量、高可维护性代码,追求极致产品体验
团队管理经验,并在项目架构设计与性能优化方面具有丰富经验
算法与编程技术
- 精通各种算法题的分类及解决方法,包括排序与查找、数据结构、动态规划、贪心算法、回溯算法、分治算法、图论算法、数学算法等。
- 重点掌握动态规划的基本概念、解题步骤和经典题目。
3D 数字孪生平台开发经验
- 熟练使用 WebGL 和 WebAssembly 技术,开发高效的 3D 渲染引擎。
- 精通正射影像和倾斜摄影技术,具备 Tile 和模型(包括白膜和精模)的处理经验,能够使用 Blender 进行模型制作。
- 熟悉材质、光效和粒子系统的实现与优化。
全面性能优化能力
- 具备打包构建优化经验,熟练使用 Webpack 进行模块打包,掌握 chunk、treeshaking、happypack、cache-loader 等优化技巧,并使用 Webpack Module Federation 进行模块联邦管理。
- 精通资源优化,能够有效进行图片、字体压缩,管理请求队列,并通过 OSS 和 CDN 提升资源加载速度。
- 具有应用性能优化经验,包括数据结构优化和应用模块更新。
- 深入了解缓存机制,熟悉强缓存(Expiration、Cache-Control)、协商缓存(Etag)和策略缓存(Service-Worker)的配置与管理。
项目重难点
这个环节至关重要,很多同学不重视,简历随便写一写就开始投递了,结果投出去几百份可能一家公司面试都没有,结果就在怀疑前端行情出问题了
STAR 法则:
- 遇到了什么问题 question,需求
- 怎么评估解决方案,方案对比,方案落地 react 状态管理(redux、mobx、jotai、recoil)Vue3 -> Pinia
- 具体方案落地
- 结果反思,细节优化思考
反面案例:
技术栈:Java、Vue2、echarts、WEui、BaiduMap、JavaScript 、HTTP数据库:MySQL管理工具:SVN
责任描述:
1)产品前端研发负责人,主要负责整体样式沟通,样式调配实现;门户、管理平台、移动端、智端、可视化等前端内容实现;
2)实现组织管理、人员管理、党员关系转接、待办通知、绩效考核(复杂功能算法实现)、发展党员(25个流程)、可视化等主体功能,兼容性优化、适配1920*1080屏幕以及响应式布局实现;
3)相关功能开发,包含前后端、数据库;
4)门户框架搭建、门户整体设计、后端接口、门户前端 UI 实现等;
5)微信小程序框架搭建、小程序页面设计及开发、知识图谱技术预演;
6 )项目经理工作辅助,包含需求沟通、UI设计沟通、交付材料项目经历整理、前端代码质量管理、部分功能设计。
项目经历深度优化
工作内容和成果
- 【 架构设计 】参与智慧管理平台整体架构设计、技术选型与方案评审,担任全栈开发,完成相关核心模块
- 【 企微开发 】对接企业微信生态,基于企微 SDK 完成平台支付、消息推送、机器人等功能开发
- 【 可视化 】主导完成平台可视化渲染引擎(可视化图表的组件,数据协议)设计与开发,基于 echarts (svgRenderer、canvasRenderer 一千万行数据的表格渲染【不能使用 虚拟滚动 】 canvas table,chunk)封装业务图表库,服务于平台可视化场景
- 【 地图开发 】使用百度地图 SDK,封装业务地图渲染器(MapRenderer),包含:地图撒点、地区数据下钻等功能
- 【 小程序与App 】基于 uniapp 实现智慧党建用户端多端开发落地,产物编译为 H5、微信小程序两端应用
- 【 团队基建 】推进团队业务组件库、图表库与基础库沉淀,完成 10+ 个业务组件沉淀,以此提升了团队协同开发效率
- 【 优化 】设计产品响应式系统,基于 media query 设计响应式端点规则,适配不同端应用的展示
- 【 自研 OA 打通 】...
以 STAR 法则梳理
【技术栈】
- Java、Vue2、ECharts、WEui、BaiduMap、JavaScript、HTTP
- 数据库 :MySQL
- 管理工具 :SVN
【产品前端研发负责人】
- 情境 (Situation) :担任产品前端研发负责人,负责门户、管理平台、移动端、智端、可视化等前端内容的实现。
- 任务 (Task) :主要任务是与设计团队沟通,调配和实现整体样式,确保产品界面的一致性和用户体验。
- 行动 (Action) :我协调设计与开发团队,定期召开样式沟通会,亲自进行样式的调配与实现,并负责不同平台和设备的前端内容开发。
- 结果 (Result) :成功实现了多个平台的前端开发工作,提升了产品的用户体验和一致性,获得了团队和用户的高度评价。
【实现复杂功能及优化】
- 情境 (Situation) :项目需要实现复杂功能算法和大规模功能模块,包括组织管理、人员管理、党员关系转接、待办通知、绩效考核、发展党员(25个流程)和可视化功能。
- 任务 (Task) :负责上述复杂功能的实现,并优化其兼容性和响应式布局。
- 行动 (Action) :通过设计和实现复杂算法,确保各模块的功能性;进行兼容性优化,使系统适配1920*1080屏幕和响应式布局。
- 结果 (Result) :成功实现并优化了所有复杂功能,系统在不同设备和分辨率下均表现良好,提高了用户操作的流畅度和满意度。
【全面功能开发】
- 情境 (Situation) :需要进行前后端和数据库的全面开发,确保系统各功能模块的无缝集成。
- 任务 (Task) :开发和实现相关功能,包括前端UI、后端接口和数据库交互。
- 行动 (Action) :采用Java、Vue2等技术,开发并调试各功能模块,与后端团队密切合作,确保接口的准确性和数据的一致性。
- 结果 (Result) :成功完成了所有功能模块的开发和集成,系统运行稳定,性能优异,受到了客户的好评。
【微信小程序开发与知识图谱预演】
- 情境 (Situation) :项目需要开发微信小程序,并进行知识图谱技术的预演。
- 任务 (Task) :负责小程序框架的搭建、页面设计及开发,同时进行知识图谱的技术预演。
- 行动 (Action) :使用WEui、JavaScript等技术,设计并开发小程序页面,进行知识图谱的技术预演和验证。
- 结果 (Result) :成功搭建了微信小程序框架,完成了页面设计和开发工作,知识图谱技术预演顺利,通过了技术验证。
【项目经理工作辅助】
- 情境 (Situation) :在项目中辅助项目经理,确保项目需求沟通顺畅,UI设计协调到位,交付材料齐全,前端代码质量高。
- 任务 (Task) :辅助项目经理进行需求沟通、UI设计沟通、交付材料整理、前端代码质量管理以及部分功能设计。
- 行动 (Action) :积极参与需求和UI设计的沟通,整理和管理项目交付材料,进行代码审查和质量管理,并参与功能设计。
- 结果 (Result) :成功辅助项目经理完成了项目的各项工作,提高了项目的开发效率和交付质量,确保了项目的顺利进行。
高级项目实战提升简历看点
你可能不具备这些项目的实战经验,很多同学写了很多年管理系统,简单增删改查项目,如果不跳出这个圈子,很难在薪资上有非常大的突破!
大厂 UI 组件库(Vue3)整体设计与开发实践(monorepo 架构)
大厂业务 Hooks 库(React 18)整体设计与开发实践(从零到一的架构、规范流程)
企业级脚手架工具开发实践
企业级文档编辑器飞书文档开发实践
前端性能、异常与行为监控
3D 可视化数字孪生低代码实战 💥
- 基于 cesium(arcGis、超图) 方案的 WebGIS 开发实践
- 基于 openlayer、mapbox 开发
- 基于 WebGL 3D 可视化开发实践
冲刺年包 50W+ 薪资长线规划
冲刺核心要素
全面的技术储备
框架基础
- Vue 和 React 经验:包括 Vue3 + Typescript 和 React18(Hooks、Concurrent)
- 掌握框架原理:React 生态库(React-Router、Redux)和 Vue 生态库原理
工程化能力
- 构建工具:Webpack、Vite、Rspack、ESBuild、swc
- CI/CD 自动化:自动化构建和自动化部署
基建能力
- Node.js、命令行工具开发(Cli)
- UI 库、图表库、工具库开发
业务领域经验
- 管理系统和图表类应用
- 可视化、编辑器、云表格、低代码平台、SaaS 产品、数字孪生、三维可视化
项目经验
- 参与过至少两个大型项目,并主导过一个复杂项目
- 管理系统:包括项目搭建、技术方案选择、技术栈构建、CI/CD 流程
- 其他领域项目:如可视化、编辑器、云表格、低代码平台、SaaS 产品、数字孪生、三维可视化
面试表现
个人介绍
- 准备个人介绍草稿,涵盖基本信息、技术栈和项目重难点
STAR 法则
- 问题描述:阐述遇到的问题或需求
- 解决方案评估:方案对比与选择(如 React 状态管理:redux、mobx、jotai、recoil,Vue3 使用 Pinia)
- 方案实施:具体的实施步骤
- 反思与优化:项目反思及优化建议
面试准备
- 重点复习知识点:如 v8 内存管理、Promise A+ 规范、事件循环、this、面向对象编程原型
- 技术储备:结合项目经验展示技术在项目中的应用
学历提升
- 现有学历:大专
- 未来计划:尽快取得本科证书(不需要注明具体年限)
- 学历背景:民办学校
- 内推建议:应对学历和工作经历问题,通过内推提升机会
自身短板与补益
项目简单,管理后台一做就是大半年,天天 CRUD
- 看开源项目(react-hook-form ts 类型、hook 处理、状态管理、架构 Provider,keyPath)
- 找一些不错的项目练手
- 拿好的项目,学习完放在简历里, 可视化、编辑器、云表格、低代码、SaaS 产品、数字孪生、三维可视化
- 1.自研:15K, 2.外包:20K ,这个火坑, 灰(供需决定)
技术栈掌握不深不广,只会用 Vue2 (Vue3 + Typescript),React18(React stack reconciler)
架构、方案设计没碰过
- React,create-react-app、umi,没有真正从零到一去设计初始化过一个项目
- Vue,Vue CLI,Vite/Webpack。Vue2 CLI 创出来项目 1. webpack、2.vite
没有专精的技能或业务
- 自驱 (假定自己是 Leader),项目的赢利点、商业价值【 可视化、编辑器、白板、团队基建、AI产品 】
- 与生俱来有些东西,好奇心、自驱力、清晰规划
- 我:管理平台,HPE(官网、后台管理),云表格(维格表、飞书云表格)、云编辑器(CKEditor 老【html string】)(语雀、【石墨文档】)
妙码学院——全程陪跑、督学、真·企业级全栈项目、内推
⚠️ 暂不支持的文档区域,【文档小组件】
- 跨端开发 Taro(Taro 编译器 compiler、运行时 runtime)、uniapp
- 协同编辑器(文档类、画板类)
- 团队基建工程(UI 库、图表库、Cli -> 产生产物 npm 包)
- 3D 可视化数字孪生 bigdata
- 低代码平台
课程体系 2.0 升级,除了基础知识夯实,融入了更多项目实战内容,包含:
企业级脚手架工具开发实践
企业级文档编辑器飞书文档开发实践
大厂 UI 组件库(Vue3)整体设计与开发实践
大厂业务 Hooks 库(React 18)整体设计与开发实践
埋点与数据监控平台实战
3D 可视化数字孪生实战 💥
- 基于 cesium 方案的 WebGIS 开发实践
- 基于 WebGL 3D 可视化开发实践
妙码学院全网独家项目实战矩阵
所有项目实战,均完全 从零到一手写 , 纯原创 ,项目架构与编码规范真一线大厂级。
微前端在分拆原子应用场景下的落地与实践
类飞书文档协同编辑器从零到一架构实现
推动团队基建落地
- React UI 库
- Vue Composition API 库
- 企业级脚手架
数字孪生平台整体架构设计
企业级无代码可视化平台实践(Vue3)
低代码平台设计与实现
- 编排引擎
- 流程引擎
- 编辑器
- 代码执行器与 JavaScript 沙箱
用户行为分析 SDK 及监控可视化平台架构设计与实现
可视化渲染引擎设计与实现
基于 RAG / Agent 前端 AI 应用流程编排平台
前端阶段性能力与冲刺目标
以下是对您提供的内容进行权威和专业化改写的建议:
1~3 年
在此阶段,重点在于评估个人的基础知识和热情。对前端基础、计算机原理、网络通信和算法等领域的要求较高。由于在此阶段难以评估业务深度,因此更多关注基础知识的掌握程度。
- 关键在于通过学术教育或网络资源加强基础知识;
- 在简历中以多种方式展示对前端的热情,展现个人潜力;
- 积极探索前沿技术,关注国内外技术动态;
- 尝试开发小型项目或参与社区开源项目;
- 建立技术博客,以输出促进知识吸收。
3~5 年
此阶段通常是向成为独立工程师发展的关键时期,避免重复使用有限的经验。
关注社区中关于进阶的资料和路线,强化基础知识;
深入掌握常用框架的高级用法,探索其原理;
在业务开发中不仅完成功能,还需考虑项目结构设计、封装基础工具、设计和开发基础组件;
思考提高团队效率的方法,例如:
- 集成代码检验和风格统一插件(如 eslint、stylelint、prettier、spellcheck);
- 从工程化角度提高本地开发效率,优化webpack构建,探索esbuild、vite等工具;
- 对于多项目开发,整理差异和统一部分,建立内部脚手架以减少重复工作;
- 尝试搭建CI/CD平台,维护公司内部的通用npm包;
- 培养软技能,如沟通协作,协调各角色共同推进目标。
5年+
进入此阶段,可能朝技术专家或管理方向发展。期望您能够独立负责高复杂度项目,突破关键技术难题。
- 负责技术调研,关注行业趋势,选择最优技术方案,具备决策能力;
- 拥有丰富的技术经验和技术储备,能够解决遇到的困难,并有自己的方法论;
- 协助或主导业务目标制定,合理推动项目达成预期效果;
- 是否具有团队领导经验,能够协调跨团队项目,处理团队成员情绪问题,解决技能分布不平衡等问题;
- 打造技术氛围,促进团队共同成长。
【未知组件reminder】
