概述
周末在家用电脑上部署了开源的ragflow,选择这个是考虑它支持ocr自动识别,另外还准备安装的是quivr(号称第二大脑),待安装后再做比较。
什么是RAG
概念:
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索与生成模型的技术,用于提升自然语言处理任务的性能,特别是在问答、内容生成等领域。
过程:
- 大语言模型(LLM, Large Language Model):大语言模型是通过大规模数据训练而成的深度神经网络模型,如 GPT-4。它们可以生成自然语言文本,并具备广泛的语言理解能力。
- 检索(Retrieval):在 RAG 中,检索指的是从外部知识库中找到与输入查询相关的信息或文档。这个步骤的目的是弥补大语言模型在生成过程中的知识盲点,尤其是当涉及到事实性问题时。
- 生成(Generation):在获得检索到的相关信息后,模型会基于这些信息生成答案或文本。这一过程利用了大语言模型的强大生成能力,同时避免了仅依赖模型本身知识库的局限性。
工作流程:
- 输入查询:用户提供一个查询或问题。
- 检索阶段:系统会从预先构建的知识库中检索与该查询最相关的文本段落或文档。
- 生成阶段:大语言模型接收检索到的信息,并基于这些信息生成最终的答案或文本。
- 输出:生成的文本被返回给用户。
使用体验
尝试进行了三种场景的测试:
网上某单位的采购合同的问答解读
对比文件中的内容三天内付款的答案是正确的。
第一条和第二条是对的,但是对于财务部5000元预先授权,我并没有找到,不知道是不是幻觉问题。- 扔了一本pdf的扫描版本图书,让其进行问答处理
因为书我没有看,其实我也不知道它回答的是不是正确
通过提示词约束可以实现避免大模型幻觉。 - 试了一下18年前的一个规范文档
回答的都是对的。
这个问题虽然没有直接答案,但是按说大模型应该可以具备生成能力的。
安装过程
- 环境准备 sysctl vm.max_map_count
如果这个值较小就用下面的命令将其调大
# In this case, we set it to 262144:
sudo sysctl -w vm.max_map_count=262144
通过将 vm.max_map_count 设置为较大的值,可以允许进程创建更多的内存映射。这在一些特定的应用场景中非常重要,尤其是当应用程序需要大量的小内存映射时。
或者执行修改/etc/sysctl.conf,增加一行记录:
vm.max_map_count=262144
docker安装
- 项目克隆
git clone https://github.com/infiniflow/ragflow.git
- docker安装
cd ragflow/docker
chmod +x ./entrypoint.sh
docker compose up -d
这里需要注意一下,如果你有Nvidia显卡,选择使用docker-compose-gpu.yml,相应的命令调整为docker compose -f docker-compose-gpu.yml up -d
如果你确定自己有Nvidia显卡但是安装过程中提示下面的信息:
说明电脑上没有安装Nvidia的docker工具包 NVIDIA Container Toolkit
sudo apt-get update
sudo apt-get install -y nvidia-docker2
安装后重启服务:
sudo systemctl restart docker
经过上述步骤安装后就可以实现基于gpu的运行了,相较于基于cpu执行效率提升非常明显。
- 项目克隆
ragflow配置本地模型ollama
配置一个本地大模型将大幅度的降低使用成本。开启防火墙
sudo ufw allow 11434/tcp
- 验证本地ollama已经运行
http://localhost:11434 如果显示Ollama is running 则表示ollama的服务没有问题。 - 查看已经安装了的模型名称
ollama list
我选择了llama3.1和gemma2作为我用于ragflow的使用模型。 - 界面配置
点击右上角的头像,选择模型提供商从下面的列表中选择ollama。
选择模型类型为chat,模型名称分别使用llama3.1:latest和gemma2:latest进行添加。
url:http://localhost:11434/
在聊天设置中配置增加我们新添加的模型就可以了
- 验证本地ollama已经运行
后记
后面将陆续将我的日志、博客等信息放入,作为一个历史记录的数字分身。
生成过程对资源的占用还是比较大的,目前看来rag不太适合并发量较大的场景,但是对于文档变动比较频繁的情况下,又是不得已的选择。
《追查 第一章》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/154227.html
想想你的文章写的特别好
博主真是太厉害了!!!