# ArXiv

This notebook goes over how to use the `arxiv`

tool with an agent.

First, you need to install the `arxiv`

python package.

`%pip install --upgrade --quiet arxiv`

`from langchain import hub`

from langchain.agents import AgentExecutor, create_react_agent, load_tools

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(temperature=0.0)

tools = load_tools(

["arxiv"],

)

prompt = hub.pull("hwchase17/react")

agent = create_react_agent(llm, tools, prompt)

agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

#### API Reference:

`agent_executor.invoke(`

{

"input": "What's the paper 1605.08386 about?",

}

)

[1m> Entering new AgentExecutor chain...[0m

[32;1m[1;3mI should use the arxiv tool to search for the paper with the given identifier.

Action: arxiv

Action Input: 1605.08386[0m[36;1m[1;3mPublished: 2016-05-26

Title: Heat-bath random walks with Markov bases

Authors: Caprice Stanley, Tobias Windisch

Summary: Graphs on lattice points are studied whose edges come from a finite set of

allowed moves of arbitrary length. We show that the diameter of these graphs on

fibers of a fixed integer matrix can be bounded from above by a constant. We

then study the mixing behaviour of heat-bath random walks on these graphs. We

also state explicit conditions on the set of moves so that the heat-bath random

walk, a generalization of the Glauber dynamics, is an expander in fixed

dimension.[0m[32;1m[1;3mThe paper "1605.08386" is titled "Heat-bath random walks with Markov bases" and is authored by Caprice Stanley and Tobias Windisch. It was published on May 26, 2016. The paper discusses the study of graphs on lattice points with edges coming from a finite set of allowed moves. It explores the diameter of these graphs and the mixing behavior of heat-bath random walks on them. The paper also discusses conditions for the heat-bath random walk to be an expander in fixed dimension.

Final Answer: The paper "1605.08386" is about heat-bath random walks with Markov bases.[0m

[1m> Finished chain.[0m

`{'input': "What's the paper 1605.08386 about?",`

'output': 'The paper "1605.08386" is about heat-bath random walks with Markov bases.'}

## The ArXiv API Wrapper

The tool uses the `API Wrapper`

. Below, we explore some of the features it provides.

`from langchain_community.utilities import ArxivAPIWrapper`

#### API Reference:

You can use the ArxivAPIWrapper to get information about a scientific article or articles. The query text is limited to 300 characters.

The ArxivAPIWrapper returns these article fields:

- Publishing date
- Title
- Authors
- Summary

The following query returns information about one article with the arxiv ID "1605.08386".

`arxiv = ArxivAPIWrapper()`

docs = arxiv.run("1605.08386")

docs

`'Published: 2016-05-26\nTitle: Heat-bath random walks with Markov bases\nAuthors: Caprice Stanley, Tobias Windisch\nSummary: Graphs on lattice points are studied whose edges come from a finite set of\nallowed moves of arbitrary length. We show that the diameter of these graphs on\nfibers of a fixed integer matrix can be bounded from above by a constant. We\nthen study the mixing behaviour of heat-bath random walks on these graphs. We\nalso state explicit conditions on the set of moves so that the heat-bath random\nwalk, a generalization of the Glauber dynamics, is an expander in fixed\ndimension.'`

Now, we want to get information about one author, `Caprice Stanley`

.

This query returns information about three articles. By default, the query returns information only about three top articles.

`docs = arxiv.run("Caprice Stanley")`

docs

`'Published: 2017-10-10\nTitle: On Mixing Behavior of a Family of Random Walks Determined by a Linear Recurrence\nAuthors: Caprice Stanley, Seth Sullivant\nSummary: We study random walks on the integers mod $G_n$ that are determined by an\ninteger sequence $\\{ G_n \\}_{n \\geq 1}$ generated by a linear recurrence\nrelation. Fourier analysis provides explicit formulas to compute the\neigenvalues of the transition matrices and we use this to bound the mixing time\nof the random walks.\n\nPublished: 2016-05-26\nTitle: Heat-bath random walks with Markov bases\nAuthors: Caprice Stanley, Tobias Windisch\nSummary: Graphs on lattice points are studied whose edges come from a finite set of\nallowed moves of arbitrary length. We show that the diameter of these graphs on\nfibers of a fixed integer matrix can be bounded from above by a constant. We\nthen study the mixing behaviour of heat-bath random walks on these graphs. We\nalso state explicit conditions on the set of moves so that the heat-bath random\nwalk, a generalization of the Glauber dynamics, is an expander in fixed\ndimension.\n\nPublished: 2003-03-18\nTitle: Calculation of fluxes of charged particles and neutrinos from atmospheric showers\nAuthors: V. Plyaskin\nSummary: The results on the fluxes of charged particles and neutrinos from a\n3-dimensional (3D) simulation of atmospheric showers are presented. An\nagreement of calculated fluxes with data on charged particles from the AMS and\nCAPRICE detectors is demonstrated. Predictions on neutrino fluxes at different\nexperimental sites are compared with results from other calculations.'`

Now, we are trying to find information about non-existing article. In this case, the response is "No good Arxiv Result was found"

`docs = arxiv.run("1605.08386WWW")`

docs

`'No good Arxiv Result was found'`