接上一篇文章,已经将docker镜像创建好,并和本地目录镜像做了一个统一;这篇记录如何在这个docker容器中进行一个项目复现;复现项目链接:GitHub - HKUDS/LightRAG: [EMNLP2025] LightRAG: Simple and Fast Retrieval-Augmented Generation · GitHub
首先是在本地下载这个项目的github仓库文件,下载在镜像到docker中的目录下面;以我的目录为例,我将本地myapp这个目录镜像到docker中的/app,下载好的项目文件LightRAG会同步到docker容器的目录下:
其次是根据这个项目在github的readme.md,在docker安装相关依赖;下面以我复现这个项目为例介绍;
1、安装uv,方便环境管理,两中命令都可以:
pip install uv curl -LsSf https://astral.sh/uv/install.sh | sh(linux系统命令) uv --version(安装完成后检查是否安装成功)2、安装python依赖
uv sync uv pip list(查看安装了哪些包)我复现这个项目有一个虚拟环境如下图所示:
3、激活虚拟环境,将依赖隔离在虚拟环境中,避免后续在容器中复现其他的代码,需要不同版本的依赖产生冲突(如果不激活,可以在每次的命令行之前添加uv run,实现相同的效果):
source .venv/bin/activate4、构建前端:
LightRAG 的项目结构是前后端分离的:
- 后端(Python):负责调用大模型、建知识图谱、处理 RAG 查询
- 前端(WebUI):负责给你一个浏览器里能操作的界面(上传文档、聊天、查看图谱等)
- bun run build:把前端源代码(React/Vue 等框架写的 .tsx/.vue 文件)编译、压缩、打包成纯静态文件(HTML + CSS + JS)。
- 编译完成后,会在 lightrag_webui 目录下生成一个 dist/ 或 build/ 文件夹,里面就是浏览器能直接打开的网页文件
cd lightrag_webui (进入前端项目的源码目录) bun install --frozen-lockfile bun run build cd ..5、配置 .env,根据使用的模型配置env文件;用自己使用的模型和地址替换;
6、启动
lightrag-server