当前位置: 首页 > article >正文

ubuntu2204部署RAGFlow(非docker)

安装 Poetry

curl -sSL https://install.python-poetry.org | python3 -

##下载源代码并安装 Python 依赖

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true
~/.local/bin/poetry install --sync --no-root # install RAGFlow dependent python modules

这里安装依赖的过程中可以修改POETRY源,不然有些可能无法下载
修改文件pypro,添加以下内容

# pyproject.toml
[[tool.poetry.source]]
name = "mirrors"
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
priority = "default"

或者添加环境变量(当前会话生效)

export POETRY_PYPI_MIRROR_URL=https://mirrors.cloud.tencent.com/pypi/simple/

通过 Docker Compose 启动依赖的服务(MinIO, Elasticsearch, Redis, and MySQL)

如果已有对应的服务,则不需要,修改docker/service_conf.yaml文件中的配置即可

docker compose -f docker/docker-compose-base.yml up -d

在这里minio可能拉不下来,可以通过以下方式拉取

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z  quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z

在 /etc/hosts 中添加以下代码,将 docker/service_conf.yaml 文件中的所有 host 地址都解析为 127.0.0.1

127.0.0.1       es01 mysql minio redis

在文件 docker/service_conf.yaml 中,对照 docker/.env 的配置将 mysql 端口更新为 5455,es 端口更新为 1200
如果无法访问 HuggingFace,可以把环境变量 HF_ENDPOINT 设成相应的镜像站点
export HF_ENDPOINT=https://hf-mirror.com

如果有代理,也可以配置代理

启动后端服务

source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
# 如果需要后台启动
nohup bash docker/launch_backend_service.sh &

安装前端依赖

cd web
npm install --force

配置前端,将 .umirc.ts 的 proxy.target 更新为 http://127.0.0.1:9380

启动前端服务

npm run dev

如果要打包成静态文件通过nginx访问

npm run build

然后配置nginx

server {
    listen 9222;
    server_name your-domain.com;  # 替换为你的域名

    location / {
        root /path/to/ragflow/web/dist;  # 替换为你的实际路径
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://127.0.0.1:9380;  # 假设你的后端服务运行在 9380 端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    location /v1 {
        proxy_pass http://127.0.0.1:9380;  # 假设你的后端服务运行在 9380 端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}


http://www.kler.cn/a/391627.html

相关文章:

  • Pycharm PyQt5 环境搭建创建第一个Hello程序
  • 灰狼优化算法
  • 软件测试面试2024最新热点问题
  • vue项目npm run serve出现【- Network: unavailable】(从排查到放弃)
  • wordpress搭建主题可配置json
  • Docker部署Nginx
  • HTTP vs. HTTPS:从基础到安全的全面对比
  • Hadoop + Hive + Apache Ranger 源码编译记录
  • MySql--增删改查表设计总结
  • 区块链技术在供应链管理中的应用
  • LLMs:MindFormers的简介、安装和使用方法、案例应用
  • @RestController 源码解读:解决 Web 开发中 REST 服务的疑难杂症
  • Hbase入门
  • 树莓派安装FreeSWITCH
  • v-html 富文本中图片使用element-ui image-viewer组件实现预览,并且阻止滚动条
  • 23. 管理架构债务
  • 0基础跟德姆(dom)一起学AI 深度学习02-Pytorch基本使用
  • 力扣 LeetCode 142. 环形链表II(Day2:链表)
  • 负载均衡式在线oj项目开发文档2(个人项目)
  • Linux之进程
  • java:多态练习
  • filerchain是什么类
  • MongoDB增删改查,复杂查询案例分析
  • 精准监测,高效防护:特力康输电线路防山火新方案
  • Vue2+ElementUI:用计算属性实现搜索框功能
  • Python网络爬虫简介