Skip to content

feat: add medical knowledge base plugin for healthcare domain - #401

Open
openjiuwen-sync-bot[bot] wants to merge 2 commits into
openJiuwen-ai:developfrom
openjiuwenai:sync/pr-2030
Open

feat: add medical knowledge base plugin for healthcare domain#401
openjiuwen-sync-bot[bot] wants to merge 2 commits into
openJiuwen-ai:developfrom
openjiuwenai:sync/pr-2030

Conversation

@openjiuwen-sync-bot

@openjiuwen-sync-bot openjiuwen-sync-bot Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Paired: GitHub #401GitCode !2030

What type of PR is this?

/kind

Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入

    • 设计:PR对应的方案是否已经经过Maintainer评审,方案检视意见是否均已答复并完成方案修改
    • 测试:PR中的代码是否已有UT/ST测试用例进行充分的覆盖,新增测试用例是否随本PR一并上库或已经上库
    • 验证:PR描述信息中是否已包含对该PR对应的Feature、Refactor、Bugfix的预期目标达成情况的详细验证结果描述
    • 接口:是否涉及对外接口变更,相应变更已得到接口评审组织的通过,API对应的注释信息已经刷新正确
    • 文档:是否涉及官网文档修改,如果涉及请及时提交资料到Doc仓

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

## 使用方法

```python
from plugins.medical_kb import MedicalKnowledgeBasePlugin

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

🟡 Medium Priority

README 第 26 行 from medical_kb import MedicalKnowledgeBasePlugin 假定 medical_kb 是顶层包。实际代码位于 plugins/medical_kb/,且 plugins/__init__.py,因此该导入在任何标准 Python 环境中都会失败(ModuleNotFoundError: No module named 'medical_kb')。用户按文档复制示例代码将无法运行。

建议:修正示例中的导入语句以匹配实际目录结构。若保持当前布局,需要在 plugins/ 下添加 __init__.py 并改为 from plugins.medical_kb import MedicalKnowledgeBasePlugin。更好的方案是将插件移入 openjiuwen 包内统一管理。

from typing import Optional

# 将 medical-ai-innovation 加入路径(相对路径,安装后可不依赖)
try:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

🟡 Medium Priority

第 18 行 sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..")) 将三个 .. 拼接后的路径(即项目根目录的上一级)硬编码注入 sys.path,假定 medical-ai-innovation 恰好位于该位置。此路径依赖具体部署的目录结构,在容器化部署、打包安装(如 pip install)或 CI 环境下极易失效。且副作用在模块导入阶段即执行,难以绕过。该操作发生在第 18 行,直接导致后续第 20-24 行的 from medical_ai_innovation... 导入在路径不对时抛出 ModuleNotFoundError

建议:用环境变量(如 MEDICAL_AI_INNOVATION_PATH)或配置文件指定 medical-ai-innovation 的路径,避免硬编码相对路径。如果 medical-ai-innovation 已通过 pip install 安装到 site-packages,则应移除此 sys.path 操作。如果确实需要在开发模式下使用本地路径,请至少使用 os.path.abspath 规范化并加入存在性检查。

def batch_search(self, queries: list[str], **kwargs) -> list[dict]:
"""批量搜索"""
return [self.search(q, **kwargs) for q in queries]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

🟡 Medium Priority

第 112 行 from medical_ai_innovation.knowledge_base.cli import _build_demo_guidelines 导入了 _build_demo_guidelines 函数,该函数名以 _ 开头,按 Python 惯例表示模块私有 API。medical-ai-innovation 的外部维护者可能在未通知下游的情况下重命名、移除或改变该函数的签名,导致 load_demo_guidelines() 方法在未来版本中直接崩溃。

建议:改用 medical-ai-innovation 提供的公开 API 构建演示指南数据;如果外库未提供公开构造方法,可在 medical-ai-innovation 项目中推动暴露一个公开函数,或在此插件中自行实现演示数据的构建逻辑。

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 6d52165b67614b1241c48ba4d0752c637d4d91a8

任务名称 结果 日志操作
静态检查 ❌FAILED 点此跳转
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants