小白安装faiss库指南(CPU版)

小白安装faiss库指南(CPU版)

一、原由

本人在参加Datawhale组织的11月组队学习《推荐系统入门实践:新闻推荐预测》时,在多路召回任务时,需要导入一个叫faiss库,于是百度查询了各种方法,把pip和conda更新了个遍,还是导入成功,直到在群里问的时候才发现,faiss库压根就不支持windows平台,需要在linux下才能导入成功,于是本人抱着顺便学习linux的心态(因为之前看到公司招人要求有写要会linux,而且加上群里大佬说linux是深度学习首选),在从零开始的情况下,先下载好了虚拟机,然后下载了ubuntu(linux系统的一种),再在ubuntu中安装pycharm,anaconda。最后成功将faiss安装成功,在其中遇到了不少问题,希望通过这边文章给大家指引方向,顺便排雷。

二、faiss介绍

Faiss是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库。它包含多种搜索任意大小向量集(备注:向量集大小由RAM内存决定)的算法,以及用于算法评估和参数调整的支持代码。Faiss用C++编写,并提供与Numpy完美衔接的Python接口。除此以外,对一些核心算法提供了GPU实现。

通过Faiss文档介绍可以了解faiss的主要功能就是相似度搜索。如下图所示,以图片搜索为例,所谓相似度搜索,便是在给定的一堆图片中,寻找出我指定的目标最像的K张图片,也简称为KNN(K近邻)问题。

img

在推荐系统中,faiss库可以用于搜索用户和物品的相似度。

三、虚拟机安装

首先如果要安装liunx系统的话,最方便的方法应该就是安装虚拟机,虚拟机就是在你自身的windows基础上安装另一层操作系统,但是不好的地方就是会占用你自身windows的内存,而且虚拟机一般只拥有本机的一点内存,所以如果用虚拟机操作的话可能会很慢,很卡。还要另一种方法就是安装一个和windows并行的系统,这样每次开机前就会让你选择是windows或者是linux。我这次用的就是虚拟机安装linux,分配了2G的内存,非常卡,所以正在考虑采用第二种方法。

说到虚拟机安装,不得不想到的就是大名顶顶的虚拟机软件VMware workstations

VMware WorkstationLOGO

就是这个,就算是没用过虚拟机,在学校的机房也不会陌生这个图标,VMware是一个收费的软件,但是网上的破解方法很多,随便找一个激活码就可以,但是本人在搜索时发现VMware有一个免费的版本供用户使用,其实也就是相当于 workstations 的阉割版,但是我发现功能其实也够我使用了,所以就下载了VMware workstati

<think>好的,用户想在Ubuntu系统上部署RAGFlow,但不用Docker,而且是个编程小白。首先,我需要了解RAGFlow是什么。RAGFlow应该是一个基于RAG(检索增强生成)的应用程序,可能涉及自然语言处理和机器学习模型。 接下来,用户要求不用Docker,所以需要直接安装依赖。可能需要Python环境、相关的,以及可能的其他工具如数据或搜索引擎。用户是小白,所以步骤要详细,避免使用复杂术语。 先列出系统要求,Ubuntu本,Python本,内存和存储需求。然后分步骤:安装系统依赖,比如Python、Git、开发工具。然后设置Python虚拟环境,安装PyTorch和其他,可能需要从源码安装RAGFlow,处理配置文件,设置数据比如MySQL,处理前端依赖如Node.js,最后启动服务。 需要注意权限问题,比如创建目录和配置文件时的sudo使用。还要处理可能的依赖冲突,特别是Python本。另外,用户可能不熟悉命令行操作,所以每个命令都要明确,给出示例路径和配置。 可能遇到的问题包括环境变量设置、端口冲突、依赖安装失败,这些需要在注意事项里说明。还要指导如何测试服务是否正常运行,访问前端页面。 最后,确保整个流程逻辑清晰,步骤详细,用户能一步步跟随,避免遗漏关键步骤,比如数据初始化或前端构建。同时提醒用户安全相关的事项,比如修改默认密码,开放端口的安全性。</think>以下是为您准备的Ubuntu系统手动部署RAGFlow详细教程(非Docker): --- ### 一、系统准备 *最低要求*: - Ubuntu 20.04/22.04 LTS - Python 3.9+ - 内存 ≥8GB - 硬盘 ≥20GB --- ### 二、分步部署指南 #### 1. 安装系统依赖 ```bash sudo apt update sudo apt install -y python3-pip git build-essential libssl-dev libffi-dev python3-dev nginx ``` #### 2. 创建虚拟环境 ```bash mkdir ~/ragflow && cd ~/ragflow python3 -m venv venv source venv/bin/activate ``` #### 3. 安装PyTorch基础 ```bash pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu ``` #### 4. 安装RAGFlow核心依赖 ```bash pip3 install langchain==0.0.340 sentence-transformers==2.2.2 faiss-cpu==1.7.4 flask==2.3.2 ``` #### 5. 部署向量数据 ```bash sudo apt install -y postgresql postgresql-contrib sudo -u postgres psql -c "CREATE DATABASE ragflow;" sudo -u postgres psql -c "CREATE USER raguser WITH PASSWORD 'ragflow@2023';" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE ragflow TO raguser;" ``` #### 6. 配置应用 ```bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/backend cp config_example.py config.py ``` 编辑`config.py`: ```python DATABASE_URI = "postgresql://raguser:ragflow@2023@localhost:5432/ragflow" EMBEDDING_MODEL = "all-MiniLM-L6-v2" ``` #### 7. 初始化数据 ```bash flask db init flask db migrate flask db upgrade ``` #### 8. 启动后端服务 ```bash gunicorn -w 4 -b 0.0.0.0:8000 app:app ``` #### 9. 部署前端(新终端) ```bash sudo apt install nodejs npm cd ~/ragflow/frontend npm install npm run build ``` #### 10. 配置Nginx ```bash sudo nano /etc/nginx/sites-available/ragflow ``` 配置文件内容: ```nginx server { listen 80; server_name your_domain.com; location / { root /home/ubuntu/ragflow/frontend/dist; try_files $uri $uri/ /index.html; } location /api { proxy_pass http://localhost:8000; proxy_set_header Host $host; } } ``` 启用配置: ```bash sudo ln -s /etc/nginx/sites-available/ragflow /etc/nginx/sites-enabled/ sudo systemctl restart nginx ``` --- ### 三、验证安装 1. 访问 `http://服务器IP` 2. 检查API状态: ```bash curl http://localhost:8000/api/health ``` --- ### 四、注意事项 1. 首次使用需在网页端初始化管理员账户 2. 默认数据存储路径:`~/ragflow/data` 3. 如需HTTPS,可使用Let's Encrypt申请SSL证书 4. 生产环境建议配置systemd服务 --- ### 五、常见问题解决 1. **端口冲突**:修改`config.py`中的端口配置 2. **依赖安装失败**:尝试指定本号 `pip install package==version` 3. **数据连接问题**:检查PostgreSQL的`pg_hba.conf`权限配置 4. **内存不足**:添加交换空间: ```bash sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值