自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 资源 (6)
  • 收藏
  • 关注

原创 RAG第五篇:怎么客观衡量你的 RAG 好不好(RAGAS 思路)

RAG 系统搭好后,怎么客观衡量它好不好?本文引入 RAGAS 框架,把 RAG 拆成检索与生成两层、四指标:精确率、召回率、忠实度、答案相关性。用 Go 实现评测器,以 8 篇登月知识库为测试集,对比 Top-1 与 Top-3+Rerank 两配置。结果:单看精确率会误判,召回率暴露 Top-1 信息缺失;检索短板传导为生成短板 ——CR 低则 FF 低。用可解释信号近似 LLM 裁判,本地可复现,助你建立 RAG 评测体系。

2026-08-28 22:28:15 531

原创 RAG第四篇:重排序 Rerank——粗召回之后,为什么还需要一次精排

RAG 检索是两段式:向量检索粗召回,Rerank 精排。Top-K 为何不够准?Bi-Encoder 独立编码、看不到词级交互,正确答案常被排后。讲透 Bi/Cross-Encoder 分工,介绍 BGE-Reranker、Cohere Rerank 及参数(K 50~200,Top5~10);以 "中国载人登月"8 篇知识库 + 12 查询实测:某查询正确答案语义分仅 0.289、被粗召回丢第 4,Rerank 靠词级交互(0.721)救回 Top1,命中率 11/12→12/12;附可运行代码。

2026-08-26 23:59:39 146

原创 RAG第三篇:混合检索 Hybrid Search——为什么 RAG 要用“BM25 + 向量“双路召回

本文讲透 RAG 检索标配方案 —— 混合检索:为什么只用向量检索会漏掉专有名词、只用 BM25 会漏掉同义改写;拆解 BM25 的 IDF 加权、词频饱和、长度归一化三大设计;讲清双路召回 + RRF 排名融合架构;用 "中国载人登月"8 篇知识库对比:纯向量在专有名词查询上 Top1 跑偏、纯 BM25 在近义改写查询上漏掉正确文档、混合 RRF Top3 命中 8/8 最全;最后用 Go 实现词典分词、同义扩充、向量检索器、BM25 检索器与 RRF 融合,可一键运行复现。

2026-08-26 23:18:31 283

原创 RAG第二篇:文本分块策略 Chunking——怎么切,决定检索质量的上限

本文讲透 RAG 的关键前置环节 —— 文本分块(Chunking):为什么 "怎么切" 直接决定检索质量上限;对比固定长度、递归字符、语义分块、按结构四大方法;详解 overlap 重叠窗口的作用与取值;用 64/128/256/512 分块大小对比句子切断率的真实实验,回答 "块切多大合适";最后用 Go 手写含固定长度 + overlap、递归字符、Markdown 结构化分块及实验统计的完整分块器,可一键运行复现。

2026-08-26 16:15:02 338

原创 Ai应用第一篇:搭建自己的AI编码助手

本文围绕政务内网场景下的离线开发环境建设,介绍如何在华为 NPU 环境中部署 Coder,实现无公网依赖、安全可控、可团队协作的代码开发入口。内容涵盖环境准备、离线安装、权限配置、NPU 加速适配、反向代理与常见问题排查,适合企业内网开发平台建设参考。

2026-08-26 15:21:30 401

原创 RAG第一篇:RAG 全景——从原理到实践

本文系统介绍了检索增强生成(RAG)技术,剖析了其核心价值、实现链路及优化方向。全文要点包括:1)RAG通过先检索后生成的方式解决大模型知识过时、幻觉和私有知识缺失三大缺陷;2)详细拆解RAG离线建库和在线问答两阶段全流程;3)对比RAG与微调、长上下文的适用场景,指出RAG改动小、成本低的优势;4)分析RAG的三个演进阶段(基础版-高级版-模块化)和三大失败模式(查不到/查不准/答不对);5)提供Go语言实现的系统骨架代码和20个自查问题,帮助读者全面掌握RAG技术。文章强调RAG是连接大模型与外部知识的

2026-08-26 00:35:09 284

原创 VecDB第十篇:除了HNSW,向量索引还有什么?——IVFFlat与PQ量化原理

