当前位置: 首页 > news >正文

易学探索助手-个人记录(十四)

项目背景

在大语言模型(LLM)完成指令微调(SFT)之后,虽然可以处理开放式问答任务,但在专业领域(如《周易》)仍面临知识更新滞后、事实性薄弱等问题。为此,本文介绍如何通过 LightRAG(轻量级检索增强生成) 实现知识增强问答系统,结合微调后的模型(如 Qwen-32B),提升推理质量,同时支持知识图谱的自动提取与展示。

🛠 技术栈与核心组件

技术作用
Flask提供 REST 接口服务
LightRAG实现轻量级 RAG 检索增强
OpenAI SDK调用 Qwen 模型(微调版本)
NumPy向量操作、embedding 处理
OpenPyXL预留用于知识来源处理(可选)
asyncio异步任务管理
Embedding 模型BAAI/bge-m3 用于语义检索
自定义推理模板用于回答结构化、含推理的回答

项目结构概述

  • 初始化部分

    • 设置工作目录、环境变量

    • 定义全局变量 rag

  • LightRAG 初始化

    • 配置向量维度、最大 token 数量、调用 embedding 与 LLM 函数

  • 核心函数

    • llm_model_func:封装大模型推理接口

    • embedding_func:封装向量化调用(BAAI/bge-m3)

    • getPrompt():调用 LightRAG 进行混合检索,返回带上下文的 prompt

    • qwen_32b_stream():流式输出回答,嵌入推理与知识图谱标签

    • get_graph():调用 LightRAG 提取相关知识子图

  • 接口

    • /qwen14b:基础问答(不含图谱)

    • /qwen32b:增强问答 + 图谱融合

    • /qwen32b_SFT:直接使用微调模型(无检索)

    • /getGraph:知识图谱提取接口

 核心功能详解

1. 初始化 LightRAG

def init_lightrag():global ragrag = LightRAG(working_dir=WORKING_DIR,llm_model_func=llm_model_func,embedding_func=EmbeddingFunc(embedding_dim=1024,max_token_size=8192,func=embedding_func,),)
  • 工作目录:所有缓存、索引存储于 WORKING_DIR

  • llm_model_func:封装后的 LLM 调用接口(支持缓存)

  • embedding_func:向量化查询的底层函数(异步调用)

2. 使用 LLM 进行回答(含上下文)

async def getPrompt(question):answer = await rag.aquery(question, param=QueryParam(mode="hybrid"))return [question, answer]
  • LightRAG 会检索与问题最相关的内容,然后将其作为系统提示 system_prompt,配合用户问题形成完整上下文。

3. 强化问答输出:Qwen-32B + 推理标签 + 图谱嵌入

messages.append({"role": "user","content": f"{prompt[1]}\n这是一段与问题相关的知识图谱信息,请用自己的知识和文中有效的信息结合回答..."
})
  • 指定系统提示角色为“研究《周易》的专家”

  • <inference> 标签输出推理过程

  • <answer> 标签输出答案

  • 强制模型不要直接引用“文中”、“表格”等字段,从而让回答更自然

4. 提取知识图谱(/getGraph

@app.route('/getGraph', methods=['POST'])
def get_graph():result = asyncio.run(rag.get_subgraph(request_dict["question"]))return json.dumps(result, ensure_ascii=False)
  • 调用 LightRAG.get_subgraph() 方法从知识索引中生成相关实体及关系图谱,前端可以基于此绘图

 调用流程图(简化)

   用户提问↓POST /qwen32b↓
getPrompt(question) 异步检索增强↓
rag.aquery(question, mode=hybrid)↓
生成 prompt → 传入 Qwen-32B 模型↓
模型回答(含推理与图谱信息)流式返回

项目亮点

  1. 基于本地部署的 LLM(Qwen)

    • 微调后可精确控制语气与内容结构

  2. 检索增强(RAG)机制

    • 使用 LightRAG 支持 hybrid 模式检索,融合语义 + BM25 效果更好

  3. 知识图谱生成

    • 自动提取知识图谱子图,为可视化或进一步推理提供支持

  4. 流式输出

    • SSE 格式适配前端实时展示,用户体验更佳

总结

本文展示了如何将大模型(Qwen)与 LightRAG 相结合,构建一个支持:

  • 检索增强问答(RAG)

  • 推理结构化输出(inference/answer)

  • 知识图谱提取

的专业型问答系统。这种系统在易学演讲领域具有广泛的应用潜力。

相关文章:

  • 常见的Linux命令
  • SQL Server 触发器调用存储过程实现发送 HTTP 请求
  • 基于算法竞赛的c++编程(26)指针的高阶用法
  • DeepSeek越强,Kimi越慌?
  • FTP下载Argo数据
  • 基于UniApp开发HarmonyOS 5.0鸿蒙汽车应用的指南
  • 新基建浪潮下:中国新能源汽车充电桩智慧化建设与管理实践
  • Linux 关键目录解析:底层机制与技术细节
  • 触发DMA传输错误中断问题排查
  • JS红宝书笔记 - 3.3 变量
  • 计算机网络自定向下:第二章复习
  • 多面体模型-学习笔记2
  • Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术点解析
  • 全链游戏模式:自治世界与AI增强型交互
  • Unity UGUI Button事件流程
  • 2025.6.9总结(利与弊)
  • ADS-B态势显示 ASD-View
  • GPIO(通用输入输出)与LPUART(低功耗通用异步收发传输器)简述
  • 【案例篇】为什么设置了 ulimit 但 nofile 限制仍不生效?
  • SpringCloudGateway 自定义局部过滤器
  • 建设一个网站要钱吗/天津seo推广服务
  • 奇趣网做网站/抖音推广渠道有哪些
  • 泉州网站设计公司/外贸建站公司
  • 南山老品牌网站建设/网站制作厂家有哪些
  • 网站建设的安全可行性/万网域名官网
  • 在阿里巴巴上做网站要多少钱/广告联盟点击赚钱平台