RAG-GPT实践过程中遇到的挑战

Embedding models 嵌入模型是专门训练以生成向量嵌入的模型:这些是代表给定文本序列语义含义的长数组:生成的向量嵌入数组可以存储在数据库中,该数据库会进行比较以搜索语义相似的数据。 阅读详情

引言

前面介绍了使用RAG-GPT和OpenAI快速搭建LangChain官网智能客服。有些场景,用户可能无法通过往外网访问OpenAI等云端LLM服务,或者由于数据隐私等安全问题,需要本地部署大模型。本文将介绍通过RAG-GPT和Ollama搭建智能客服。

RAG技术原理介绍

在介绍RAG-GPT项目之前,我们首先要理解RAG的基本原理,RAG在问答系统中的一个典型应用主要包括三个模块,分别是:

  • Indexing(索引):将文档分割成chunk,编码成向量,并存储在向量数据库中。
  • Retrieval(检索):根据用户输入query和向量数据库中chunks语义相似度检索与问题最相关的前k个chunk,形成本次问答的上下文。
  • Generation(生成):将原始问题和检索到的chunks整合形成合适的prompt一起输入到LLM中,让LLM输出与上下文有关的回答。

智能文档的在线检索流程可以用一张图说明,上图中展示了一个完整的问答流程:

  • 用户发起query
  • 结合Bot实际应用场景,评估是否对query进行rewrite
  • Retieval模块根据query检索出Indexing中的相关的文档
  • 将召回的文档进行Reranking
  • 并且根据relevance score进行过滤,过滤掉低质的文档
  • 形成合适的Prompt后输入到LLM大模型中,最后生成答案

以上是对RAG技术的基本介绍,如果想深入了解技术细节可以参考这篇文章:RAG技术全解析:打造下一代智能问答系统。

如何快速实现RAG的智能问答系统?

从RAG的原理介绍中可以看到要实现RAG整套架构还是存在一定工作量,需要构建索引、检索、集成LLM、Prompt优化等一系列模块,具有一定的难度。

基于此,RAG-GPT提供了一整套开源解决方案,旨在利用LLM和RAG技术快速搭建一个全功能的客服解决方案。该项目基于Flask框架,包括前端用户界面、后端服务和管理员控制台,为企业利用LLM搭建智能客服等对话场景提供了一个完整的自动化解决方案,可以帮助开发者快速搭建一个智能问答系统,且代码完全开源。
项目地址:
https://github.com/open-kf/rag-gpt

RAG-GPT的基本架构

RAG-GPT关键特性:

  • 内置LLM支持:支持云端LLM和本地LLM。
  • 快速设置:只需五分钟即可部署生产级对话服务机器人。
  • 多样化知识库集成:支持多种类型的知识库,包括网站、独立URL和本地文件。
  • 灵活配置:提供用户友好的后台,配备可定制的设置以简化管理。
  • 美观的用户界面:具有可定制且视觉上吸引人的用户界面。

从特性可以知道,RAG相比一些商业收费的基于知识库的问答系统优势在于:

  • 易用、快速搭建。
  • 能自主管理知识库,避免商业秘密和知识产权泄漏。
  • 可以自主选择LLM模型和甚至扩展部署本地模型。

RAG-GPT 快速搭建智能问答系统

RAG-GPT的基本组成分为三部分:
- 智能问答后端服务
- 管理后台系统
- 用户使用的ChatBot UI。

下面,将介绍如何启动RAG-GPT项目和使用这三个模块,将RAG-GPT集成到你的网站只需要5个步骤:

1. 下载源代码,通过Git克隆RAG-GPT的GitHub仓库:

git clone https://github.com/open-kf/rag-gpt.git && cd rag-gpt

2.配置环境变量

[!NOTE]

我们首先需要下载&安装Ollama。

然后下载Embedding模型和LLM底座模型。

Ollama启动默认绑定的IP:PORT是127.0.0.1:11434,可以参考这篇文档修改默认配置。

Embedding模型我们选择mxbai-embed-large

LLM底座模型我们选择llama3


