前言
2023年是AI迅猛发展的一年,2024年将是AI应用元年,将会有一大批优秀的AI原生应用涌现。RAG作为AI原生应用的一项关键技术,也将会高速发展。本文主要介绍一款可以将RAG可视化的工具。
对RAG概念不太熟悉的同学可以看一下笔者之前的文章:
GenAI——LLM结合图谱RAG和LangChain实战指南
大型语言模型(LLMS)、可检索式增强生成(RAG)和AI缺失的存储层
RAGxplorer是一个交互式的streamlit工具,用于支持构建基于检索增强生成(Retrieval Augmented Generation, RAG)的应用程序,通过可视化文档块和嵌入空间中的查询来实现。
演示 🔎
Streamlit应用程序
⚠️由于基础设施限制,这个免费托管的演示可能偶尔会停机。最佳体验是克隆这个仓库,并在本地运行。
特点 ✨
•文档上传 :用户可以上传PDF文档。
•块配置 :配置块大小和重叠的选项。
•嵌入模型选择 :all-MiniLM-L6-v2
或text-embedding-ada-002
。
•向量数据库创建 :使用Chroma构建向量数据库。
•查询扩展 :生成子问题和假设答案,以增强检索过程。
•交互式可视化 :使用Plotly来可视化块。
本地安装 ⚙️
要运行RAGxplorer,请确保已安装Python,然后安装必要的依赖项:
pip install -r requirements-local-deployment.txt
提示
⚠️ 不要使用requirements.txt
。那是为了免费的streamlit部署能够运行。该文件包括额外的pysqlite3-binary
依赖。
⚠️ 如果对故障排除有帮助,该应用程序是使用Python 3.11构建的。
使用 🏎️
1.设置OPENAI_API_KEY
(必需)和NYSCALE_API_KEY
(如果您需要anyscale)。复制.streamlit/secrets.example.toml
文件到.streamlit/secrets.toml
并填写值。
2.要启动应用程序,请运行:
streamlit run app.py
3.您可能需要注释掉/移除app.py
中的第5-7行。
import('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
注意
这个仓库目前链接到streamlit演示,并且这些行是由于免费streamlit部署环境中的运行时添加的。参见这里[1].
引用
更多信息请参考:https://github.com/gabrielchua/RAGxplorer