Spaces:
Sleeping
Sleeping
| from pymed import PubMed | |
| from typing import List | |
| from haystack import component | |
| from haystack import Document | |
| pubmed = PubMed(tool="Haystack2.0Prototype", email="tilde.thurium@deepset.ai") | |
| def documentize(article): | |
| return Document(content=article.abstract, meta={'title': article.title, 'keywords': article.keywords}) | |
| class PubMedFetcher(): | |
| def run(self, queries: list[str]): | |
| cleaned_queries = queries[0].strip().split('\n') | |
| articles = [] | |
| try: | |
| for query in cleaned_queries: | |
| response = pubmed.query(query, max_results = 1) | |
| documents = [documentize(article) for article in response] | |
| articles.extend(documents) | |
| except Exception as e: | |
| print(e) | |
| print(f"Couldn't fetch articles for queries: {queries}" ) | |
| results = {'articles': articles} | |
| return results |