在启动RAG-GPT服务之前,需要修改相关配置,以便程序正确初始化。

cp env_of_ollama .env

.env 文件中的变量

LLM_NAME="Ollama"
OLLAMA_MODEL_NAME="xxxx"
OLLAMA_BASE_URL="http://127.0.0.1:11434"
MIN_RELEVANCE_SCORE=0.3
BOT_TOPIC="OpenIM"
URL_PREFIX="http://127.0.0.1:7000/"
USE_PREPROCESS_QUERY=0
USE_RERANKING=1
USE_DEBUG=0

对 .env 中的变量做以下调整:

  • 不要修改 LLM_NAME。
  • 更新 OLLAMA_MODEL_NAME 设置,这里我们使用llama3,请求和响应的API接口,可以和OpenAI兼容。
  • 更新 OLLAMA_BASE_URL 设置,我们修改为http://192.168.2.36:11434。注意,这里只需要配置IP:PORT,尾部不要加上 / 或者其它URI。
  • 将 BOT_TOPIC 更改为你的机器人的名称。这非常重要,因为它将在构造Prompt中使用。我在这里要搭建关于OpenSSL Cookbook的智能客服,所以改写为OpenSSL。
  • 调整 URL_PREFIX 以匹配你的网站的域名。
  • 有关常量的含义和用法的更多信息,可以查看 server/constant 目录下的文件。

3.执行启动命令

分别执行以下命令,即可启动。

[!NOTE]

请使用 Python 3.10.x 或以上版本。

先安装python依赖项

python3 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt

启动项目即可:

python create_sqlite_db.py
python rag_gpt_app.py

或者执行

sh start.sh

4.快速体验聊天效果

  • 启动服务后先打开管理后台。

首先要登录到管理后台,浏览器输入:
http://192.168.2.36:7000/open-kf-admin/
登录账号为:admin 密码 :open_kf_AIGC@2024 .

  • 导入知识库,这里上传openssl-cookbook.pdf。

在管理后台切换到 Source tab,从本地磁盘上传openssl-cookbook.pdf,
然后点击 Upload 即可一键上传本地文档作为知识库。

上传本地文档到服务端后,初始状态是 Recorded。 服务端会通过一个异步任务解析上传的文档,并且计算Embedding,然后存入向量数据库。

服务端处理完后,可以看到上传文档的日志。

在admin页面,在管理后台上,上传文档展示的状态都是 Trained 。

浏览器打开
http://192.168.2.36:7000/open-kf-chatbot/,就可以访问Bot了。

5.一键嵌入到网站

RAG-GPT提供了将聊天机器人嵌入到网站的方法,使得用户可以直接在网站上使用智能问答服务。
打开管理后台菜单切换到embed,复制两个代码即可实现一键嵌入,这两个代码片效果分别如下:一个是iframe嵌入一个聊天窗口,一个是在页面右下角点击弹出聊天窗口。
可以新建一个文本文件,将代码复制进去,用浏览器打开就可以看到嵌入效果了。

6.管理后台其他功能

  • 管理员可以通过仪表板查看用户的历史请求记录,以便进行分析和优化。

可以按照时间、用户查询聊天记录和修改问答对的答案以更符合自身需求。

  • 配置聊天对话的UI

用户可以定制化聊天对话框的风格,使其更符合自身网站的风格特性。

结语

RAG-GPT项目具备开源免费、易于部署集成、开箱即用和功能丰富的特点,为LLM大模型在特定领域的应用落地提供了一套企业级的解决方案。RAG-GPT已经支持本地文件知识库,集成国内LLM大模型等特性,使得RAG-GPT满足更多样化的需求。

关于我们

OpenIM是领先的开源即时通讯(IM)平台,目前在GitHub上的星标已超过13k。随着数据和隐私安全的重视以及信息技术的快速发展,政府和企业对于私有部署的IM需求急剧增长。OpenIM凭借“安全可控”的特点,在协同办公软件市场中占据了一席之地。在后AIGC时代,IM作为人机交互的首要接口,其价值愈发重要,OpenIM期待在此时代扮演更关键的角色。

