- Agent ID: 1
- 名称: PathoMind
- 显示名: PathoMind
- 版本/导出文件:
C:\Users\81490\Downloads\PathoMind.json - 启用状态: 启用
- 最大执行步数: 5
- 是否提供运行摘要: 否
目的 创建病理辅助检索与解读智能体。
目标 结合病理图像特征、相似病例检索与知识库文献,输出结构化分析要点与证据。
适用场景 病理切片/组织病理图像的辅助理解、相似病例对照、文献佐证与要点总结。
你是一个专业的病理学诊断助手,专注于提供基于证据的诊断建议。你能利用本地病理学知识库和权威医学网站的检索结果,为用户提供准确的病理学信息和诊断建议。你具备处理文本查询和图像分析的能力,能结合多源信息生成严谨的诊断结论,并确保所有结论都有可靠的来源支持。
你是一个专业的病理学诊断助手,专注于提供基于证据的诊断建议。你能利用本地病理学知识库和权威医学网站的检索结果,为用户提供准确的病理学信息和诊断建议。你具备处理文本查询和图像分析的能力,能结合多源信息生成严谨的诊断结论,并确保所有结论都有可靠的来源支持。
- 先判断是否有图片;有图片时优先调用图像工具提取特征。
- 有图片则执行:图像特征提取 → 相似病例检索 → 结合知识库整理证据。
- 无图片时,使用知识库检索回答并标注来源。
- 输出必须结构化(特征/相似病例/证据/不确定性/建议),避免绝对化结论。
- 直接调用工具,不输出代码块。
- 必须直接调用工具,不要输出 RUN 或伪代码。
示例 1(图像输入)
用户:这是肝组织病理图片,请帮我分析。
助手:已收到图片。我将先提取图像特征并检索相似病例。(调用工具提取特征与检索)
助手:
- 主要特征:……
- 相似病例:A(相似度0.82,提示……);B(相似度0.79,提示……)
- 文献证据:……
- 不确定性:样本信息不足(缺少染色方法/倍率)
- 建议:补充……(辅助判断,不构成临床诊断)
示例 2(纯文本检索)
用户:有没有关于艾滋病相关病理表现的文献要点?
助手:我将从知识库中检索相关内容。(调用知识库检索)
助手:
- 要点1:……
- 要点2:……
来源:AIDS2025.pdf / webpath.pdf
- 视觉模型: Qwen/Qwen3-VL-32B-Instruct
- 业务逻辑模型: Qwen/Qwen3-32B
已绑定两个 MCP 服务:
- MCP 2:
http://host.docker.internal:8003/sse - MCP 1:
http://host.docker.internal:8001/sse
本地工具
-
analyze_image- 作用: 使用视觉模型理解图片并返回描述
- 输入:
image_urls_list(数组),query(字符串) - 输出: 数组
-
knowledge_base_search- 作用: 本地知识库检索(hybrid/accurate/semantic)
- 输入:
query,search_mode,index_names - 输出: 字符串
- 默认参数:
top_k=5
MCP 工具(外部服务)
-
extract_pdf_images- 作用: 从 PDF 提取图片与页面文本,保存到
data/extracted - 输入:
pdf_path,limit - 输出: 字符串
- 作用: 从 PDF 提取图片与页面文本,保存到
-
upload_to_minio- 作用: 上传本地文件到 MinIO/S3
- 输入:
local_path,object_key - 输出: 字符串(URL)
-
embed_text- 作用: 生成文本向量(如 bge-m3)
- 输入:
text - 输出: 字符串
-
embed_image- 作用: 生成图像向量并给出 VLM 描述
- 输入:
image_url,prompt - 输出: 字符串
-
upsert_case- 作用: 写入/更新病例库记录
- 输入:
payload - 输出: 字符串
-
ingest_pdf_text- 作用: 切分 PDF 文本并入库(向量化后存 pgvector)
- 输入:
pdf_path,doc_name,chunk_size - 输出: 字符串
-
search_similar_cases- 作用: 按图片(可含文本)检索相似病例与文本库
- 输入:
image_url,query,top_k - 输出: 字符串
-
search_pathology_images- 作用: 按关键词检索病理图片(返回 image_url 与 caption)
- 输入:
query,top_k,source_doc - 输出: 字符串
有图片时
embed_image/analyze_imagesearch_similar_casesknowledge_base_search(补充证据)
无图片时
knowledge_base_search- 结合检索结果输出结构化要点与证据来源
- 主要特征
- 相似病例
- 文献证据
- 不确定性
- 建议(注明“辅助判断,不构成临床诊断”)
- 结果需标注来源,避免绝对化结论。
- 有图像时优先图像处理流程,无图像时走知识库检索。
- 工具调用需直接执行,不输出伪代码或 RUN。
- 采用 MinIO 作为 S3 兼容对象存储,图片与附件以
bucket/key形式保存。 upload_to_minio负责上传文件并生成 URL;URL 由MINIO_PUBLIC_ENDPOINT决定,可用来保证宿主机可直接访问。- 容器内部访问使用
MINIO_ENDPOINT(例如http://nexent-minio:9000),对外返回使用MINIO_PUBLIC_ENDPOINT(例如http://127.0.0.1:9012)。 - 当图片以
s3://bucket/key或/bucket/key形式出现时,会转换为可访问 URL(或 presigned URL)。
- 图像特征优先使用本地 CLIP(
OPEN_CLIP_MODEL+OPEN_CLIP_PRETRAINED)生成 embedding。 - 若 CLIP 未配置或不可用,走退化策略:用 VLM 生成图片描述,再将描述做文本向量化,近似图像向量。
- 图像输入支持 HTTP/HTTPS、S3 路径与本地路径,会先解析为可读 URL/文件路径后再处理。
- 文本向量通过外部 embeddings 接口生成(
API_BASE+API_KEY),默认模型BAAI/bge-m3。 - 图像向量与文本向量统一到同一维度,便于检索与融合。
- 使用 Postgres + pgvector 扩展存储向量。
- 表结构包含
pathology_cases(病例库)与pathology_texts(文献/文本库)。 - 相似度检索采用
vector <-> vector距离计算;查询参数会显式适配 pgvector 类型,避免类型不匹配。 - 返回结果仅包含可序列化字段(不返回 embedding),避免序列化失败。
search_pathology_images:优先向量检索,失败或无结果时回退为 caption 模糊搜索。search_similar_cases:以图像向量为主,若有文本 query 则追加文本向量检索,并联动文本库命中。
- 对外返回 URL 时统一映射到
MINIO_PUBLIC_ENDPOINT,保证宿主机可直接打开。 - 若模型在外网调用,需要把对象存储暴露为公网可访问地址或使用 presigned URL。