Update pubmed_rag.py
Browse files- pubmed_rag.py +9 -8
pubmed_rag.py
CHANGED
|
@@ -23,7 +23,7 @@ def search_pubmed(query, max_results=MAX_PUBMED_RESULTS):
|
|
| 23 |
"tool": "AdvancedMedicalAI",
|
| 24 |
"email": MY_PUBMED_EMAIL,
|
| 25 |
}
|
| 26 |
-
response = requests.get(url, params=params)
|
| 27 |
response.raise_for_status()
|
| 28 |
data = response.json()
|
| 29 |
return data.get("esearchresult", {}).get("idlist", [])
|
|
@@ -41,7 +41,7 @@ def fetch_abstract(pmid):
|
|
| 41 |
"tool": "AdvancedMedicalAI",
|
| 42 |
"email": MY_PUBMED_EMAIL,
|
| 43 |
}
|
| 44 |
-
response = requests.get(url, params=params)
|
| 45 |
response.raise_for_status()
|
| 46 |
return response.text.strip()
|
| 47 |
|
|
@@ -52,7 +52,8 @@ def fetch_pubmed_abstracts(pmids):
|
|
| 52 |
results = {}
|
| 53 |
for pmid in pmids:
|
| 54 |
try:
|
| 55 |
-
|
|
|
|
| 56 |
except Exception as e:
|
| 57 |
results[pmid] = f"Error fetching PMID {pmid}: {e}"
|
| 58 |
return results
|
|
@@ -78,8 +79,8 @@ def summarize_text(text, chunk_size=SUMMARIZATION_CHUNK_SIZE):
|
|
| 78 |
if current_chunk:
|
| 79 |
chunks.append(" ".join(current_chunk))
|
| 80 |
|
| 81 |
-
summaries = [
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
return " ".join(summaries)
|
|
|
|
| 23 |
"tool": "AdvancedMedicalAI",
|
| 24 |
"email": MY_PUBMED_EMAIL,
|
| 25 |
}
|
| 26 |
+
response = requests.get(url, params=params, timeout=10)
|
| 27 |
response.raise_for_status()
|
| 28 |
data = response.json()
|
| 29 |
return data.get("esearchresult", {}).get("idlist", [])
|
|
|
|
| 41 |
"tool": "AdvancedMedicalAI",
|
| 42 |
"email": MY_PUBMED_EMAIL,
|
| 43 |
}
|
| 44 |
+
response = requests.get(url, params=params, timeout=10)
|
| 45 |
response.raise_for_status()
|
| 46 |
return response.text.strip()
|
| 47 |
|
|
|
|
| 52 |
results = {}
|
| 53 |
for pmid in pmids:
|
| 54 |
try:
|
| 55 |
+
abstract = fetch_abstract(pmid)
|
| 56 |
+
results[pmid] = abstract
|
| 57 |
except Exception as e:
|
| 58 |
results[pmid] = f"Error fetching PMID {pmid}: {e}"
|
| 59 |
return results
|
|
|
|
| 79 |
if current_chunk:
|
| 80 |
chunks.append(" ".join(current_chunk))
|
| 81 |
|
| 82 |
+
summaries = []
|
| 83 |
+
for chunk in chunks:
|
| 84 |
+
summary = summarizer(chunk, max_length=100, min_length=30, do_sample=False)[0]["summary_text"]
|
| 85 |
+
summaries.append(summary)
|
| 86 |
+
return " ".join(summaries)
|