DeepSeek推理模型架构以及DeepSeek爆火的原因
微学AI
架构LLMdeepseek
大家好,我是微学AI,今天给大家介绍一下DeepSeek推理模型架构以及DeepSeek爆火的原因,DeepSeek推理模型凭借其创新的混合专家(MoE)架构和优化的Transformer架构,融合稀疏注意力机制,实现了高效的计算资源分配与显著降低的推理成本。在训练过程中,DeepSeek广泛应用蒸馏技术,通过生成高质量数据和将大型模型的推理能力迁移至小型模型,大幅提升训练效率与模型性能。Deep
量子计算机可以破解比特币吗
weixin_49526058
量子计算区块链智能合约信任链去中心化分布式账本web3
量子计算机可能会对当前的加密算法(包括比特币使用的椭圆曲线加密)带来极大的挑战,尤其是因为它能够使用Shor算法高效地解决离散对数问题。然而,具体到量子计算机破解比特币私钥的情况,需要从以下几个方面深入理解:1.Shor算法与离散对数问题Shor算法是由数学家彼得·肖(PeterShor)在1994年提出的一种量子算法,它可以在多项式时间内解决两类经典计算机难以处理的问题:整数分解问题:这涉及RS
低代码开发:开启企业数智化转型“快捷键”
液态不合群
低代码
一、低代码开发浪潮来袭,企业转型正当时在当今数字化飞速发展的时代,低代码开发已如汹涌浪潮,席卷全球。从国际市场来看,诸多企业巨头纷纷布局低代码领域,像微软的PowerApps、OutSystems等平台,凭借强大功能与广泛影响力,成为众多大型企业数字化变革的得力助手。据权威数据显示,全球低代码开发技术市场规模持续上扬,预计在未来几年内仍将保持高速增长态势。在国内,低代码开发同样热度爆棚。阿里、腾讯
企业如何有效的构建产品知识库,让知识赋能企业,提升市场竞争力
吴间
产品文档知识管理企业知识库知识体系知识整理
什么是产品知识库?产品知识库是将自己所获取的产品知识进行汇总和整理,是产品知识体系的初始系统。产品知识库的作用是,可以运用产品知识库中的内容去解决实际工作中遇到的问题。产品知识库的最终状态是,任何问题都可以通过搜寻产品知识库得以解决。产品知识库的价值产品知识库无论是对内(员工),还是对外(客户)都有着极大的帮助作用。对内:使企业产品信息结构化存储,方便企业知识财富积累(可以为之后产品迭代做准备)。
LED 高反射率白胶
Fryza
笔记学习
一、LED高反白胶基础认知定义与原理LED高反白胶,即高反射率白色胶水,专门用于LED封装环节。其核心原理是凭借自身的高反射特性,将LED芯片发出的光线最大限度地反射和聚集,有效减少光线在封装结构内部的损耗,从而显著提升LED的出光效率与光强,让LED发光更为明亮且均匀。在Mini/MicroLED封装中,由于芯片尺寸微小,对光线的收集与反射要求极高,高反白胶能精准地将齐纳管和金线焊点等部位可能散
【最新】沃德协会管理系统源码+uniapp前端+环境教程
kaui52066
kaui52066精品源码uni-app小程序前端开源php生活
一.系统介绍一款基于FastAdmin+ThinkPHP+Uniapp开发的商协会系统,新一代数字化商协会运营管理系统,以“智慧化会员体系、智敏化内容运营、智能化活动构建”三大板块为基点,实施功能全场景覆盖,一站式解决商协会需求壁垒,有效快速建立自有数字化管理体系、提升组织管理效能、增强会员粘性、沟通连接市场,真正做到为构建有影响力的现代化智慧型组织赋能。二.测试环境系统环境:CentOS、运行环
DeepSeek R1 vs ChatGPT o1 实测 7 大场景终极对决
网络安全我来了
人工智能AIchatgpt
R1vso1:7大场景终极对决引言你需要的不是「最好」,而是「最合适」想象一下,你面前有两把瑞士军刀:一把刀锋锐利但功能单一,另一把功能繁多但需要时间磨合。你会怎么选?人工智能模型的选择也是如此。DeepSeekR1和ChatGPTo1就像这两把军刀,它们的胜负不在绝对强弱,而在场景适配。根据实测数据,我们将通过编程、教育、创意等7个战场,解剖这两大AI巨头的真实战斗力。一、语言战场当AI成为「读
大语言模型(LLM)如何实现上下文的长期记忆?
引言大语言模型(LargeLanguageModels,LLMs),如GPT-4、Claude和LLaMA等,已经在自然语言处理领域展现出卓越的能力。然而,它们在实际应用中常常面临一个核心问题:如何实现上下文的长期记忆?传统LLM的上下文长度通常受限于计算资源和架构设计(如注意力机制),这限制了其处理长文档或保持复杂对话连续性的能力。本篇文章将深入探讨大语言模型的上下文记忆问题,分析其技术难点,并
DeepSeek vs ChatGPT:大模型技术路径的“分水岭”与行业颠覆性创新——2025年AI领域生态重构与场景革命深度观察
富 贵 儿 ¥
人工智能开发语言大数据python
引言:从“参数竞赛”到“场景战争”的范式转移2025年,全球AI产业正经历从“技术崇拜”到“价值落地”的关键转折。当OpenAI、Google等巨头仍执着于千亿参数堆砌时,中国团队打造的DeepSeek以“场景穿透力”异军突起。这场较量不仅是技术架构的对垒,更是AI商业化逻辑的根本性变革。本文基于独家技术拆解与300+企业落地案例调研,揭示两大模型如何重塑行业规则。一、技术架构革命:MoEvsTr
装配式建筑 4.0,中建海龙如何成为行业标杆
科技世界网
科技人工智能大数据
随着科技的飞速发展和城市化进程的加速,建筑行业正经历着前所未有的变革。在这场变革中,装配式建筑4.0以其高效、环保、智能的特点,引领着建筑业迈向新的发展阶段。同时,中建海龙科技有限公司(简称“中建海龙”)正以其卓越的技术实力和市场洞察力,为绿色建筑未来领航。装配式建筑4.0,作为建筑工业化发展的最新成果,代表了建筑行业向智能化、绿色化、数字化转型升级的重要方向。它将传统建造方式中的大量现场作业转移
Python中LLM的稀疏Transformer架构:Longformer与BigBird
二进制独立开发
非纯粹GenAIGenAI与Pythonpythontransformer架构开发语言分布式人工智能自然语言处理
文章目录1.Transformer架构的挑战2.稀疏Transformer架构的提出2.1Longformer2.1.1局部注意力2.1.2全局注意力2.1.3实现2.2BigBird2.2.1随机注意力2.2.2局部注意力2.2.3全局注意力2.2.4实现3.稀疏Transformer架构的优势4.稀疏Transformer架构的挑战5.未来发展方向5.1更高效的稀疏注意力机制5.2自适应稀疏注
连锁企业管理系统助力企业精准定位市场,提升竞争力
连锁企业管理系统
连锁经营连锁企业管理系统连锁管理
在当今竞争激烈的商业环境中,连锁企业面临着前所未有的挑战。如何在瞬息万变的市场中精准定位,提升竞争力,成为每个连锁企业管理者亟待解决的问题。而连锁企业管理系统的出现,为企业提供了一把打开成功之门的钥匙。一、连锁企业管理系统:企业管理的利器连锁企业管理系统是一套集成了多种功能模块的信息化管理系统,它能够帮助企业实现总部与各门店之间的信息共享、业务协同和统一管理,从而提升运营效率,降低运营成本。二、连
DeepSeek提示词高阶用法全解析:职场效率提升的10个实战案例*——让AI成为你的全能职场助手
涛涛讲AI
效率工具人工智能deepseek扣子智能体AI应用大模型python
近期,国产AI模型DeepSeek因其强大的中文理解力、低成本与高性能的组合,成为职场人热议的焦点。本文结合官方指南与实战案例,总结10个贴近职场场景的提示词高阶用法,助你解锁AI生产力工具的真正潜力。一、角色设定:让AI化身“资深顾问”场景:需要快速生成专业方案但缺乏经验时,通过角色设定让AI模拟行业专家视角。提示词示例:角色:资深企业战略顾问(专注数字化转型领域)背景:某传统制造企业计划转型智
《高效学习法:如何通过“案例学习法”提升应用能力?》
引言:聊聊我的学习困境[]()曾经的我,深陷学习的泥沼,怎么也挣扎不出来。每次坐在书桌前,看着堆积如山的书本和资料,满心都是焦虑和无助。那些密密麻麻的文字,仿佛是一道道难以跨越的沟壑,让我望而却步。课堂上,我拼命想要集中注意力,可思绪总是不由自主地飘走。老师讲的内容,我只能一知半解,笔记也记得乱七八糟。课后复习时,面对那些似曾相识又完全陌生的知识点,我感觉自己就像一只无头苍蝇,四处乱撞,却找不到方
MobPush智能推送系统的用户行为分析:驱动精准运营的核心引擎
数据库
MobPush智能推送系统的用户行为分析:驱动精准运营的核心引擎在移动应用竞争白热化的今天,用户注意力成为最稀缺的资源。APP企业纷纷引入MobPush智能推送系统,其核心价值在于通过用户行为分析实现精准触达。这种技术不仅改变了传统"广撒网"式的推送策略,更成为用户留存和商业转化的关键武器。本文将从实践效果与典型案例维度,解析MobPush智能推送系统如何重构用户运营逻辑。实践效果:从经验驱动到数
使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(数据分析篇)
代码轨迹
Python数据分析人工智能deepseek
7.3.数据监控与生成本地知识库目的:监控新生成的小红书文案,记录每一次生成的小红书文案风格。后续根据输入topic,检索与某一topic有关的文案,可以根据先前的文案风格,生成类似风格的文案。实现思路:1.要实现文件监控功能,需要使用watchdog库。watchdog是一个Python库,用于监控文件系统的变化。它提供了多种事件类型,如文件创建、修改、删除等,可以用来监控文件的变化。启动一个线
HarmonyOS开发宝典震撼来袭,卓越应用开发之旅一触即发,轻松启程!
harmonyos
HarmonyOS赋能产品,全面护航开发者从HarmonyOS感知、学习进阶、开发实践至技术支持的全旅程,助力开发者高效开发!我们倾心打造了一个涵盖高频场景的最佳实践案例库,汇聚丰富实战经验,旨在大幅提升开发效率。此外,我们还提供场景化的开箱即用代码示例,让应用开发触手可及,轻松高效。更令人振奋的是,全新升级的《HarmonyOS第一课》现已震撼上线!该课程采用多维融合教学法,将直观代码讲解与即学
TCP/UDP 简介,三次握手与四次挥手
Ashy-
前端面试题前端笔记计算机网络tcp/ipudp网络
一、TCP三次握手目的:为了解决在不可靠的信道上建立可靠的网络连接三次握手是连接请求的过程:A发送连接请求的数据给B(发送SYN包)B同意连接,返回数据给A(返回SYN+ACK包)A收到后回复数据给B(返回ACK包),连接建立以上过程不区分客户端和服务端,tcp的连接是全双工的。两端均采用上述机制。Q:为什么不是两次握手?因为在不可靠的网络上可能会存在传输问题,比如A的第一次连接请求没有到B(网络
Node.js的REST简介以及express框架
2764150442
restfulnode.jsmysql
1.REST简介REST是指表述性状态传递(RepresentationalStateTransfer,简称REST),是RoyFielding博士在2000年他的博士论文中提出来的一种软件架构风格。表述性状态转移是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP、URI和XML(标准通用标记
RK3588+昇腾AI|40TOPS算力AI盒子设计方案
ARM+FPGA+AI工业主板定制专家
AI盒子瑞芯微人工智能
综合视频智能AI分析系统介绍以计算机视觉技术为基础,AI赋能千行百业,依托人工智能视觉分析技术以及强大的“端+边”算力支撑,实时分析烟火,入侵等事件,同时结合云上预警业务平台,实现事件发现、预警、处置全流程闭环。设计架构系统架构视频智能识别系统自下而上分为“感知层、网络层、支撑层、应用层”四层,系统逻辑架构如下图所示:感知层对接前端感知设备,如视频监控、NVR、和其他物联感知设备,对重要通道和场所
有什么数学题库软件吗?4款学生必备APP,题库超全超好用!
xzwhyzhy
软件分享
有什么数学题库软件吗?平常喜欢尝试各种类型的数学题,除了可以提高自己的数学成绩,还能让自己多学点知识,那么有什么app可以做数学题呢?下面我就为大家介绍几个数学题库的软件,这些软件都有很多实用的功能,包含的数学题目也很广,每个题目都有很完整的解析供你学习,如果有兴趣的话可以下载一个试试!菁优网它收录的每道题目均附有细致入微的解析,并提供试卷、在线作业以及社交娱乐等各种服务,深受全国学生欢迎。猿题库
RPC框架Dubbo深入分析
radcb55226
程序员rpcdubbo网络协议
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!依赖于Zookeeper的稳定性Redis支持基于客户端双写的集群方式,性能高要求服务器时间同步,用于检查心跳过期脏数据Multicast去中心化,不需要安装注册中心依赖于网络拓普和路由,跨机房有风险SimpleDogfooding,注册中心本身也是一个标准的RPC服务没有集群支持,可能单点故障cl
插入表主键冲突做更新
a-john
有以下场景:
用户下了一个订单,订单内的内容较多,且来自多表,首次下单的时候,内容可能会不全(部分内容不是必须,出现有些表根本就没有没有该订单的值)。在以后更改订单时,有些内容会更改,有些内容会新增。
问题:
如果在sql语句中执行update操作,在没有数据的表中会出错。如果在逻辑代码中先做查询,查询结果有做更新,没有做插入,这样会将代码复杂化。
解决:
mysql中提供了一个sql语
Android xml资源文件中@、@android:type、@*、?、@+含义和区别
Cb123456
@+@?@*
一.@代表引用资源
1.引用自定义资源。格式:@[package:]type/name
android:text="@string/hello"
2.引用系统资源。格式:@android:type/name
android:textColor="@android:color/opaque_red"
数据结构的基本介绍
天子之骄
数据结构散列表树、图线性结构价格标签
数据结构的基本介绍
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。
经典的数据结构大致如下:
一:线性数据结构
(1):列表
a
通过二维码开放平台的API快速生成二维码
一炮送你回车库
api
现在很多网站都有通过扫二维码用手机连接的功能,联图网(http://www.liantu.com/pingtai/)的二维码开放平台开放了一个生成二维码图片的Api,挺方便使用的。闲着无聊,写了个前台快速生成二维码的方法。
html代码如下:(二维码将生成在这div下)
? 1
&nbs
ImageIO读取一张图片改变大小
3213213333332132
javaIOimageBufferedImage
package com.demo;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @Description 读取一张图片改变大小
* @author FuJianyon
myeclipse集成svn(一针见血)
7454103
eclipseSVNMyEclipse
&n
装箱与拆箱----autoboxing和unboxing
darkranger
J2SE
4.2 自动装箱和拆箱
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。
4.2.1 autoboxing和unboxing
在Java中,所有要处理的东西几乎都是对象(Object)
ajax传统的方式制作ajax
aijuans
Ajax
//这是前台的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+
只用jre的eclipse是怎么编译java源文件的?
avords
javaeclipsejdktomcat
eclipse只需要jre就可以运行开发java程序了,也能自动 编译java源代码,但是jre不是java的运行环境么,难道jre中也带有编译工具? 还是eclipse自己实现的?谁能给解释一下呢问题补充:假设系统中没有安装jdk or jre,只在eclipse的目录中有一个jre,那么eclipse会采用该jre,问题是eclipse照样可以编译java源文件,为什么呢?
&nb
前端模块化
bee1314
模块化
背景: 前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。 JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所
处理百万级以上的数据处理
bijian1013
oraclesql数据库大数据查询
一.处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o
mac 卸载 java 1.7 或更高版本
征客丶
javaOS
卸载 java 1.7 或更高
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
成功执行此命令后,还可以执行 java 与 javac 命令
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
成功执行此命令后,还可以执行 java
【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析
bit1129
Stream
第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中
第二部,Spark Streaming读取Kafka中的数据,进行实时分析
本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接 1. Flume配置
1. 下载Flume和Kafka集成的插件,下载地址:https://github.com/beyondj2ee/f
Erlang vs TNSDL
bookjovi
erlang
TNSDL是Nokia内部用于开发电信交换软件的私有语言,是在SDL语言的基础上加以修改而成,TNSDL需翻译成C语言得以编译执行,TNSDL语言中实现了异步并行的特点,当然要完整实现异步并行还需要运行时动态库的支持,异步并行类似于Erlang的process(轻量级进程),TNSDL中则称之为hand,Erlang是基于vm(beam)开发,
非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个
ljy325
企业应用
非常希望有一个预防疲劳的java软件,我看新闻和网站,国防科技大学的科学家累死了,太疲劳,老是加班,不休息,经常吃药,吃药根本就没用,根本原因是疲劳过度。我以前做java,那会公司垃圾,老想赶快学习到东西跳槽离开,搞得超负荷,不明理。深圳做软件开发经常累死人,总有不明理的人,有个软件提醒限制很好,可以挽救很多人的生命。
相关新闻:
(1)IT行业成五大疾病重灾区:过劳死平均37.9岁
读《研磨设计模式》-代码笔记-原型模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* Effective Java 建议使用copy constructor or copy factory来代替clone()方法:
* 1.public Product copy(Product p){}
* 2.publi
配置管理---svn工具之权限配置
chenyu19891124
SVN
今天花了大半天的功夫,终于弄懂svn权限配置。下面是今天收获的战绩。
安装完svn后就是在svn中建立版本库,比如我本地的是版本库路径是C:\Repositories\pepos。pepos是我的版本库。在pepos的目录结构
pepos
component
webapps
在conf里面的auth里赋予的权限配置为
[groups]
浅谈程序员的数学修养
comsci
设计模式编程算法面试招聘
浅谈程序员的数学修养
批量执行 bulk collect与forall用法
daizj
oraclesqlbulk collectforall
BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、
FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。
有关FORALL语句的用法请参考:批量SQL之 F
Linux下使用rsync最快速删除海量文件的方法
dongwei_6688
OS
1、先安装rsync:yum install rsync
2、建立一个空的文件夹:mkdir /tmp/test
3、用rsync删除目标目录:rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
Yii CModel中rules验证规格
dcj3sjt126com
rulesyiivalidate
Yii cValidator主要用法分析:
yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError
 
基于vagrant的redis主从实验
dcj3sjt126com
vagrant
平台: Mac
工具: Vagrant
系统: Centos6.5
实验目的: Redis主从
实现思路
制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box
制作sentos6.5+redis的box
mkdir vagrant_redis
cd vagrant_
Memcached(二)、Centos安装Memcached服务器
frank1234
centosmemcached
一、安装gcc
rpm和yum安装memcached服务器连接没有找到,所以我使用的是make的方式安装,由于make依赖于gcc,所以要先安装gcc
开始安装,命令如下,[color=red][b]顺序一定不能出错[/b][/color]:
建议可以先切换到root用户,不然可能会遇到权限问题:su root 输入密码......
rpm -ivh kernel-head
Remove Duplicates from Sorted List
hcx2013
remove
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&
Spring4新特性——JSR310日期时间API的支持
jinnianshilongnian
spring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
浅谈enum与单例设计模式
247687009
java单例
在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。
第一种
package singleton;
public class Singleton {
//导出全局成员
public final static Singleton INSTANCE = new S
使用switch条件语句需要注意的几点
openwrt
cbreakswitch
1. 当满足条件的case中没有break,程序将依次执行其后的每种条件(包括default)直到遇到break跳出
int main()
{
int n = 1;
switch(n) {
case 1:
printf("--1--\n");
default:
printf("defa
配置Spring Mybatis JUnit测试环境的应用上下文
schnell18
springmybatisJUnit
Spring-test模块中的应用上下文和web及spring boot的有很大差异。主要试下来差异有:
单元测试的app context不支持从外部properties文件注入属性
@Value注解不能解析带通配符的路径字符串
解决第一个问题可以配置一个PropertyPlaceholderConfigurer的bean。
第二个问题的具体实例是:
 
Java 定时任务总结一
tuoni
javaspringtimerquartztimertask
Java定时任务总结 一.从技术上分类大概分为以下三种方式: 1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务; 说明: java.util.Timer定时器,实际上是个线程,定时执行TimerTask类 &
一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法
yangshangchuan
rank相似度计算文本相似度词袋模型余弦相似度
本文描述了一种在ITEYE博客频道上面出现的新型的商业广告形式及其应对方法,对于其他的用户生成内容站点类型也具有同样的适用性。
最近在ITEYE博客频道上面出现了一种新型的商业广告形式,方法如下:
1、注册多个账号(一般10个以上)。
2、从多个账号中选择一个账号,发表1-2篇博文