本文介绍了两类向量索引技术:IVFFlat和PQ量化,用于解决大规模向量搜索的内存和效率问题。IVFFlat通过K-Means聚类将向量分桶,查询时仅搜索最近桶内向量,显著减少计算量;PQ量化将高维向量分段压缩,用质心编码替代原始向量,内存占用可降至1/32-1/64。二者结合的IVF_PQ兼具分桶筛选和量化压缩优势,适合亿级数据场景。文章对比了HNSW、IVFFlat和IVF_PQ的性能指标,并给出选型建议:小数据用暴力搜索,中等规模首选HNSW,超大数据需采用IVF_PQ。最后提供了参数调优指南,帮助根

2026-08-07 09:22:44 308

原创 VecDB第九篇:为什么百万数据也能秒级检索?——HNSW向量索引原理

本文介绍了HNSW(分层可导航小世界)向量索引的原理与应用。HNSW通过构建分层网络结构实现高效检索,上层稀疏连接用于快速定位,下层稠密连接用于精准查找。文章以8条新闻文本为例,演示了向量化过程和距离计算方法,通过欧氏距离矩阵分析节点间的邻近关系。HNSW借鉴"六度人脉"的小世界网络特性,使得百万级数据检索仅需对数级计算量,相比暴力检索大幅提升效率。这种索引结构适用于文本、图像等向量化数据的快速相似性搜索。

2026-05-06 23:10:11 412

原创 VecDB第八篇:让大模型自己切文档——语义切片

这篇文章探讨了知识切片在RAG流程中的关键作用,分析了传统切片方法(固定长度、段落、句子、滑动窗口、递归切片)的缺陷,包括语义断裂、主题混杂、上下文丢失等问题。作者指出这些方法无法真正理解语义边界,导致检索效果不稳定。文章提出了语义切片的概念,通过计算句子间相似度来识别主题边界,实现更精准的知识组织。这种方法能避免生硬切割,保持语义完整性,从而提升后续向量化和检索的效果。

2026-04-22 21:59:55 329

原创 VecDB第七篇:输入文字,怎么搜出图片?——RAG多模态(用CLIP讲透跨模态检索)

这篇文章深入浅出地介绍了多模态检索中的CLIP模型及其应用。主要内容包括: 多模态检索的核心挑战:将文本和图片编码到同一向量空间进行比较 CLIP模型的原理:通过对比学习将4亿对图文数据映射到统一空间 实际应用演示:如何使用CLIP实现"输入文字搜图片"的功能 技术实现细节:包括向量预计算、相似度匹配和结果排序 文章通过生动的比喻(如"世界语翻译官")和具体示例,解释了CLIP如何让计算机理解跨模态内容的语义关联,并提供了伪代码说明实现逻辑。特别强调了CLIP无需人工

2026-04-20 23:54:52 395

原创 VecDB第六篇:图片也能变成数字吗?——用像素讲透图片向量化

图片向量化:从像素到数字的魔法 本文介绍了图片向量化的核心原理和三种实现方法。在计算机眼中,图片本质是由像素组成的数字矩阵(如RGB值)。通过将像素值展开为一维向量,可以直接用余弦相似度比较图片相似度。文章演示了三种向量化方法:1)直接拼接像素值的简单方法;2)统计颜色分布的直方图法;3)使用深度学习的特征提取法。作者通过Go代码示例,展示了如何将4×4灰度图转为16维向量,并计算不同图片间的相似度。结果显示,结构相似的图片余弦相似度接近0.996,而结构不同的图片相似度仅0.783,验证了该方法的有效性。

2026-04-19 22:34:07 443 1

原创 VecDB第五篇:从问题到答案:一个完整的RAG系统是如何工作的

本文介绍了一个完整的RAG(检索增强生成)系统的工作流程。RAG系统通过将用户问题转化为向量,在向量数据库中检索最相关的知识片段,然后将其与问题一起输入大语言模型生成精确回答。文章以"月球任务发射时间"为例,展示了从问题向量化、相似度计算到最终答案生成的完整过程,并提供了代码实现的关键步骤。相比直接将整个知识库输入模型,RAG通过智能检索显著提高了回答效率和准确性。

2026-04-18 00:22:41 435

