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

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

引言

随着GPT等大型语言模型(LLM)能力越来越强大,如何将这些模型精准地应用于特定垂直领域,让各行业开发者快速利用LLM赋能也成为热点和痛点。众所周知,LLM在处理超出其训练数据或涉及最新实事时,常会产生“幻觉”现象,简单理解就是会出现一本正经的胡说八道,回答不准确。针对此问题,RAG通过从外部知识库检索相关文档作为上下文输入到LLM有效地减少了生成内容不符合实际的情况。

RAG技术原理介绍

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

  • Indexing(索引):将文档分割成chunk,编码成向量,并存储在向量数据库中。
  • Retrieval(检索):根据用户输入query和向量数据库中chunks语义相似度检索与问题最相关的前k个chunk,形成本次问答的上下文。
  • Generation(生成):将原始问题和检索到的chunks整合形成合适的prompt一起输入到LLM中,让LLM输出与上下文有关的回答。
www.zeeklog.com  - 【快速搭建】使用RAG-GPT构建LangChain官网智能客服系统

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

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

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

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

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

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.配置环境变量

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

这里使用 OpenAI 作为 LLM 底座

cp env_of_openai .env

.env 文件中的变量

LLM_NAME="OpenAI"
OPENAI_API_KEY="xxxx"
GPT_MODEL_NAME="gpt-3.5-turbo"
MIN_RELEVANCE_SCORE=0.3
BOT_TOPIC="xxxx"
URL_PREFIX="http://127.0.0.1:7000/"
USE_PREPROCESS_QUERY=0
USE_RERANKING=1
USE_DEBUG=0

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

  • 不要修改 LLM_NAME
  • OPENAI_API_KEY 替换为你自己的密钥。请登录 (OpenAI 网站)[ ] 查看你的 API 密钥。
  • 更新 GPT_MODEL_NAME 设置,将 gpt-3.5-turbo 替换为 gpt-4-turbogpt-4o,如果你想使用 GPT-4。
  • BOT_TOPIC 更改为你的机器人的名称。这非常重要,因为它将在构造Prompt中使用。我在这里要搭建LangChain网站的智能客服,所以改写为LangChain
  • 调整 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

www.zeeklog.com  - 【快速搭建】使用RAG-GPT构建LangChain官网智能客服系统
4.快速体验聊天效果
  • 启动服务后先打开管理后台。

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

www.zeeklog.com  - 【快速搭建】使用RAG-GPT构建LangChain官网智能客服系统
  • 导入知识库,这里输入LangChain的网站。

在管理后台切换到source tab,输入LangChain官网地址:https://python.langchain.com/v0.1/docs/get_started/introduction/
点击 Fetch more links 即可一键爬取网站内容作为知识库。

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

在后台可以看到爬取网页URL的日志。

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

获取网站的所有网页URL后,此时网页URL展示的状态是 Stored。在管理后台,点击 Confirm 提交想要抓取的网页URL(默认抓取获取的所有URL)。

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

等所有网页URL的文本都被抓取,并且存入向量数据库后,在管理后台上所有网页URL展示的状态都是 Trained

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

浏览器打开

www.zeeklog.com  - 【快速搭建】使用RAG-GPT构建LangChain官网智能客服系统
5.一键嵌入到网站

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

www.zeeklog.com  - 【快速搭建】使用RAG-GPT构建LangChain官网智能客服系统
6.管理后台其他功能
  • 管理员可以通过仪表板查看用户的历史请求记录,以便进行分析和优化。

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

www.zeeklog.com  - 【快速搭建】使用RAG-GPT构建LangChain官网智能客服系统
  • 配置聊天对话的UI

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

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

结语

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

AI大模型学习路线

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

扫描下方csdn官方合作二维码获取哦!

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

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

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


第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

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

大模型全套视频教程

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

200本大模型PDF书籍

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

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

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

大模型产品经理资源合集

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

大模型项目实战合集

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

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

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

Read more

印度统治阶级锁死底层人的5大阳谋

印度统治阶级锁死底层人的5大阳谋

基于社会学和心理学视角: 1. 情感道德: 统治阶级通过塑造道德规范和情感价值观,引导底层人群的行为。例如,宣扬“勤劳致富”“忍耐美德”等观念,让底层人接受现状并自我约束。这种道德框架往往掩盖结构性不平等,使人们将个人困境归咎于自身而非系统。 2. 欲望控制: 通过消费主义和媒体宣传,统治阶级刺激底层人的物质与社会欲望(如名牌、地位),但同时设置经济壁垒,使这些欲望难以实现。底层人被困在追求“更好生活”的循环中,精力被分散,无法聚焦于挑战权力结构。 3. 情绪煽动: 利用恐惧、愤怒或民族主义等情绪,统治阶级可以通过媒体或公共事件转移底层人对社会问题的注意力。例如,制造外部敌人或内部对立(如阶层、种族矛盾),让底层人内耗而非联合反抗。 4. 暴利诱惑: 通过展示少数“成功案例”或快速致富的机会(如赌博、投机),诱导底层人追逐短期暴利。这种机制不仅让底层人陷入经济风险,还强化了对现有经济体系的依赖,削弱长期变革的可能性。 5. 权力震撼: 通过展示统治阶级的权力(

By Ne0inhk