智能体(AI Agent)开发实战之【LangChain】(三)结合大模型基于RAG实现本地知识库问答优化

简介: 智能体(AI Agent)开发实战之【LangChain】(三)结合大模型基于RAG实现本地知识库问答优化

上一篇介绍了基于RAG实现简单的知识库问答功能,使用了两个向量数据库Chroma和FAISS,测试了功能情况。这篇文章继续优化,引入开源嵌入大模型all-MiniLM-L6-v2,并改造为先用大模型回答,再根据问题关键词从内部知识库查询问答结果。
一、嵌入大模型all-MiniLM-L6-v2介绍
all - MiniLM - L6 - v2 是一个轻量级的语言模型,在自然语言处理领域应用广泛。基于 Transformer 架构,有 6 层 Transformer 编码器,具有 38M 参数,模型文件大小约 70MB。该系列模型旨在通过知识蒸馏等技术,在保持较高性能的同时,减小模型规模,提高模型的运行效率和可部署性。以下是这个模型的特点
1.轻量级
参数量少,模型文件小,运行时资源消耗少,在 CPU 上推理速度可达 780 字 / 秒,GPU 显存需求仅 2GB,适合在边缘设备、集成显卡或资源受限的环境中运行。
2.性能出色
通过对比学习和知识蒸馏技术,在句子相似度、信息检索等任务中表现优异,在相关的 MTEB 榜单准确率接近大型模型,尤其擅长处理短文本。并且对多语言有较好的兼容性,支持 30 多种语言场景。
3.开发友好
借助 sentence - transformers 库,仅需几行代码即可加载模型并生成句子嵌入,开发成本低,便于集成到各种应用中。同时,它还支持与 Faiss 、Chroma等向量数据库结合,实现高效的文本聚类与检索。
二、具体的功能实现
1.创建HuggingFaceEmbeddings实例

model_path = r"E:\models\all-MiniLM-L6-v2"
model_kwargs = {'device': 'cpu'}
encode_kwargs = {'normalize_embeddings': True}

embeddings = HuggingFaceEmbeddings(
    model_name=model_path,
    model_kwargs=model_kwargs,
    encode_kwargs=encode_kwargs
)

# 使用 Chroma 创建向量数据库并存储文档向量
vectorstore = Chroma.from_documents(docs, embeddings)

2.问答优化

# 获取用户输入的问题
question = input("请输入你的问题(输入 'q' 退出):")
   if question.lower() == 'q':
      break
   else:
      if "知识库" not in question:
          response = chat_model.invoke(question)
          print("答案是:", response.content)
      else:
           answer = qa.run(question)
           print("答案是:", answer)

3.运行代码测试功能
增加了几个文档,从不同纬度描述了相关内容,如下图所示:
image.png
运行效果如下图所示:
image.png

三、总结
all-MiniLM-L6-v2是低版本的模型,我只是为了本地测试。如需要可以使用更大参数的all-MiniLM-L12-v2等。不同的预训练模型在不同的任务和领域中可能表现不同,要根据具体需求选择合适的模型。后续可基于这个功能进行扩展和优化,敬请关注。

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
6月前
|
存储 机器学习/深度学习 人工智能
构建AI智能体:三、Prompt提示词工程:几句话让AI秒懂你心
本文深入浅出地讲解Prompt原理及其与大模型的关系,系统介绍Prompt的核心要素、编写原则与应用场景,帮助用户通过精准指令提升AI交互效率,释放大模型潜能。
1142 6
|
6月前
|
人工智能 自然语言处理 算法
AISEO咋做?2025年用AI优化SEO和GEO 的步骤
AISEO是AI与SEO结合的优化技术,通过人工智能生成关键词、标题、内容等,提升网站排名。它支持多语言、自动化创作,并利用高权重平台发布内容,让AI搜索更易抓取引用,实现品牌曝光与流量增长。
1176 10
|
6月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
1903 6
|
6月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
2336 18
构建AI智能体:一、初识AI大模型与API调用
|
6月前
|
人工智能 安全 开发工具
C3仓库AI代码门禁通用实践:基于Qwen3-Coder+RAG的代码评审
本文介绍基于Qwen3-Coder、RAG与Iflow在C3级代码仓库落地LLM代码评审的实践,实现AI辅助人工评审。通过CI流水线自动触发,结合私域知识库与生产代码同仓管理,已成功拦截数十次高危缺陷,显著提升评审效率与质量,具备向各类代码门禁平台复用推广的价值。(239字)
1234 24
|
人工智能 搜索推荐 JavaScript
【Geo专家于磊】深度解析:Geo优化中的Schema标签,如何让你的内容在AI时代脱颖而出?
微笑老师详解Geo优化中Schema标签的写法,揭示如何通过结构化数据提升AI时代下的内容可见性。从选择类型、填写关键属性到JSON-LD格式应用与测试验证,全面掌握Geo优化核心技巧,助力本地商家在搜索结果中脱颖而出。(238字)
653 4
|
6月前
|
机器学习/深度学习 人工智能 JSON
PHP从0到1实现 AI 智能体系统并且训练知识库资料
本文详解如何用PHP从0到1构建AI智能体,涵盖提示词设计、记忆管理、知识库集成与反馈优化四大核心训练维度,结合实战案例与系统架构,助你打造懂业务、会进化的专属AI助手。
837 6
|
6月前
|
数据采集 人工智能 程序员
PHP 程序员如何为 AI 浏览器(如 ChatGPT Atlas)优化网站
OpenAI推出ChatGPT Atlas,标志AI浏览器新方向。虽未颠覆现有格局,但为开发者带来新机遇。PHP建站者需关注AI爬虫抓取特性,优化技术结构(如SSR、Schema标记)、提升内容可读性与语义清晰度,并考虑未来agent调用能力。通过robots.txt授权、结构化数据、内容集群与性能优化,提升网站在AI搜索中的可见性与引用机会,提前布局AI驱动的流量新格局。
338 8

热门文章

最新文章