原创 VecDB第三篇:一眼看穿相似度:余弦相似度原理详解

余弦相似度原理摘要 余弦相似度通过计算两个向量之间的夹角余弦值来判断相似度。它将文本转换为词频向量,通过向量点积除以向量长度的乘积得到相似度分数。这种方法能有效忽略文本长度差异,专注于语义方向的一致性。余弦值越接近1,表示文本越相似;接近0则越不相关。相比其他方法,余弦相似度能更准确地反映语义相关性,且结果直观易懂(0-1范围),适合处理不同长度的文本比较。其数学公式为cos(θ)=(A·B)/(|A|×|B|),通过计算词频向量的夹角方向而非绝对距离来判断语义相似性。

2026-04-15 23:17:50 404

原创 VecDB第四篇:手把手实现文本向量数据库:从原理到CRUD操作完整指南

本文介绍了三种为AI系统提供知识的方法:提示词工程、传统数据库和向量数据库。作者通过眼科医生案例说明,当知识库增大时,提示词工程会因长度限制失效,传统数据库则无法理解语义。向量数据库通过将文本转化为向量并计算相似度,实现了语义理解和智能匹配。文章详细讲解了如何实现一个简易向量数据库,包括文档插入、ID查询和核心的相似度搜索功能,并提供了余弦相似度计算的代码示例。这种方案完美解决了大知识库场景下的语义理解和存储问题。

2026-04-12 03:27:38 416

原创 VecDB第二篇:为什么AI能“读懂“新闻?——用登月任务讲透文本向量化

本文通过阿尔忒弥斯2号登月任务案例,通俗讲解AI如何通过文本向量化理解人类语言。核心原理是将文字转换为数字向量,包括五个步骤:文本清洗(去除噪音)、分词处理(提取关键词)、词频统计、构建向量(按词汇表顺序排列词频)、向量归一化(L2归一化使向量长度为1)。文章提供了完整的Go语言实现代码,演示如何将"阿尔忒弥斯2号"新闻片段转化为[0.35,0.71,0.35,0,0,0,0,0.35,0.35]的归一化向量。这种技术使AI能通过比较向量相似度理解文本含义,是搜索引擎推荐相关内容的基础。

2026-04-12 01:23:39 437

原创 麒麟系统docker离线安装postgres/nginx/redis

摘要:本文介绍了在麒麟Linux系统(x86_64架构)上安装Docker并部署PostgreSQL的完整流程。首先确认CPU架构并下载对应版本的Docker安装包,然后从华为镜像源获取PostgreSQL 16.10的tar包并导入。在运行容器时遇到"unable to find image"错误,解决方法是通过镜像ID直接启动容器。整个过程包括:系统架构确认、Docker安装、镜像导入、容器运行及问题处理等关键步骤,为在国产操作系统上部署数据库服务提供了实用参考。

2026-03-06 17:19:23 158

原创 宝塔安装的PostgreSQL16.1+pgvector+uuid(向量支持)

pgvector

2025-08-18 22:52:06 910

原创 Ai应用第一篇:Milvus部署Ubuntu 22+docker+Milvus(Standalone)

Milvus 向量数据库部署实战。含 Ubuntu 22.04 环境准备:换阿里云源、华为云镜像安装 Docker 及 Compose 插件、配置国内镜像加速;再用官方脚本一键启动 Milvus Standalone(v2.6.0)。重点排坑:镜像拉取超时(daemon.json 源失效)如何换源重启;脚本不可用时如何自建完整 standalone_embed.sh(含 start/stop/restart/upgrade/delete 五子命令)。适合想快速在 Ubuntu 上落地向量数据库的开发者。

2025-08-18 19:43:55 1012

原创 windows下的gosseract OCR

gosseract是Go语言构建的Tesseract,采用MIT协议分发。3.点击MinGW-W64-builds,然后点击GitHub。使用gosseract需要提前安装Tesseract.3.安装依赖,将MSYS加入系统path搜索路径。2.安装,记录安装路径。如,C:\msys64。需要设置环境变量CGO_ENABLED=1。4.根据需要选择合适的版本。1.进入MinGW官网。

2025-08-12 11:33:53 435