基于这样的视角,我们最近开源了RAG-GPT项目,已被部分企业采用并持续完善中。
如果您对RAG-GPT感兴趣,可以访问以下链接了解更多信息:

项目地址:
https://github.com/open-kf/rag-gpt

在线Demo: https://demo.rentsoft.cn/

我们的目标是改进文件管理功能,更有效地管理数据,并整合企业级知识库。欢迎大家在GitHub上Star并关注,支持我们的开源旅程。

开源说明:RAG-GPT采用Apache 2.0许可,支持免费使用和二次开发。遇到问题时,请在GitHub提Issue或加入我们的OpenKF开源社区群讨论。如果您需要更智能的客服系统,请与我们联系。

【LangChain编程:从入门到实践】RAG技术的关键挑战 RAG, LangChain, 检索式生成, 知识图谱, 问题回答, 挑战, 优化 1. 背景介绍 近年来,大语言模型(LLM)的快速发展,如GPT-3、LaMDA等,为自然语言处理(NLP)领域带来了革命性的变革。这些模型展现出惊人的文本生成、翻译、摘要等能力,但同时也面临着一些关 阅读详情

相关推荐

Smali语言基础语法

定义、声明、调用 Smali数据类型 定义:与Java相同,Smali中也有一套数据类型体系,且该体系实质上是同Java一一对照的。 示例1:Smali——Java数据类型对照表 PS:如上图所示,Smali语言中的数据类型的关键词基本上为Java中同名数据类型的首字母大写,需要着重记忆的例外为:1.long类型的关键词为大写J;2.boolean类型的关键词为大写Z;3.数组的关键词为左半边中括号[;4.object类型(各种类)的关键词为大写L加上该类的全类名路径,路径中的层级用/分割。

aketoshknight的博客 1万+

开发文档 RAG 的 GPTs 如何更高效地帮你 AI 编程?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费)某些看似门槛很高的专业技能,在 AI 冲击下居然那么脆弱。需求自从有了ChatGPT,我拿它编程很久了。今年春季学期的《深度学习》课,它至少帮我剩下了50%的备课写代码时间。我和ChatGPT切磋讨论,交互过程非常愉快。但用 ChatGPT/GPT-4 编程,有个非常明显的痛点 —— 模型知识的滞后性。对于那些许久...

玉树芝兰 1259

手把手教你搞定JBI投稿:从Statement of Significance到Declaration Statement的保姆级避坑指南

本文提供了一份详细的JBI投稿指南,重点解析Statement of Significance和Declaration of Interests的撰写技巧,帮助研究者避开常见格式陷阱。通过实战案例和检查清单,确保投稿符合JBI的学术严谨性和临床转化价值要求,提升稿件通过率。

weixin_29278805的博客 624

使用 Llama3 和 Ollama 改进了 RAG

在本文中,我们将创建一个高级 RAG,它将根据作为管道输入给出的研究论文来回答用户查询。用于构建该管道的技术堆栈如下。Ollama 嵌入模型 mxbai-embed-largeOllama 量化Llama-3 8b 模型本地托管的 Qdrant 向量数据库。通过这种设置,明显的两件事是所产生的成本绝对为 0,并且信息高度安全和私密。

m0_59164520的博客 1673

ChatGPT Plus账号被降智?3个实用检测方法+终极解决方案(附国内支付指南)

本文针对ChatGPT Plus账号性能下降问题,提供了3个科学检测方法和系统级解决方案。通过详细分析症状、专业诊断技巧和优化策略,帮助用户有效应对GPT-4o等高级功能失效、响应质量下降等问题,特别包含国内用户关心的支付方案和账号管理建议。

weixin_42639633的博客 473

Claude Skills:不是更聪明,而是更“像专家”的 Agent 养成方法

Claude Skills 不是在告诉 Agent“你能做什么”, 而是在约束它“你应该如何思考、如何判断、如何给结论”。

测试者家园 1295

[404] Not Found - {“error“:“model \“mxbai-embed-large\“ not found, try pulling it first“}

