Documentation Index
Fetch the complete documentation index at: https://docs.camel-ai.org/llms.txt
Use this file to discover all available pages before exploring further.
class PubMedToolkit(BaseToolkit):
A toolkit for interacting with PubMed’s E-utilities API to access
MEDLINE data.
This toolkit provides functionality to search and retrieve papers from the
PubMed database, including abstracts, citations, and other metadata.
Parameters:
- timeout (Optional[float]): The timeout for API requests in seconds. (default: :obj:
None)
init
def __init__(self, timeout: Optional[float] = None):
Initializes the PubMedToolkit.
_make_request
def _make_request(
self,
endpoint: str,
params: Dict[str, Union[str, int]],
retries: int = 3
):
Makes a request to the PubMed/MEDLINE API with error handling and
retries.
Parameters:
- endpoint (str): The API endpoint to call.
- params (Dict[str, Union[str, int]]): Query parameters.
- retries (int, optional): Number of retry attempts. (default: :obj:
3)
Returns:
Optional[Dict[str, Any]]: JSON response if successful, else None.
search_papers
def search_papers(
self,
query: str,
max_results: int = 10,
sort: str = 'relevance',
date_range: Optional[Dict[str, str]] = None,
publication_type: Optional[List[str]] = None
):
Search for biomedical papers in MEDLINE via PubMed with advanced
filtering options.
Parameters:
- query (str): The search query string.
- max_results (int, optional): Maximum number of results to return. (default: :obj:
10)
- sort (str, optional): Sort order - ‘relevance’ or ‘date’. (default: :obj:
"relevance")
- date_range (Optional[Dict[str, str]], optional): Date range filter with ‘from’ and ‘to’ dates in YYYY/MM/DD format. (default: :obj:
None)
- publication_type (Optional[List[str]], optional): Filter by publication types (e.g., [“Journal Article”, “Review”]). (default: :obj:
None)
Returns:
List[Dict[str, str]]: List of papers with their metadata.
get_paper_details
def get_paper_details(
self,
paper_id: Union[str, int],
include_references: bool = False
):
Get detailed information about a specific biomedical paper from
MEDLINE/PubMed.
Parameters:
- paper_id (Union[str, int]): PubMed ID of the paper.
- include_references (bool, optional): Whether to include referenced papers. (default: :obj:
False)
Returns:
Optional[Dict[str, Any]]: Paper details including title, authors,
abstract, etc., or None if retrieval fails.
get_abstract
def get_abstract(self, paper_id: Union[str, int]):
Get the abstract of a specific biomedical paper from MEDLINE/
PubMed.
Parameters:
- paper_id (Union[str, int]): PubMed ID of the paper.
Returns:
str: The abstract text.
get_citation_count
def get_citation_count(self, paper_id: Union[str, int]):
Get the number of citations for a biomedical paper in MEDLINE/
PubMed.
Parameters:
- paper_id (Union[str, int]): PubMed ID of the paper.
Returns:
int: Number of citations, or 0 if retrieval fails.
def get_related_papers(self, paper_id: Union[str, int], max_results: int = 10):
Get biomedical papers related to a specific paper in MEDLINE/
PubMed.
Parameters:
- paper_id (Union[str, int]): PubMed ID of the paper.
- max_results (int, optional): Maximum number of results to return. (default: :obj:
10)
Returns:
List[Dict[str, Any]]: List of related papers with their metadata.
Returns:
List[FunctionTool]: List of available tools.