PubMedAPIWrapper#

class langchain_community.utilities.pubmed.PubMedAPIWrapper[source]#

Bases: BaseModel

Wrapper around PubMed API.

This wrapper will use the PubMed API to conduct searches and fetch document summaries. By default, it will return the document summaries of the top-k results of an input search.

Parameters:
  • top_k_results – number of the top-scored document used for the PubMed tool

  • MAX_QUERY_LENGTH – maximum length of the query. Default is 300 characters.

  • doc_content_chars_max – maximum length of the document content. Content will be truncated if it exceeds this length. Default is 2000 characters.

  • max_retry – maximum number of retries for a request. Default is 5.

  • sleep_time – time to wait between retries. Default is 0.2 seconds.

  • email – email address to be used for the PubMed API.

  • api_key – API key to be used for the PubMed API.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

param MAX_QUERY_LENGTH: int = 300#
param api_key: str = ''#
param base_url_efetch: str = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?'#
param base_url_esearch: str = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?'#
param doc_content_chars_max: int = 2000#
param email: str = 'your_email@example.com'#
param max_retry: int = 5#
param sleep_time: float = 0.2#
param top_k_results: int = 3#
lazy_load(query: str) Iterator[dict][source]#

Search PubMed for documents matching the query. Return an iterator of dictionaries containing the document metadata.

Parameters:

query (str)

Return type:

Iterator[dict]

lazy_load_docs(query: str) Iterator[Document][source]#
Parameters:

query (str)

Return type:

Iterator[Document]

load(query: str) List[dict][source]#

Search PubMed for documents matching the query. Return a list of dictionaries containing the document metadata.

Parameters:

query (str)

Return type:

List[dict]

load_docs(query: str) List[Document][source]#
Parameters:

query (str)

Return type:

List[Document]

retrieve_article(uid: str, webenv: str) dict[source]#
Parameters:
  • uid (str)

  • webenv (str)

Return type:

dict

run(query: str) str[source]#

Run PubMed search and get the article meta information. See https://www.ncbi.nlm.nih.gov/books/NBK25499/#chapter4.ESearch It uses only the most informative fields of article meta information.

Parameters:

query (str)

Return type:

str