1. 本地虚拟机配置rag,出现如上错误, 一开始比较蒙,因为已经run起来了deepseek-r1:7b模型,但是启动报错,说模型mxbai-embed-large找不到,搜索了下明白问题,原来是将文本进行向量化的一个模型,ollama下载run即可解决报错。3. 虚拟机 pull下来,run即可。

求是 1395

LLM推理服务中的SLO感知调度优化实践

在AI服务架构中,服务级别目标(SLO)是衡量服务质量的核心指标,特别是在大型语言模型(LLM)推理场景下。SLO通常涉及TTFT(首token时间)、TPOT(每token生成时间)和端到端延迟等关键维度,这些指标直接影响用户体验和系统效率。传统FCFS调度策略由于缺乏SLO感知能力,在混合负载下往往导致资源利用率低下和SLO达标率骤降。通过引入基于模拟退火的动态调度算法和精准的延迟预测模型,可以实现对不同优先级请求的智能调度,显著提升GPU利用率和SLO达标率。这种技术方案特别适用于需要同时处理实时对话

weixin_42549154的博客 372

RAG-GPT 实践过程中遇到的挑战

大型语言模型(LLM)的新进展,包括ChatGPT,为AI应用提供了新的能力,使其能够`构建新的人机交互解决方案`、`完成复杂任务`、`总结文档`、`回答文献中的问题并生成新内容`。然而,LLM在获取最新知识或企业内部知识库中的领域特定知识时仍存在局限性。

2401_85325519的博客 1035

大疆司空 2 私有化部署:FH2、Terra、4G 三大服务区别详解

摘要: 司空2私有版包含三大模块:FH2(核心平台,必选)、Terra(建模算力,需NVIDIA显卡)、4G(内网图传)。FH2是基础,支持设备管理与任务调度;Terra适用于测绘建模场景,依赖GPU算力;4G模块保障复杂环境下的图传稳定性,适合纯内网部署。选择逻辑:先部署FH2,再按需添加Terra(需显卡)或4G(需内网支持),避免资源浪费。

2501_93651177的博客 580

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像

|~~~热爱生活、努力学习的小伙汁~~~| 1092

定制GPT在高等教育中的应用:从学科专家到个人学习教练的实践探索

大语言模型(LLM)作为人工智能的前沿技术,其核心原理是通过海量数据训练,学习人类语言的复杂模式与知识关联。这项技术的价值在于能够理解和生成类人文本,实现智能对话与任务执行。在教育领域,其应用场景尤为广阔,能够为个性化学习提供强大支持。通过检索增强生成(RAG)技术,可以精准接入领域知识库,有效提升模型输出的准确性与专业性。同时,智能体(Agent)架构赋予模型记忆、规划和工具调用能力,使其从简单的问答工具升级为具备持续交互与适应性的智能伙伴。本文聚焦于如何将通用大模型深度定制,构建服务于高等教育的“沉浸式

csdndownload11123的博客 396

用AI科研绘图全新升级!借助谷歌新发布模型Nano Banana pro实测一键绘制机制图与技术路线图,直接告别文字乱码与低画质

之前有同仁反馈,用Nano Banana画科研插图的时候,要么文字部分容易乱码,要么抓不住关键内容,画出来的效果反复修改后,还是达不到理想的效果。终于在Gemini 3发布没几天,万众期待的大香蕉模型也成功升级到了Pro版本,官方名称叫“Gemini 3 Pro Image”,实际上也就是我们说的Nano Banana 2。这次的Nano Banana Pro模型,不仅可以直出4K高清图,还能自定义比例,推理能力和中文文字的稳定性也得到了提升。

智能AI让学术科研更容易 1889

使用RAG-GPT快速搭建LangChain官网智能客服

Indexing(索引):将文档分割成chunk,编码成向量,并存储在向量数据库中。Retrieval(检索):根据用户输入query和向量数据库中chunks语义相似度检索与问题最相关的前k个chunk,形成本次问答的上下文。Generation(生成):将原始问题和检索到的chunks整合形成合适的prompt一起输入到LLM中,让LLM输出与上下文有关的回答。用户发起query结合Bot实际应用场景,评估是否对query进行rewrite。

