[合集]本地大模型编程实战

此系列文章讲述了:如何在普通电脑上自己写代码完成常见的基于大语言模型能力的任务。 ...

一月 23, 2025 · 1 分钟 · 火云

本地大模型编程实战(37)使用知识图谱增强RAG(3)

本文将简单介绍如何使用 AutoSchemaKG 提升 RAG(Retrieval Augmented Generation,检索增强生成) 的问答效果。实现的主要思路是: 解析知识图谱文件:用 NetworkX 解析 GraphML 知识图谱文件; 嵌入:用 FAISS (Facebook AI Similarity Search) 矢量化节点(实体、事件、概念),并将边的 “源节点 + 关系 + 目标节点” 拼接为字符串之后再做嵌入; 语义检索: 检索 “源节点 + 关系 + 目标节点” 的矢量库,找出最相似的文档,再用 大语言模型(LLM)对结果进一步筛选,筛选出节点; 检索相似的 passage(文本段落); 将上述包含分数的结果合并,将分数作为初始权重,通过 NetworkX 的 Pagerank 方法在 知识图谱 中通过节点间的关联关系传播权重,权重更新后,选择权重最高的 passage(文本段落) 为结果。 PageRank 核心原理(知识图谱场景): 给节点赋予初始权重(与查询相关的节点权重高) 每个节点将自身权重按 “出边数量” 平均分配给相邻节点(例如,节点 A 有 2 条出边,就将自身权重的 1/2 分别传给两个邻居) 迭代传播,直到权重分布稳定(误差小于 tol),最终每个节点的 pr[node] 即为 “综合相关度分数”。 通过权重传播,与查询节点间接关联的节点(例如 “苹果手机”→“苹果公司”→“芯片供应商”)也能获得较高分数,挖掘出 “字面不直接匹配但语义相关” 的内容。 传统的 RAG(Retrieval Augmented Generation,检索增强生成) 一般是直接查询返回相似的 passage(文本段落),没有上述通过知识图谱调整权重的过程。 ...

九月 8, 2025 · 2 分钟 · 火云

本地大模型编程实战(36)使用知识图谱增强RAG(2)生成知识图谱

本文将简单介绍如何把文本生成 知识图谱(Knowledge Graph)。具体来说,是使用开源项目 AutoSchemaKG 生成 GraphML 。 GraphML 是 XML(Extensible Markup Language) 格式的文件,可以使用 NetworkX 等框架轻松处理这种格式的文件。下图是一个典型的 GraphML : ...

九月 7, 2025 · 2 分钟 · 火云

本地大模型编程实战(35)使用知识图谱增强RAG(1)知识图谱简介

知识图谱(Knowledge Graph)本质上是一种结构化的语义知识库,它以 “实体 - 关系 - 实体” 的三元组形式,将现实世界中的概念、实体及其关联关系进行建模和存储,核心目标是让机器能够像人一样理解和运用知识。下图就是一个典型的知识图谱: 知识图谱的主要特点是建立了“知识”之间的关联,所以它的强项是 推理 ,HugeGraph 、NetworkX 支持 PageRank(在后面RAG中会用到)、k-短路、LPA(标签传播算法)、Jaccard 相似度 等算法。有了这些支持,它在 搜索引擎 、智能问答RAG(Retrieval Augmented Generation,检索增强生成) 等领域都有广泛的应用,可以明显提升这些领域应用的智能化水平。 ...

九月 6, 2025 · 2 分钟 · 火云

本地大模型编程实战(34)使用faiss实现语义检索

FAISS(Facebook AI Similarity Search)是 Facebook AI 研究院开发的一款高效的向量相似性搜索库,专门用于优化大规模高维向量的近邻搜索任务,广泛应用于语义检索、图像检索、推荐系统等场景。 本文将详细介绍如何使用 FAISS 实现语义检索。具体内容包括: 将内容矢量化并保存为索引 在保存索引的同时,保存每条信息的相关信息metadata 通过矢量库进行语义检索 语义检索是一种基于内容含义(语义)而非表面关键词的信息检索技术,核心目标是让计算机 “理解” 用户查询的真实意图,从而返回含义相关的结果,而非仅匹配字面关键词的内容。 传统检索(如早期搜索引擎)依赖关键词匹配,例如用户搜索 “如何缓解头痛”,仅会返回包含 “缓解”“头痛” 等字面词汇的内容,若某篇文章写 “应对偏头痛的方法”(未出现 “缓解”“头痛”),则会被遗漏。 语义检索则通过语义嵌入(Embedding) 技术解决这一问题: 将文本转化为 “语义向量”:用 AI 模型(如 BERT、BGE-M3 等)把用户的查询、待检索的文档(句子 / 段落)都转化为高维向量(类似 “数字指纹”),向量的相似度直接对应内容语义的相似度。 通过向量相似度匹配结果:计算 “查询向量” 与 “文档向量” 的相似度(如余弦相似度),排序后返回相似度最高的内容,实现 “含义相关即匹配”。 ...

九月 5, 2025 · 3 分钟 · 火云