赞
踩
随着GPT等大型语言模型(LLM)能力越来越强大,如何将这些模型精准地应用于特定垂直领域,让各行业开发者快速利用LLM赋能也成为热点和痛点。众所周知,LLM在处理超出其训练数据或涉及最新实事时,常会产生“幻觉”现象,简单理解就是会出现一本正经的胡说八道,回答不准确。针对此问题,RAG通过从外部知识库检索相关文档作为上下文输入到LLM有效地减少了生成内容不符合实际的情况。
在介绍RAG-GPT项目之前,我们首先要理解RAG的基本原理,RAG在问答系统中的一个典型应用主要包括三个模块,分别是:
智能文档的在线检索流程可以用一张图说明,上图中展示了一个完整的问答流程:
以上是对RAG技术的基本介绍,如果想深入了解技术细节可以参考这篇文章:RAG技术全解析:打造下一代智能问答系统。
从RAG的原理介绍中可以看到要实现RAG整套架构还是存在一定工作量,需要构建索引、检索、集成LLM、Prompt优化等一系列模块,具有一定的难度。
基于此,RAG-GPT提供了一整套开源解决方案,旨在利用LLM和RAG技术快速搭建一个全功能的客服解决方案。该项目基于Flask框架,包括前端用户界面、后端服务和管理员控制台,为企业利用LLM搭建智能客服等对话场景提供了一个完整的自动化解决方案,可以帮助开发者快速搭建一个智能问答系统,且代码完全开源。
项目地址:https://github.com/open-kf/rag-gpt
RAG-GPT关键特性:
从特性可以知道,RAG相比一些商业收费的基于知识库的问答系统优势在于:
RAG-GPT的基本组成分为三部分:
- 智能问答后端服务
- 管理后台系统
- 用户使用的ChatBot UI。
下面,将介绍如何启动RAG-GPT项目和使用这三个模块,将RAG-GPT集成到你的网站只需要5个步骤:
git clone https://github.com/open-kf/rag-gpt.git && cd rag-gpt
在启动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 中的变量做以下调整:
gpt-3.5-turbo
替换为 gpt-4-turbo
或 gpt-4o
,如果你想使用 GPT-4。LangChain'
。分别执行以下命令,即可启动。
[!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
首先要登录到管理后台,浏览器输入:http://127.0.0.1:7000/open-kf-admin/
登录账号为:admin
密码 :open_kf_AIGC@2024
.
在管理后台切换到source tab,输入LangChain官网地址:'https://python.langchain.com/v0.1/docs/get_started/introduction/'
,
点击 'Fetch more links'
即可一键爬取网站内容作为知识库。
在后台可以看到爬取网页URL的日志。
获取网站的所有网页URL后,此时网页URL展示的状态是 'Recorded'
。在管理后台,点击 'Confirm'
提交想要抓取的网页URL(默认抓取获取的所有URL)。
等所有网页URL的文本都被抓取,并且存入向量数据库后,在管理后台上所有网页URL展示的状态都是 'Trained'
。
浏览器打开 http://127.0.0.1:7000/open-kf-chatbot/ , 就可以访问Bot了。
RAG-GPT提供了将聊天机器人嵌入到网站的方法,使得用户可以直接在网站上使用智能问答服务。
打开管理后台菜单切换到embed,复制两个代码即可实现一键嵌入,这两个代码片效果分别如下:一个是iframe嵌入一个聊天窗口,一个是在页面右下角点击弹出聊天窗口。
可以新建一个文本文件,将代码复制进去,用浏览器打开就可以看到嵌入效果了。
可以按照时间、用户查询聊天记录和修改问答对的答案以更符合自身需求。
用户可以定制化聊天对话框的风格,使其更符合自身网站的风格特性。
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开源社区群讨论。如果您需要更智能的客服系统,请与我们联系。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。