
genai-stack
一条命令拉起本地大模型+图数据库的 RAG 应用
genai-stack 是一个把 LangChain、Docker、Neo4j 和 Ollama 组合起来的开源示例栈,目标是让开发者用本地大模型快速搭建带知识图谱的生成式 AI 应用。它解决的是从零搭建 RAG(检索增强生成)时环境配置繁琐、组件割裂的问题:通过 Docker Compose 一键拉起 Neo4j 图数据库和 Ollama 本地推理服务,再用 LangChain 串联向量检索、图查询和对话链。核心能力包括本地化 LLM 推理(无需调用云端 API)、基于 Neo4j 的图增强检索、支持上传 PDF 等文档构建知识库、以及可切换不同 Ollama 模型的对话接口。项目以教程和可运行模板为主,适合想理解 GraphRAG 架构、快速验证本地 AI 应用原型的开发者,也可作为企业内网知识问答系统的起步脚手架。
项目数据
使用教程
环境要求
- 安装 Docker 与 Docker Compose(需支持 docker compose 子命令)
- MacOS/Windows 需先安装 Ollama,或准备 OpenAI API key 改用 gpt-3.5/gpt-4
- 把仓库中的 env.example 复制为 .env 并填写必填环境变量
- Linux 使用 --profile linux 时 Ollama 随容器启动,无需本地安装
安装与启动步骤
-
1克隆项目代码
从 GitHub 拉取 genai-stack 仓库到本地,后续所有命令都在该目录内执行。
git clone https://github.com/docker/genai-stack.git cd genai-stack -
2生成 .env 文件
README 要求先从环境模板 env.example 创建 .env,后续配置都写在这个文件里。
cp env.example .env -
3填写环境变量
用编辑器打开 .env,填入 Ollama 地址、Neo4j 连接信息,并选择 LLM 与嵌入模型。
-
4启动 Ollama 服务
MacOS 与 Windows 需先装好 Ollama,并在单独终端执行该命令,然后再跑 compose。
ollama serve -
5启动 Docker 服务
macOS/Windows 在项目目录执行默认 compose,启动前确认宿主机 Ollama 已在运行。
docker compose up -
6Linux 专用启动
Linux 用 linux profile,Ollama 在容器内运行,需把 OLLAMA_BASE_URL 改为 http://llm:11434。
docker compose --profile linux up -
7Linux GPU 启动
需要 GPU 推理时改用 linux-gpu profile,并把 OLLAMA_BASE_URL 改成 http://llm-gpu:11434。
docker compose --profile linux-gpu up
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OLLAMA_BASE_URL | 是 | Ollama 大模型 API 的地址,各平台填法不同 | http://host.docker.internal:11434 |
NEO4J_URI | 是 | Neo4j 图数据库的连接地址 | neo4j://database:7687 |
NEO4J_USERNAME | 是 | Neo4j 数据库用户名 | neo4j |
NEO4J_PASSWORD | 是 | Neo4j 数据库密码,默认值仅用于演示 | password |
LLM | 是 | 使用的模型,可填 Ollama 模型 tag 或 gpt-4、gpt-3.5、claudev2 | llama2 |
EMBEDDING_MODEL | 是 | 嵌入模型,可选 sentence_transformer、openai、aws、ollama、google | sentence_transformer |
如何确认成功
docker compose up 后各容器正常启动且无报错,Ollama 与 Neo4j 均可连通,即表示栈已跑起来。
常见问题
Q:Linux 上还需要手动安装 Ollama 吗?
A:不需要。用 --profile linux 启动时 Ollama 会作为容器运行,只需把 .env 里的 OLLAMA_BASE_URL 设为 http://llm:11434。
Q:怎么更换使用的模型?
A:修改 .env 中的 LLM 变量,可填任意 Ollama 模型 tag(见 ollama.ai/library 的 tags 部分),也可填 gpt-4、gpt-3.5 或 claudev2。
Q:Windows 不想装 Ollama 怎么办?
A:可以改用 OpenAI 模型:准备自己的 OpenAI API key,在 .env 中把 LLM 设置为 gpt-3.5 或 gpt-4 即可。
Q:为什么连不上模型服务?
A:MacOS 和 Windows 必须先在单独终端执行 ollama serve 启动 Ollama,再运行 docker compose up,否则容器访问不到模型 API。
注意事项
- 默认 Neo4j 账号密码为 neo4j/password,正式使用前务必修改。
- OLLAMA_BASE_URL 按平台区分:宿主机为 http://host.docker.internal:11434,Linux 容器为 http://llm:11434,GPU 为 http://llm-gpu:11434。
- 切换到 Linux profile 时必须同步修改 .env 中的 OLLAMA_BASE_URL,否则容器内无法访问 Ollama。
核心亮点
- 用 Docker Compose 一键启动 Neo4j 和 Ollama,省去手动装数据库和推理服务的麻烦
- 完整演示 LangChain 与 Neo4j 图检索结合,是少见的 GraphRAG 可运行示例
- 全程本地推理,不依赖 OpenAI 等云 API,数据不出内网,适合隐私敏感场景
不足之处
- 本质是教学示例而非生产级框架,缺少鉴权、并发和错误处理等工程化能力
- 强绑定 Ollama 与 Neo4j,换用其他模型或向量库需要较多改造
适用场景
- 本地搭建私有文档问答机器人,数据不出本机
- 学习 GraphRAG 架构,理解图数据库如何增强大模型检索
- 快速验证基于本地大模型的 AI 应用原型
替代项目
langchain、private-gpt
项目介绍
上一篇:docs
同类项目推荐
ComfyUI_Custom_Nodes_AlekPet
开源
给 ComfyUI 装上语音翻译和姿态检测,工作流更全能
Custom nodes that extend the capabilities of Comfyui
langchain
开源
组装 AI 应用的乐高积木,从想法到上线不换工具
The agent engineering platform.
transformers
开源
全球最大的模型仓库全家桶,想用的模型一把抓
Transformers: the model-definition framework for state-of-the-art machine learning m···
bruno
开源
把 API 测试当代码管理,用 Git 搞定协作与版本追踪
Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/I···