# java-mosskb **Repository Path**: ppnt/java-mosskb ## Basic Information - **Project Name**: java-mosskb - **Description**: java-mosskb 是一个基于 Java 开发的智能知识库系统,利用先进的自然语言处理和向量检索技术,为用户提供高效、准确的问答服务。通过集成文档管理、片段向量化、语义搜索和大语言模型(如 deepseek-v4.1-flush)等功能,系统能够理解用户的问题,并从知识库中检索最相关的内容生成回答。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 42 - **Forks**: 25 - **Created**: 2024-11-16 - **Last Updated**: 2026-10-04 ## Categories & Tags **Categories**: rag **Tags**: None ## README # Java MossKB 基于 tio-boot 的 Java 知识库后端,复用 MossKB 前端。通过文档检测、结构提取、远程 OCR、向量检索和多轮问答,把文档转成可追溯的知识库回答。模型生成复用 `java-openai` 的 `UniChatClient`,本机无需部署模型权重。 [前端仓库](https://github.com/litongjava/java-mosskb-ui) · [Java 后端仓库](https://github.com/litongjava/java-mosskb) · [开发文档](https://tio-boot.com/zh/knowledge-base/) · [演示视频](https://www.bilibili.com/video/BV1yJU8YHEgg/)     ## 界面预览
![]() 模型管理与平台目录:在「系统 → 模型」里按平台筛选,从目录中选模型,或直接输入完整模型 ID;右侧是默认的 Gitee 向量模型实例。 |
![]() 迭代检索过程:一次提问内按“检索 → 判断资料是否充足 → 补充检索”执行多轮,逐轮列出检索词、新增片段数与仍然缺失的资料。 |
![]() 应用调试与多轮追问:应用设置右侧直接预览,回答带引用片段、token 用量与耗时;追问沿用上文。 |
![]() 独立分享页:刷新后恢复历史并继续追问,回答附知识来源与引用文档卡片。 |
![]() 上下文压缩:只有历史超过 token 预算才压缩,界面显示已压缩轮数与保留的近期原文。 |
![]() 用户与资源隔离:管理员创建普通账号,账号各自拥有应用、知识库与私有模型。 |
在“系统 → 模型 → 添加模型”选择平台,选择或手动输入完整模型 ID 后按回车,再填写 API 地址及 Key。保存校验使用实际填写的模型 ID;编辑时掩码 Key 保留原凭据,更换 API 地址必须重新填写新平台 Key。
预置 OpenAI、Gitee、OpenRouter、硅基流动、DeepSeek、百炼、Kimi、智谱、Gemini 兼容接口、火山方舟和自定义中转入口。Claude 可以通过兼容中转使用,不代表已接通全部厂商原生协议。不同平台需要各自的有效密钥。
默认 Gitee 配置:
| 用途 | 模型 | 平台与配置键 |
| --- | --- | --- |
| 最终回答默认模型、问题改写、证据核验和摘要 | `deepseek-v4.1-flash` | Gitee 兼容接口,`kb.chat.model` |
| 默认远程向量 | `Qwen3-Embedding-8B`,1024 维 | Gitee embeddings,`kb.embedding.model` |
| 扫描页与图片 OCR | `PaddleOCR-VL-1.5` | Gitee 异步文档解析接口 |
`deepseek-v4.1-flash` 属 DeepSeek Flash 系列,DeepSeek 官方平台把同系列模型 ID 写作 `deepseek-flash`,两者是不同平台的 ID,不要混填。
应用选择的模型用于最终回答;辅助步骤仍使用配置的 Gitee 模型。向量模型必须返回 1024 维,已有文档的知识库不能直接切换向量空间,需要新建知识库并重新导入文档。
目录快照包含获取时的平台模型,不代表永久可用或所有模型已实测。管理员可刷新 OpenRouter/Gitee 目录:
```powershell
python scripts/Sync-ModelCatalog.py --source openrouter --token-file <管理员令牌文件>
# Gitee 需先在当前进程环境中设置 GITEE_API_KEY
python scripts/Sync-ModelCatalog.py --source gitee --token-file <管理员令牌文件>
```
其他兼容平台可通过管理员接口 `POST /api/provider/catalog/discover` 发现 ID,再用 `PUT /api/provider/catalog` 明确类型并登记。同步不自动删除未返回项,停用项由管理员明确设置 `enabled:false`。目录维护不需要重新编译。
## 开发文档
设计、实现过程与逐章源码说明维护在 tio-boot 文档站的《Java MossKB 知识库》章节:
**