原创 VecDB第一篇:Go + Ollama 构建的tinyRAG应用, 如何将本地prompt知识库传送到deepseek。Prompt提示工程RAG。

本文介绍了一个基于Go语言和Ollama构建的轻量级RAG系统,专为非技术背景的眼科医生客户设计。系统采用提示词工程方式,将本地知识库(txt文件)与用户问题结合后通过Ollama调用DeepSeek模型生成回答,省去了复杂的数据库设置。项目结构简单,包含知识库加载、Ollama接口调用等核心功能模块,支持通过配置文件调整运行参数。安装只需下载Ollama、DeepSeek模型并编译运行Go代码即可。系统针对老年用户优化了操作方式,仅需将知识库文件放入指定目录即可使用,实现了技术门槛低、部署简单的智能客服解

2025-08-09 00:59:49 628

原创 Golang语言Swagger的Demo

摘要:本文介绍使用Swagger为Gin框架生成API文档的步骤:1)创建demo工程;2)修改import;3)安装swag CLI工具和Gin集成包(go install/swag和get两个依赖包);4)运行swag init生成文档。示例代码展示了main.go中如何配置Swagger路由("/swagger/*any")和API路由("/api/v1/user/:id"),包含Swagger注解规范。最后可通过访问8080端口查看文档效果。(149字)

2025-06-20 06:18:32 298

原创 简单的C语言深度学习算法。

这段C语言代码实现了一个教学用的简单神经网络(2-4-2结构),用于解决XOR异或问题。网络采用ReLU作为隐藏层激活函数,Softmax作为输出层激活函数。主要功能包括:1) 网络初始化,使用随机值设置权重和偏置;2) 前向传播计算,包含ReLU和Softmax激活;3) 反向传播计算梯度;4) 权重更新。代码不使用任何第三方库,完整实现了训练过程(10000轮)和预测功能,最终能正确分类XOR问题的4种输入组合。该实现展示了神经网络的基本原理,包括激活函数、损失计算和梯度下降等核心概念。

2025-06-19 10:31:40 470

原创 ThinkPHP8 中间件:多应用模式实现多语言功能

ThinkPHP8 中的多语言支持。\think\middleware\LoadLangPack.php 好像并不能很好的支持多语言的切换,其中$this->lang->setLangSet($langSet) 和$this->lang->switchLangSet($langset)两个语句并不能实现通过传参的方式切换语言。app\index\middleware\IndexAppLangMiddleware.php 语言切换控制中间件。app\index\config\lang.php 语言配置。

2024-10-02 07:46:58 1515

原创 gn args错误

查看原因是components\bookmarks\managed下的BUILD.gn内容错误。从git库找到正确的内容。

2024-09-17 06:38:07 541 1

ccc@二层三层数据流分析

二层三层数据流分析 二层三层数据流分析 二层三层数据流分析二层三层数据流分析

2008-11-15

@#Lucene_In_Action中文#@

Lucene 搜素 分词 本版本从CSDN中获得,原内容可从CSDN的网上看到http://book.csdn.net/bookfiles/276/. 希望大家共同探讨.QQ群: 12966179 王小波 2008/12/10 如果想要搜索存储在硬盘上的文件、电子邮件、或网页,甚至是数据库中的数据,Lucene都可以帮你完成。但是,在进行搜索以前,你必须预先完成对这些数据的索引操作(Indexing),这正是本章所要讲解的主题。接下来,你将学会如何对数据进行索引。 在第1章中我们演示了一个简单的索引过程的例子。这一章将更加深入地讲解索引的更新操作、如何通过参数来调整索引的过程,以及更高级的索引操作技巧,从而帮助你更加全面地理解Lucene。本章还涉及Lucene索引的内部结构,用多线程和多进程访问Lucene时的重点和难点,以及防止并发索引修改的锁机制这些内容。

2008-12-10

####Remobjects Chrome.v2.0.5.431#

Chrome.v2.0.5.431 And Licence

2008-11-19

#Remobjects SDK.for.NET.v5.0.25.631#

SDK.for.NET.v5.0.25.631

2008-11-19

CCNA学习指南英文第五版(电子工业出版)

CCNA学习指南英文第五版(电子工业出版)

2008-11-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除