- 博客(42)
- 收藏
- 关注
原创 解决pip安装包时SSL连接错误的方法
摘要:在安装gradio包时出现SSL连接错误,提示TLS/SSL连接被关闭。错误可能由代理设置导致,建议运行unset http_proxy https_proxy HTTPS_PROXY HTTP_PROXY命令清除代理设置后再尝试安装。该问题表现为多次重试后仍无法建立安全连接,最终导致找不到匹配的软件包版本。
2025-11-10 18:10:57
107
原创 浏览器访问百度首页的七层协议协作流程
上层(应用/表示/会话):管“用户能感知的需求”(如访问网页、数据加密);中层(传输/网络):管“跨设备的可靠传输与路由”(如TCP保可靠、IP找路径);下层(数据链路/物理):管“物理介质上的信号传输”(如帧封装、电信号转换);每一层只做“自己的事”,通过“封装/解封装”协作,最终实现“用户点击→页面呈现”的完整流程。
2025-10-09 21:14:19
491
原创 滑动窗口详解
滑动窗口算法通过双指针维护动态窗口,高效解决数组/字符串子区间问题。核心是调整窗口大小或位置,将时间复杂度从O(n²)优化至O(n),适用于连续子数组/字符串的最值或条件区间问题。典型应用包括最小覆盖子串、无重复字符最长子串等。优化技巧包括使用ASCII数组替代哈希表、双指针代替队列等,时间复杂度通常为O(n)。需注意处理空输入、无解等边界情况。
2025-09-30 22:31:06
470
原创 动态规划方法详解
动态规划是一种通过分解重叠子问题来优化复杂问题的算法方法,其核心是最优子结构和重叠子问题。适用于最优化、计数和决策类问题,解题步骤包括定义状态、递推公式、初始化、遍历顺序和调试。经典问题如斐波那契数列、背包问题和LCS展示了其应用,优化技巧包括空间压缩和状态简化。需避免混淆贪心算法、确保无后效性等误区。推荐通过《算法导论》、在线课程和LeetCode等资源系统学习。
2025-09-30 13:06:29
871
原创 设计模式-常见设计原则篇
本文介绍了六大常见软件设计原则,包括:1)单一职责原则(类功能专一化);2)开闭原则(对扩展开放,对修改关闭);3)里氏替换原则(子类不改变父类功能);4)依赖倒转原则(高层与底层都依赖抽象);5)接口隔离原则(接口细分避免冗余);6)迪米特法则(最小化类间交互)。这些原则共同服务于"高内聚低耦合"的核心目标,通过规范类的设计、继承关系、接口定义和模块交互等方式,提升代码的可维护性、扩展性和复用性。每个原则都配有Java代码示例说明其具体应用场景。
2025-09-27 16:01:03
642
原创 设计模式-行为型设计模式(针对对象之间的交互)
设计模式应用实例摘要 解释器模式通过递归解析文法规则处理表达式(如双栈计算器);模板方法模式定义算法框架(如就诊流程),具体步骤由子类实现;责任链模式将请求沿处理链传递(如多轮面试),各节点独立处理。三种模式分别解决语言解析、流程标准化和请求分派问题,体现了对象间灵活交互的设计思想。代码示例展示了模式的具体实现(C++/Python),突出可扩展性和解耦优势。
2025-09-27 15:40:14
539
原创 设计模式-结构性设计模式(针对类与对象的组织结构)
本文介绍了结构型设计模式: 适配器模式:通过类适配器(多继承)或对象适配器(组合)转换接口,使不兼容类协同工作,如3.5mm耳机转Type-C接口。 桥接模式:通过多维度组合(如手机芯片+内存配置)解耦抽象与实现,支持灵活扩展。 组合模式:以树形结构统一处理单个对象(文件)和组合对象(目录),提供一致性操作接口。 每种模式均附C++代码示例,展示如何解决接口兼容、多维扩展和对象组合问题。
2025-09-26 14:46:59
1134
原创 设计模式-创建型设计模式(针对对象/类创建时的优化)
设计模式摘要 工厂模式是创建型设计模式的典型代表,主要包括三种形式: 简单工厂模式:通过静态方法创建对象,但违反开闭原则,新增类型需修改工厂类代码。 工厂方法模式:将工厂抽象化,每个产品对应一个工厂子类,符合开闭原则但会产生过多工厂类。 抽象工厂模式:适用于产品族场景(如华为/小米生产手机和路由器),通过接口定义产品族,但新增产品等级需修改工厂接口。 建造者模式则通过链式调用逐步配置对象属性,最后统一构建对象,适合创建复杂对象。Python实现中,使用Builder类管理属性,build()方法最终实例化目
2025-09-26 00:14:16
316
原创 AI推理范式:从CoT到ReAct再到ToT的进化之路
摘要:人工智能推理能力提升的三大框架——思维链(CoT)、推理与行动(ReAct)和思维树(ToT),分别实现了从线性推理到交互式、系统性规划的演进。CoT通过分步思考提升逻辑问题解决能力;ReAct结合外部工具获取实时信息;ToT以树状结构探索多路径推理。三者各具优势:CoT简单高效,ReAct动态灵活,ToT适合复杂创意任务。未来趋势将融合这些范式,如结合ReAct与ToT的多智能体协作,进一步突破AI推理极限。
2025-09-14 15:11:34
1261
原创 RAG性能指标评估全面指南
RAG系统评估需综合考量检索与生成两阶段性能。检索阶段核心指标包括:语义相关性(基于Embedding或LLM评估)、精准率/召回率(衡量准确性与全面性)、命中率/MRR(评估相关文档位置)。生成阶段重点关注:真实性(内容与上下文一致性)、答案正确性(与标准答案匹配度)、语义相似度(向量空间相似性)及答案相关性(与查询的匹配程度)。评估方法结合自动化工具(如Embedding模型、LLM评分)和人工验证,全面衡量系统质量。RAG评估需根据应用场景选择合适指标组合,平衡精确度与效率。
2025-08-29 15:11:06
852
原创 Faiss向量数据库倒排索引检索方法
摘要: IndexIVFFlat 是 Faiss 中的高效索引,结合聚类分区(IVF)和原始向量存储(Flat)来平衡查询速度与精度。其核心思想是将向量空间划分为 nlist 个聚类中心(Voronoi 单元),通过倒排索引快速定位相关分区(桶),仅计算查询向量与 nprobe 个桶内原始向量的精确距离,显著减少计算量。 关键流程: 训练:用 K-Means 学习聚类中心。 添加向量:分配向量到最近中心,构建倒排索引。 搜索:先定位最近 nprobe 个中心,再精确搜索桶内向量。 参数影响: nlist(分
2025-08-17 00:57:30
1179
原创 RAG召回与重排完全指南详解
RAG召回与重排核心指南 本文系统介绍了检索增强生成(RAG)中的召回与重排技术。召回阶段通过向量相似度从海量文档中快速筛选候选片段,重排阶段则对候选结果进行精准排序。指南详细解析了嵌入模型选择(如BAAI/bge-base)、向量数据库配置(ChromaDB/FAISS)等核心组件,并提供了Python代码示例。同时对比了Cross-Encoder、MonoBERT等重排方案的优劣,给出参数调优建议和常见问题解决方案。最后介绍了评估指标(Recall@K、nDCG@10)和开源工具(Ragas),为开发者
2025-08-16 01:57:36
815
原创 如何构建企业级多模态RAG系统
摘要: 企业级多模态RAG系统通过检索增强生成解决大模型应用的知识缺失、时效性和幻觉问题。其核心流程包括文档预处理、向量检索和上下文生成。针对复杂文档解析,可采用英伟达nv-ingest等工具实现多模态处理;针对检索准确性不足,可通过嵌入模型微调和检索技巧优化;针对小模型瓶颈,采用两阶段微调方案。未来Agent-RAG系统将结合规划、记忆和工具能力,实现复杂问题求解。核心建议包括快速验证基础RAG价值、优化检索环节及逐步引入Agent能力。
2025-08-16 01:41:16
230
原创 GraphRAG:用知识图谱赋能检索增强生成,攻克复杂推理难题
传统 RAG(我们称之为 Flat RAG 或 Chunk-based RAG)存在一个根本性的局限:它将知识库视为扁平化的文本块集合。检索时,它主要依赖文本块与用户问题在语义上的局部相似度(如余弦相似度)。这种模式在处理以下类型的问题时会遇到困难:
2025-08-11 22:01:36
920
原创 RAG (Retrieval-Augmented Generation) 原理详解与实例
RAG(检索增强生成)是一种让大型语言模型(LLM)结合外部知识库生成更准确答案的技术。其工作流程分为两个阶段:离线阶段将知识源分块并转换为向量存储在向量数据库中;在线阶段将用户问题转换为向量,检索最相关的文本块,与问题组合成提示词输入LLM生成答案。这种方法能有效解决LLM知识过时或不完整的问题,提升回答的准确性和时效性。例如,回答iPhone最新型号时,RAG会检索官网最新信息而非依赖训练数据中的旧知识。
2025-08-10 22:57:06
1253
原创 大模型 MCP服务案例详细讲解
大模型与MCP服务器的交互是一个双向异步流式过程,核心流程包括:用户输入查询后,大模型识别需求并建立MCP连接;MCP服务器验证参数并调用外部API;通过SSE协议实时推送处理进度和最终结果;大模型整合数据生成自然语言回复。该交互采用JSON-RPC 2.0规范,支持函数调用、流式数据传输和错误处理,适用于智能客服、代码执行等场景。关键技术包括协议层设计、消息格式规范和流式事件机制,确保高效可靠的数据交换。
2025-08-10 22:09:59
752
原创 SentenceTransformer 模型与 CosineSimilarityLoss 详解
摘要:SentenceTransformer框架采用Transformer(如DistilBert)生成单词嵌入,通过Pooling层(Mean/Max/CLS)聚合为句子表示。核心损失函数CosineSimilarityLoss优化余弦相似度,公式结合MSE损失与相似度变换。代码实现包含模型初始化、数据加载和训练流程。Pooling方法对比显示:Max Pooling突出显著特征但忽略其他信息,CLS Pooling直接利用BERT的[CLS]标记。该框架支持语义检索、文本聚类和句子分类等任务,通过调整P
2025-08-07 16:28:05
809
原创 Nginx 来正确地托管网站服务
现在,你可以通过浏览器访问你的服务器 IP 地址或域名,看看是否能看到你的项目。打开浏览器,输入你的服务器 IP 地址或域名,看看是否能看到你的。接下来,我们需要配置 Nginx,让它知道你的项目文件在哪里。如果你在操作过程中遇到任何问题,随时告诉我,我会帮你解决!下创建一个新的目录来存放你的项目文件。如果能看到,说明部署成功了!如果没有错误,你会看到。将你的项目文件上传到。
2025-08-01 17:43:48
514
原创 vscode、cursor无密码ssh远程连接服务器(配置密钥)
摘要: 本文介绍了如何配置SSH密钥登录服务器。步骤包括:1) 在服务器生成密钥对;2) 将公钥加入authorized_keys;3) 修改sshd_config启用密钥认证;4) 重启SSH服务;5) 客户端配置私钥;6) 使用ssh -i命令连接;7) 可选配置~/.ssh/config简化连接。最后测试连接确保密钥登录成功。
2025-07-29 01:20:01
872
原创 配置Dockerhub镜像源使用教程
摘要:本文介绍了Docker的安装和镜像源配置方法。安装部分使用sudo apt install docker.io命令快速安装Docker。配置部分提供了12个国内镜像源地址,通过创建/etc/docker/daemon.json文件并添加镜像源配置,最后重新加载并重启Docker服务完成配置。支持Ubuntu 16.04+、Debian 8+和CentOS 7+等主流Linux系统。
2025-07-27 19:13:22
339
原创 Linux磁盘莫名消耗,垃圾清理定位策略
使用 ncdu /指令再根目录慢慢查找,定位相关可疑文件夹(此处已被清理过)),这是系统日志服务默认保存的日志,。
2025-07-25 13:03:22
187
原创 收敛性分析(部分设备,不相同本地训练轮次)
Δt=1∑j∈StDjD∑k∈StDkD∑i=0lkt−1∇Gtk,i.\Delta_t = \frac{1}{\sum_{j \in S_t} \frac{D_j}{D}} \sum_{k \in S_t} \frac{D_k}{D} \sum_{i=0}^{l_k^t - 1} \nabla \mathcal{G}_t^{k,i}.Δt=∑j∈StDDj1k∈St∑DDki=0∑lkt−1∇Gtk,i.期望:E[Δt]=1∑j∈StDjD∑k∈StDkD∑i=0lkt−
2025-05-04 14:31:39
409
原创 联邦学习的收敛性分析(全设备参与,不同本地训练轮次)
在联邦学习中,我们的目标是分析全局模型的收敛性,考虑设备异构性(不同用户的本地训练轮次不同)和数据异质性(用户数据分布不均匀)。以下推导从全局模型更新开始,逐步引入假设并推导期望损失的递减关系,最终给出收敛性结论。的偏差,反映数据分布的差异。相关的常数,后续可进一步推导其具体形式。的数据量,表明数据量越大,偏差越小。为常数,反映数据量对梯度幅度的约束。这一步考虑了不同用户的本地训练轮次。由于数据异质性,各用户的本地梯度。假设偏差在用户间近似抵消,即。为适应不同用户的本地训练轮次。轮本地训练时的梯度。
2025-04-30 19:42:35
1058
原创 《深度解析:Embedding词嵌入,轻松上手!》
关于词向量与 Embedding:Embedding 是以每个字在给定分布随机初始化的随机向量而组成的可学习参数矩阵,也就是一个全连接 Dense 层(即:密集层或线性层),其以 one-hot(一种将类别数据转换为数值型表示的方法)为输入,稠密向量为输出,即词向量。例如,对于一个包含 vocab_size=10000 个词汇的词汇表,每个词汇都会被表示为一个 10000 维的向量,其中只有一个位置是 1,其余位置都是 0。然后,这个 one-hot 向量会与一个权重矩阵(大小为 10000×embed_d
2025-04-30 19:30:57
1121
原创 《SentencePiece & Tokenizers:分词界的两大神器,如何在NLP项目中选择和使用?》
常见的分词库有两种:SentencePiece和Tokenizers
2025-04-30 19:03:46
926
原创 《分词算法大揭秘:BPE、BBPE、WordPiece、ULM常见方法介绍》
分词算法是自然语言处理(NLP)中的一个重要预处理步骤,它将文本分割成更小的单元(如单词、子词或字符)。以下是几种常见的分词算法:Byte Pair Encoding (BPE)、Byte-level BPE (BBPE)、WordPiece 和 Unigram Language Model (ULM)
2025-04-30 18:40:16
1784
原创 《图文并茂:大模型分词介绍》
例如,对于一个生僻词“unbelievable”,它可以被拆分成“un-”、“believ-”和“-able”这样的子词,这些子词在词表中出现的频率可能更高,从而避免了整个单词因未出现在词表中而无法处理的情况。然而,分词方式的选择和实现会引入一系列问题,这些问题可能导致模型在某些任务上表现不佳,甚至出现看似奇怪的现象。例如,对于单词"happy"和"unhappy",BPE可能会先合并"ha"和"ap",最终生成子词[“hap”, “py”]和[“un”, “hap”, “py”]。
2025-03-04 15:19:58
1089
原创 多头注意力如何进行拼接和线性变换
假设头1的输出是 ( A_1 ),头2的输出是 ( A_2 ),拼接后的矩阵 ( A ) 的形状为 ( [\text{序列长度} \times (d \times h)] )。假设每个头的维度是 ( d ),总共有 ( h ) 个头,那么每个头的输出维度是 ( d )。假设每个头的输出维度是2,我们有两个头,输入序列长度为3。
2025-03-04 02:11:23
904
原创 Transformer 多头注意力机制详解(示例详细推导)
今天,我们通过一个简单的例子来详细说明 Transformer 的多头注意力机制是如何工作的。假设我们有一个非常短的句子,只包含3个单词,我们用这个例子来逐步计算。
2025-03-04 02:02:37
1340
原创 docker镜像导出后,跨平台造成nvidia-smi不可用的问题
如果是通过save保存到本地的,镜像是一个tar包,则可以在新电脑上通过:因为windows的docker底层使用的WSL,和Linux不一样,所以在一个平台制作导出的镜像在另一个平台使用时,可能会出现gpu不可用的问题。比如在Ubuntu系统加载Windows平台导出的镜像时,通过创建容器后,那么接下来的内容就会详细如何解决跨平台无法使用GPU的问题。
2025-02-27 14:13:23
1128
1
原创 docker启动容器后又自动关闭,无法run起来(特别是在docker桌面端)
比如通过下面该命令run一个容器,容器生成后发现既没有任何报错也没有消息提示但是就是自动关闭了。docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出。容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出。在最后加上/bin/bash就可以了。例如在上面的基础上。
2025-02-14 00:08:09
1375
原创 删除docker镜像和容器,磁盘空间未释放的问题
例如:D:\docker_files\DockerDesktopWSL\disk\docker_data.vhdx。
2025-02-13 18:55:54
575
原创 远程VNC连接服务器桌面失败、terminal打不开、vncviewer黑屏等问题
要配置 VNC 服务器以监听所有网络接口,您需要确保在启动 VNC 服务器时不使用 -localhost 参数,或者将其设置为 no。以下是具体步骤:停止当前运行的 VNC 服务器:这将终止显示编号为 :5 的 VNC 会话。启动 VNC 服务器以监听所有接口:启动 VNC 服务器时,不使用 -localhost 参数,或者将其设置为 no。
2025-02-10 21:04:19
5026
原创 OpenPCDet部署流程和相关问题
跑训练代码train.py文件时,要在tools目录下,不然会报以下错误。其中使用pip安装torch等包记得换源。在./OpenPCDet路径下安装依赖。安装 SparseConv 库,使用。然后在./OpenPCDet路径下。则修改kornia版本为0.6.5。或者压缩包下载到本地解压。运行过程若出现以下报错。
2025-02-09 18:09:41
802
原创 pycharm远程连服务器调试(debug)时出现收集数据(collecting data)的解决方案
pycharm远程连服务器调试(debug)时出现收集数据(collecting data)的解决方案
2024-08-01 13:13:44
1304
原创 windows和linux如何换pip和conda源
这将打开pip的配置文件(如果配置文件不存在,则会创建一个新的),可以使用任何文本编辑器编辑该文件。[global]在这个例子中,我们将pip的源更改为豆瓣的镜像源。你可以选择其他镜像源,将替换为你选择的镜像源地址。保存并关闭配置文件。
2024-07-31 13:42:17
680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