使用离线部署32B模型实现OpenDeepWiki项目代码自动分析与文档生成

360影视 动漫周边 2025-05-16 09:11 2

摘要:在企业环境中,我们经常需要对公司项目代码进行分析和文档生成。然而,考虑到代码的保密性,将代码上传至公共AI平台存在安全隐患。为解决这一问题,我们可以在公司内部GPU服务器上部署强大的大语言模型(如

在企业环境中,我们经常需要对公司项目代码进行分析和文档生成。然而,考虑到代码的保密性,将代码上传至公共AI平台存在安全隐患。为解决这一问题,我们可以在公司内部GPU服务器上部署强大的大语言模型(如qwen2.5:32b-instruct-fp16),并结合OpenDeepWiki工具,实现安全、高效的代码仓库分析与文档自动生成。环境需求

硬件: 支持qwen2.5:32b-instruct-fp16模型运行的GPU服务器(推荐配置:4*RTX 3090)

软件: Ollama(用于部署模型)、Docker和Docker Compose环境

网络: 内部网络环境,确保安全性

部署步骤1. 部署OpenDeepWiki

在服务器上创建并配置必要文件:

docker-compose.yml:

services:
koalawiki:
image:crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/koala-wiki
environment:
-KOALAWIKI_REPOSITORIES=/repositories
-TASK_MAX_SIZE_PER_USER=5# 每个用户AI处理文档生成的最大数量
-REPAIR_MERMAID=1# 是否进行Mermaid修复,1修复,其余不修复
-CHAT_MODEL=qwen2.5:32b-instruct-fp16# 必须要支持function的模型
-ANALYSIS_MODEL=qwen2.5:32b-instruct-fp16# 分析模型,用于生成仓库目录结构,这个很重要,模型越强,生成的目录结构越好,为空则使用ChatModel
-CHAT_API_KEY=sk-#您的APIkey
-LANGUAGE=简体中文# 设置生成语言默认为"中文"
-ENDPOINT=http://您的Ollamaip:11434/v1
-DB_TYPE=sqlite
-DB_CONNECTION_STRING=dataSource=/data/KoalaWiki.db
-UPDATE_INTERVAL=5# 仓库增量更新间隔,单位天
-EnableSmartFilter=true# 是否启用智能过滤,这可能影响AI得到仓库的文件目录
-PARALLEL_COUNT=1# The warehouse processes the quantity in parallel
volumes:
-./repositories:/app/repositories
-./data:/data

koalawiki-web:
image:crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/koala-wiki-web
environment:
-NEXT_PUBLIC_API_URL=http://koalawiki:8080# 用于提供给server的地址

nginx:# 需要nginx将前端和后端代理到一个端口
image:crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/nginx:alpine
ports:
-8090:80
volumes:
-./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
-koalawiki
-koalawiki-web

nginx.conf:

server {
listen 80;
server_name localhost;

# 设置上传文件大小限制为 100MB
client_max_body_size 100M;

# 日志配置
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

# 代理所有 /api/ 请求到后端服务
location /api/ {
proxy_pass http://koalawiki:8080/api/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
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;
proxy_cache_bypass $http_upgrade;
}

# 其他所有请求转发到前端服务
location / {
proxy_pass http://koalawiki-web:3000;

}
}
2. 启动服务

拉取必要的镜像:

docker-compose pull

启动容器:

docker-compose up -d

等待服务初始化完成(通常需要几分钟)

3. 访问OpenDeepWiki平台http://[服务器IP]:8090,即可看到OpenDeepWiki的界面:使用指南添加代码仓库进行分析

从以下地址获取OpenDeepWiki源码(推荐国内用户使用Gitee):

GitHub: https://github.com/AIDotNet/OpenDeepWiki

Gitee: https://gitee.com/AIDotNet/OpenDeepWiki

下载源码的ZIP压缩包

上传完成后,系统将开始处理仓库(处理时间约为3-5分钟)。处理中的仓库会显示在列表中:

处理完成后,点击仓库名称即可查看由qwen2.5:32b-instruct-fp16模型自动生成的文档:

系统优势

安全可控:所有代码分析和文档生成过程都在内部环境完成,确保代码安全

高质量文档:借助强大的qwen2.5:32b-instruct-fp16模型,生成的文档结构清晰、内容全面

一键操作:简单的上传流程,无需复杂配置

可扩展性:支持多种代码仓库格式,适用于不同项目需求

模型,我们可以安全、高效地为公司代码仓库生成完整文档,大幅提升项目理解和开发效率。

如果您对OpenDeepWiki感兴趣,欢迎访问以下地址并给项目点个Star:

在线体验地址:https://opendeep.wiki/

目前已有500+仓库加入!您也可以将您的开源仓库添加进来。

来源:opendotnet

相关推荐