Medical image analysis server for blood cell detection using YOLOv11, integrated with Django backend and LangChain tools for medical report generation and knowledge retrieval
This server has severe definition quality issues. All 4 tools lack proper English descriptions (descriptions are in Chinese, which violates LLM-optimization principles). Tool schemas are present but minimal, most parameters lack type information beyond basic strings/integers. No output schemas are documented. Tool names are inconsistent in style (mix of verb_noun and query_type patterns). The 'get_weather' tool is completely out of scope for a blood cell detection system. No error handling guidance, no parameter constraints (enums), and no indication of what each tool returns. This server would not pass code review.
这是一个撰写专业医学病理报告的工具。当用户要求"生成报告"、"写一份报告"、"分析最新记录"时,必须调用此工具。
获取指定城市的天气
这是一个用于查询显微血细胞检测数据库的工具。当用户询问历史检测记录、最新的检测结果、或者特定ID的记录时,必须调用此工具。
医学知识库检索工具。当用户询问血细胞指标偏高、偏低的原因、临床意义,或者请求出具医学解读与建议时,必须调用此工具。输入参数为用户的具体病理问题,例如:"血小板增多可能是什么疾病导致的?"或"红细胞偏少的原因"返回结果为《临床血液学检验指南》中的权威文献片段。
All tool descriptions are in Chinese, not English. LLMs operate primarily in English; non-English descriptions severely degrade tool selection and parameter inference. Descriptions must be in English and optimized for LLM parsing (50-200 chars, action-oriented).
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. Document return types with field names, types, and descriptions.
Tool 'get_weather' is completely out of scope for a blood cell detection system. This tool should be removed or the server's purpose should be clarified. Irrelevant tools waste LLM reasoning cycles and increase hallucination risk.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
Parameter schemas lack type information and constraints. 'query_type' in query_blood_cell_records should be an enum (latest|by_id), not a free-form string. 'record_id' in generate_medical_report_tool accepts string but description says 'ID', type mismatch. Enums prevent hallucinated values.
No error handling guidance. Tools do not document what happens on failure (e.g., record not found, invalid query_type, database error). Error responses must tell the LLM what to do next and whether to retry.