alysblmd 3914

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

大模型RAG实战:使用RAG-GPT和Ollama搭建智能客服

本文将介绍通过RAG-GPT和Ollama搭建智能客服。

2301_81888214的博客 2260

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

使用RAG-GPT和Ollama搭建智能客服

本文介绍了通过RAG-GPT和Ollama搭建智能客服的详细步骤。RAG-GPT结合信息检索和LLM的生成能力,实现了上下文相关、准确且最新的智能问答系统。通过五个步骤下载源码、配置环境变量、启动项目、体验聊天效果以及嵌入网站,用户可以快速部署并使用智能客服。本文还详细讲解了RAG技术原理、系统组成和管理后台功能,强调了RAG-GPT开源项目在数据隐私、安全性、可扩展性等方面的优势。RAG-GPT提供了一套完整的企业级解决方案,支持本地文件知识库和国内LLM大模型集成。

alysblmd 4337

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RAG通用范式:RAG的入门介绍与实践优化

本文详细的介绍了RAG遇到的挑战、通用范式、工程实践、优化实现策略等内容

my_name_is_learn的博客 2066

RAG-GPT 开源项目教程

RAG-GPT 是一个利用大型语言模型(LLM)和检索增强生成(RAG)技术构建的智能客服系统。该项目能够从用户自定义的知识库中学习,提供与上下文相关的答案,确保快速和准确的信息检索。RAG-GPT 支持多种类型的知识库,包括网站、孤立的URL和本地文件,并提供灵活的配置选项和吸引人的用户界面。 ## 项目快速启动 ### 1. 下载项目代码 首先,克隆 RAG-GPT 的 GitHub 仓...

gitblog_00925的博客 1265

一文讲明白所有RAG概念!附带完整RAG实践过程!

检索增强生成技术,通过「检索外部知识 + 大模型生成」的组合模式,让 AI 在回答时既能调用预训练知识,又能实时查询专属知识库,解决传统大模型 “幻觉” 和 “数据滞后” 问题。

2301_76168381的博客 2098

【LLM大模型】使用RAG-GPT和Ollama搭建智能客服

Indexing(索引):将文档分割成chunk,编码成向量,并存储在向量数据库中。Retrieval(检索):根据用户输入query和向量数据库中chunks语义相似度检索与问题最相关的前k个chunk,形成本次问答的上下文。Generation(生成):将原始问题和检索到的chunks整合形成合适的prompt一起输入到LLM中,让LLM输出与上下文有关的回答。用户发起query结合Bot实际应用场景,评估是否对query进行rewrite。

AAI666666的博客 2539

AI RAG系列: 第10篇:【RAG的挑战与未来趋势】

什么是RAG(基础入门)RAG完整流程(从文档到回答)为什么需要RAG(实际痛点)系统设计五大关键向量检索与Embedding详解检索与生成的融合策略增强技巧详解(Query Rewrite、HyDE…)框架对比(LangChain、LlamaIndex、Haystack)实战搭建一个完整RAG系统而今天的第10篇,我们从挑战到趋势,画下句号,也拉开新一阶段的序幕。未来的RAG系统,将是:多模态的、个性化的、推理驱动的、安全可信的、轻量快速的。

啊不行了,要长脑子了 5240

【快速搭建】使用RAG-GPT构建LangChain官网智能客服系统

Indexing(索引):将文档分割成chunk,编码成向量,并存储在向量数据库中。Retrieval(检索):根据用户输入query和向量数据库中chunks语义相似度检索与问题最相关的前k个chunk,形成本次问答的上下文。Generation(生成):将原始问题和检索到的chunks整合形成合适的prompt一起输入到LLM中,让LLM输出与上下文有关的回答。用户发起query结合Bot实际应用场景,评估是否对query进行rewrite。

m0_63171455的博客 2061
上一篇: RAG-GPT实践过程中遇到的挑战
下一篇: openim如何与现有系统集成
OpenIM
博客等级 码龄5年 295粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值