找回密码
 立即注册
首页 业界区 业界 使用离线部署32B模型实现OpenDeepWiki项目代码自动分析 ...

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

官厌 2025-6-2 23:42:18
背景介绍

在企业环境中,我们经常需要对公司项目代码进行分析和文档生成。然而,考虑到代码的保密性,将代码上传至公共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:
  1. services:
  2.   koalawiki:
  3.     image: crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/koala-wiki
  4.     environment:
  5.       - KOALAWIKI_REPOSITORIES=/repositories
  6.       - TASK_MAX_SIZE_PER_USER=5 # 每个用户AI处理文档生成的最大数量
  7.       - REPAIR_MERMAID=1 # 是否进行Mermaid修复,1修复,其余不修复
  8.       - CHAT_MODEL=qwen2.5:32b-instruct-fp16 # 必须要支持function的模型
  9.       - ANALYSIS_MODEL=qwen2.5:32b-instruct-fp16 # 分析模型,用于生成仓库目录结构,这个很重要,模型越强,生成的目录结构越好,为空则使用ChatModel
  10.       - CHAT_API_KEY=sk- #您的APIkey
  11.       - LANGUAGE=简体中文 # 设置生成语言默认为"中文"
  12.       - ENDPOINT=http://您的Ollamaip:11434/v1
  13.       - DB_TYPE=sqlite
  14.       - DB_CONNECTION_STRING=Data Source=/data/KoalaWiki.db
  15.       - UPDATE_INTERVAL=5 # 仓库增量更新间隔,单位天
  16.       - EnableSmartFilter=true # 是否启用智能过滤,这可能影响AI得到仓库的文件目录
  17.       - PARALLEL_COUNT=1 # The warehouse processes the quantity in parallel
  18.     volumes:
  19.       - ./repositories:/app/repositories
  20.       - ./data:/data
  21.       
  22.   koalawiki-web:
  23.     image: crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/koala-wiki-web
  24.     environment:
  25.       - NEXT_PUBLIC_API_URL=http://koalawiki:8080 # 用于提供给server的地址
  26.       
  27.   nginx: # 需要nginx将前端和后端代理到一个端口
  28.     image: crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/nginx:alpine
  29.     ports:
  30.       - 8090:80
  31.     volumes:
  32.       - ./nginx.conf:/etc/nginx/conf.d/default.conf
  33.     depends_on:
  34.       - koalawiki
  35.       - koalawiki-web
复制代码
nginx.conf:
  1. server {
  2.     listen 80;
  3.     server_name localhost;
  4.     # 设置上传文件大小限制为 100MB
  5.     client_max_body_size 100M;
  6.     # 日志配置
  7.     access_log /var/log/nginx/access.log;
  8.     error_log /var/log/nginx/error.log;
  9.     # 代理所有 /api/ 请求到后端服务
  10.     location /api/ {
  11.         proxy_pass http://koalawiki:8080/api/;
  12.         proxy_http_version 1.1;
  13.         proxy_set_header Upgrade $http_upgrade;
  14.         proxy_set_header Connection 'upgrade';
  15.         proxy_set_header Host $host;
  16.         proxy_set_header X-Real-IP $remote_addr;
  17.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  18.         proxy_set_header X-Forwarded-Proto $scheme;
  19.         proxy_cache_bypass $http_upgrade;
  20.     }
  21.     # 其他所有请求转发到前端服务
  22.     location / {
  23.         proxy_pass http://koalawiki-web:3000;
  24.         proxy_http_version 1.1;
  25.         proxy_set_header Upgrade $http_upgrade;
  26.         proxy_set_header Connection 'upgrade';
  27.         proxy_set_header Host $host;
  28.         proxy_set_header X-Real-IP $remote_addr;
  29.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  30.         proxy_set_header X-Forwarded-Proto $scheme;
  31.         proxy_cache_bypass $http_upgrade;
  32.     }
  33. }
复制代码
2. 启动服务

创建好上述文件后,在同级目录下执行以下命令:

  • 拉取必要的镜像:
    1. docker-compose pull
    复制代码
  • 启动容器:
    1. docker-compose up -d
    复制代码
  • 等待服务初始化完成(通常需要几分钟)
3. 访问OpenDeepWiki平台

在浏览器中访问 http://[服务器IP]:8090,即可看到OpenDeepWiki的界面:
1.png

使用指南

添加代码仓库进行分析


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

    • GitHub: https://github.com/AIDotNet/OpenDeepWiki
    • Gitee: https://gitee.com/AIDotNet/OpenDeepWiki

  • 下载源码的ZIP压缩包
  • 在OpenDeepWiki平台点击"添加新仓库":
2.png


  • 选择"上传压缩包",填写组织名称和仓库名称(这些字段必填,将影响前端路由显示),然后提交:
3.png


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


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

系统优势


  • 安全可控:所有代码分析和文档生成过程都在内部环境完成,确保代码安全
  • 高质量文档:借助强大的qwen2.5:32b-instruct-fp16模型,生成的文档结构清晰、内容全面
  • 一键操作:简单的上传流程,无需复杂配置
  • 可扩展性:支持多种代码仓库格式,适用于不同项目需求
结语

通过部署OpenDeepWiki与qwen2.5:32b-instruct-fp16模型,我们可以安全、高效地为公司代码仓库生成完整文档,大幅提升项目理解和开发效率。
如果您对OpenDeepWiki感兴趣,欢迎访问以下地址并给项目点个Star:

  • GitHub: https://github.com/AIDotNet/OpenDeepWiki
  • Gitee: https://gitee.com/AIDotNet/OpenDeepWiki
在线体验地址:https://opendeep.wiki/
目前已有500+仓库加入!您也可以将您的开源仓库添加进来。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册