DeepWiki-Open Ollama本地部署:完全离线的AI文档生成方案
你是否还在为代码文档生成依赖外部API而烦恼?担心数据隐私泄露?本文将详细介绍如何通过Ollama在本地部署DeepWiki-Open,实现完全离线的AI文档生成方案,无需依赖任何外部服务,保护你的代码数据安全。读完本文,你将掌握DeepWiki-Open的本地部署流程、模型配置方法以及常见问题解决策略。
方案概述
DeepWiki-Open是一个开源的AI驱动的Wiki生成器,专为GitHub仓库设计。通过Ollama本地部署,我们可以实现完全离线的文档生成,避免API调用成本,同时保护代码隐私。该方案适用于需要在隔离网络环境中工作的开发团队,或对数据安全有严格要求的组织。
硬件准备与环境要求
在开始部署前,请确保你的设备满足以下最低要求:
- CPU: 4+ cores
- RAM: 8GB minimum,推荐16GB+
- 存储: 10GB+ 可用空间(用于模型存储)
- GPU: 可选,但推荐用于加速处理
部署步骤
1. 安装Ollama
Ollama是一个轻量级的本地LLM管理工具,支持多种操作系统。
Windows/macOS
从Ollama官方网站下载对应系统的安装程序,按照向导完成安装。
Linux
在终端中执行以下命令:
curl -fsSL https://ollama.com/install.sh | sh
2. 下载所需模型
打开终端,执行以下命令下载DeepWiki所需的模型:
ollama pull nomic-embed-text
ollama pull qwen3:1.7b
其中,nomic-embed-text是用于代码理解的嵌入模型,qwen3:1.7b是用于文档生成的语言模型。
3. 获取DeepWiki-Open代码
克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/de/deepwiki-open
cd deepwiki-open
4. 配置环境
创建并配置.env文件:
# 在项目根目录创建.env文件
touch .env
编辑.env文件,添加以下内容:
PORT=8001
# 如果Ollama不在本地运行,需指定OLLAMA_HOST
# OLLAMA_HOST=your_ollama_host
配置本地嵌入模型:
cp api/config/embedder.ollama.json.bak api/config/embedder.json
5. 启动服务
后端启动
pip install -r api/requirements.txt
python -m api.main
前端启动
npm install
npm run dev
6. Docker一键部署(推荐)
对于更便捷的部署体验,可以使用项目提供的Dockerfile-ollama-local:
# 构建镜像
docker build -f Dockerfile-ollama-local -t deepwiki:ollama-local .
# 运行容器
docker run -p 3000:3000 -p 8001:8001 --name deepwiki \
-v ~/.adalflow:/root/.adalflow \
deepwiki:ollama-local
Dockerfile-ollama-local文件已经预先配置了所有依赖和启动脚本,可以大大简化部署流程。
使用方法
- 打开浏览器,访问 http://localhost:3000
- 输入GitHub仓库URL(或本地仓库路径)
- 勾选"使用本地Ollama模型"选项
- 点击"Generate Wiki"开始文档生成
高级配置
模型选择与优化
DeepWiki允许你根据需求更换不同的模型。编辑配置文件 api/config/generator.json:
"generator_ollama": {
"model_client": "OllamaClient",
"model_kwargs": {
"model": "qwen3:1.7b", // 更改为其他模型
"options": {
"temperature": 0.7,
"top_p": 0.8
}
}
}
同样,你也可以修改嵌入模型配置 api/config/embedder.json:
"embedder_ollama": {
"model_client": "OllamaClient",
"model_kwargs": {
"model": "nomic-embed-text" // 更改为其他嵌入模型
}
}
以下是一些推荐的模型选择:
| Model | 大小 | 速度 | 质量 | 适用场景 |
|---|---|---|---|---|
| phi3:mini | 1.3GB | 快 | 良好 | 小型项目,快速测试 |
| qwen3:1.7b | 3.8GB | 中等 | 较好 | 默认选择,平衡速度与质量 |
| llama3:8b | 8GB | 慢 | 优秀 | 复杂项目,详细分析 |
本地代码库分析
要分析本地代码库,可使用以下Docker命令挂载代码目录:
docker run -p 3000:3000 -p 8001:8001 --name deepwiki \
-v ~/.adalflow:/root/.adalflow \
-v /path/to/your/repo:/app/local-repos/repo-name \
deepwiki:ollama-local
在界面中使用路径/app/local-repos/repo-name访问本地代码库。
工作原理
DeepWiki-Open与Ollama的集成工作流程如下:
- 用户输入仓库URL或本地路径
- 系统使用
nomic-embed-text模型对代码进行嵌入处理 - 嵌入后的代码片段存储在本地向量数据库
- 用户查询时,系统检索相关代码片段
qwen3:1.7b模型基于检索结果生成自然语言文档
常见问题解决
"无法连接到Ollama服务器"
- 确保Ollama服务正在后台运行,可通过
ollama list命令检查 - 验证Ollama是否运行在默认端口(11434)
- 尝试重启Ollama服务
生成速度慢
- 考虑使用更小的模型,如
phi3:mini - 关闭其他内存密集型应用
- 如果可能,添加GPU加速
内存不足错误
- 减少同时处理的文件数量
- 使用更小的模型
- 增加系统内存
总结与展望
通过Ollama本地部署DeepWiki-Open,我们实现了完全离线的AI文档生成能力,既保护了代码隐私,又避免了API调用成本。虽然本地模型在速度和质量上可能不如云服务,但对于大多数项目而言,这是一个免费且隐私优先的优秀替代方案。
未来,随着本地LLM技术的不断进步,DeepWiki-Open将进一步优化模型选择和资源利用,为用户提供更好的离线文档生成体验。
官方文档:Ollama-instruction.md 部署配置:Dockerfile-ollama-local 项目源码:api/
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考








