Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -8,51 +8,6 @@ from Gradio_UI import GradioUI
|
|
8 |
|
9 |
# Custom Tool to fetch datasets related to body parts or imaging types
|
10 |
|
11 |
-
# @tool
|
12 |
-
# def my_custom_tool(arg1: str, arg2: int) -> str:
|
13 |
-
# """
|
14 |
-
# Search and retrieve publicly available medical datasets from Hugging Face based on any medical-related keyword.
|
15 |
-
|
16 |
-
# Args:
|
17 |
-
# arg1: A keyword related to medical data (e.g., 'cancer', 'diabetes', 'CT scan', 'radiology', 'dermoscopy').
|
18 |
-
# arg2: The maximum number of datasets to retrieve.
|
19 |
-
|
20 |
-
# Returns:
|
21 |
-
# A list of dataset names matching the search query, or a message stating that no datasets were found
|
22 |
-
# or that the keyword is not medically relevant.
|
23 |
-
# """
|
24 |
-
# try:
|
25 |
-
# keyword = arg1.strip().lower()
|
26 |
-
# limit = int(arg2)
|
27 |
-
|
28 |
-
# # ✅ Define a basic list of medically relevant terms
|
29 |
-
# medical_terms = [
|
30 |
-
# "skin", "brain", "cancer", "breast cancer", "prostate cancer", "stomach", "tumor", "mri", "ct", "xray", "ultrasound",
|
31 |
-
# "diabetes", "pneumonia", "covid", "lesion", "radiology", "pathology",
|
32 |
-
# "lung", "chest", "abdomen", "spine", "bone", "stroke", "eczema", "melanoma",
|
33 |
-
# "eye", "retina", "dermoscopy", "cardiology", "infection", "biopsy", "tooth",
|
34 |
-
# "toothache", "dental", "ear", "wrist", "hand", "leg", "arm", "heart"
|
35 |
-
# ]
|
36 |
-
|
37 |
-
# # ✅ Check if the keyword looks medically relevant
|
38 |
-
# if not any(term in keyword for term in medical_terms):
|
39 |
-
# return f"'{arg1}' does not appear to be a medical term."
|
40 |
-
|
41 |
-
# # ✅ Proceed to fetch datasets
|
42 |
-
# response = requests.get(
|
43 |
-
# f"https://huggingface.co/api/datasets?search={keyword}&limit={limit}"
|
44 |
-
# )
|
45 |
-
# response.raise_for_status()
|
46 |
-
# datasets = response.json()
|
47 |
-
|
48 |
-
# if not datasets:
|
49 |
-
# return f"No medical datasets found for '{arg1}'."
|
50 |
-
|
51 |
-
# results = [f"- {ds.get('id', 'Unknown')}" for ds in datasets[:limit]]
|
52 |
-
# return f"Medical datasets related to '{arg1}':\n" + "\n".join(results)
|
53 |
-
|
54 |
-
# except Exception as e:
|
55 |
-
# return f"Error searching medical datasets for '{arg1}': {str(e)}"
|
56 |
@tool
|
57 |
def my_custom_tool(arg1: str, arg2: int) -> str:
|
58 |
"""
|
@@ -80,6 +35,7 @@ def my_custom_tool(arg1: str, arg2: int) -> str:
|
|
80 |
"cancer", "tumor", "stroke", "diabetes", "pneumonia", "covid", "asthma", "eczema", "melanoma",
|
81 |
"hypertension", "alzheimer", "parkinson", "arthritis", "scoliosis", "epilepsy", "glaucoma",
|
82 |
"ulcer", "hepatitis", "leukemia", "lymphoma", "tuberculosis", "anemia", "obesity", "depression",
|
|
|
83 |
|
84 |
# Imaging Modalities
|
85 |
"mri", "ct", "xray", "x-ray", "ultrasound", "pet", "fmri", "mammo", "angiography", "radiography",
|
@@ -88,6 +44,7 @@ def my_custom_tool(arg1: str, arg2: int) -> str:
|
|
88 |
# Medical Specialties
|
89 |
"radiology", "pathology", "oncology", "cardiology", "neurology", "dermatology", "dentistry",
|
90 |
"ophthalmology", "urology", "orthopedics", "gastroenterology", "pulmonology", "nephrology",
|
|
|
91 |
|
92 |
# Symptoms / Signs
|
93 |
"lesion", "infection", "fever", "pain", "inflammation", "rash", "headache", "swelling",
|
@@ -95,7 +52,30 @@ def my_custom_tool(arg1: str, arg2: int) -> str:
|
|
95 |
|
96 |
# Common Specific Diseases
|
97 |
"breast cancer", "prostate cancer", "lung cancer", "skin cancer", "colon cancer",
|
98 |
-
"brain tumor", "liver cancer", "cervical cancer", "bladder cancer", "thyroid cancer"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
]
|
100 |
|
101 |
|
|
|
8 |
|
9 |
# Custom Tool to fetch datasets related to body parts or imaging types
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
@tool
|
12 |
def my_custom_tool(arg1: str, arg2: int) -> str:
|
13 |
"""
|
|
|
35 |
"cancer", "tumor", "stroke", "diabetes", "pneumonia", "covid", "asthma", "eczema", "melanoma",
|
36 |
"hypertension", "alzheimer", "parkinson", "arthritis", "scoliosis", "epilepsy", "glaucoma",
|
37 |
"ulcer", "hepatitis", "leukemia", "lymphoma", "tuberculosis", "anemia", "obesity", "depression",
|
38 |
+
"anxiety", "bipolar", "autism", "adhd", "ptsd", "psychosis", "schizophrenia",
|
39 |
|
40 |
# Imaging Modalities
|
41 |
"mri", "ct", "xray", "x-ray", "ultrasound", "pet", "fmri", "mammo", "angiography", "radiography",
|
|
|
44 |
# Medical Specialties
|
45 |
"radiology", "pathology", "oncology", "cardiology", "neurology", "dermatology", "dentistry",
|
46 |
"ophthalmology", "urology", "orthopedics", "gastroenterology", "pulmonology", "nephrology",
|
47 |
+
"psychiatry", "pediatrics", "geriatrics", "infectious disease",
|
48 |
|
49 |
# Symptoms / Signs
|
50 |
"lesion", "infection", "fever", "pain", "inflammation", "rash", "headache", "swelling",
|
|
|
52 |
|
53 |
# Common Specific Diseases
|
54 |
"breast cancer", "prostate cancer", "lung cancer", "skin cancer", "colon cancer",
|
55 |
+
"brain tumor", "liver cancer", "cervical cancer", "bladder cancer", "thyroid cancer",
|
56 |
+
|
57 |
+
# Procedures / Interventions
|
58 |
+
"surgery", "chemotherapy", "radiation", "transplant", "dialysis", "intubation", "stenting",
|
59 |
+
"ventilation", "vaccination", "anesthesia", "rehabilitation", "prosthetics", "orthotics",
|
60 |
+
|
61 |
+
# Lab Tests / Biomarkers
|
62 |
+
"blood test", "cbc", "glucose", "hemoglobin", "cholesterol", "biomarker", "urinalysis",
|
63 |
+
"pcr", "serology", "antibody", "antigen",
|
64 |
+
|
65 |
+
# Clinical Settings / Roles
|
66 |
+
"icu", "hospital", "emergency", "clinical notes", "nursing", "physician", "patient",
|
67 |
+
"medical record", "electronic health record", "ehr", "vitals",
|
68 |
+
|
69 |
+
# Age-based Terms
|
70 |
+
"pediatric", "neonatal", "infant", "child", "adolescent", "geriatrics", "elderly",
|
71 |
+
|
72 |
+
# Epidemiology / Public Health
|
73 |
+
"epidemiology", "prevalence", "incidence", "mortality", "public health", "health disparity",
|
74 |
+
"risk factor", "social determinant",
|
75 |
+
|
76 |
+
# Pharmacology / Medications
|
77 |
+
"drug", "medication", "pharmacology", "side effect", "adverse event", "dose", "tablet",
|
78 |
+
"vaccine", "clinical trial", "placebo"
|
79 |
]
|
80 |
|
81 |
|