How to Set Up Aluvia With LangChain
Integrating Aluvia with LangChain enhances LLM-powered agents with reliable, scalable web connectivity using Aluvia's mobile network infrastructure for real-world applications.
The langchain-aluvia-webbrowser package is the official LangChain integration for Aluvia, providing AluviaWebBrowser - a LangChain WebBrowser tool that uses Aluvia's mobile network connectivity to browse websites and extract information. This tool is fully compatible with LangChain's WebBrowser and can be used as a drop-in replacement.
The tool is described to agents as:
"aluvia-powered web browser - useful for when you need to find something on or summarize a webpage. input should be a comma separated list of 'valid URL including protocol','what you want to find on the page or empty string for a summary'."
How to Integrate Aluvia With LangChain
Obtain Your Aluvia Token
- Log in to your Aluvia dashboard.
- Go to Credentials.
- Copy your Aluvia Token.
Your Aluvia Token looks like: 2dceb1aa0***************************
Install the Aluvia Integration
Install the Aluvia integration package for LangChain by running the following command:
npm install langchain-aluvia-webbrowser
Set the environment variable
Set your Aluvia token as an environment variable:
ALUVIA_TOKEN="your-aluvia-token";
Or pass it directly when initializing the tool:
import AluviaWebBrowser from "langchain-aluvia-webbrowser";
const browser = new AluviaWebBrowser({
aluviaToken: "your-aluvia-token"
});
Use the Aluvia WebBrowser tool
- Standalone Usage
- With LangChain Agent
import AluviaWebBrowser from "langchain-aluvia-webbrowser";
import { ChatOpenAI, OpenAIEmbeddings } from "@langchain/openai";
export async function run() {
const model = new ChatOpenAI({ model: "gpt-4o-mini", temperature: 0 });
const embeddings = new OpenAIEmbeddings();
const browser = new AluviaWebBrowser({
model,
embeddings,
aluviaToken: "your-aluvia-token", // or set ALUVIA_TOKEN env var
});
const result = await browser.invoke(
`"https://www.themarginalian.org/2015/04/09/find-your-bliss-joseph-campbell-power-of-myth","who is joseph campbell"`
);
console.log(result);
/*
Joseph Campbell was a mythologist and writer who discussed spirituality,
psychological archetypes, cultural myths, and the mythology of self. He sat down with
Bill Moyers for a lengthy conversation at George Lucas's Skywalker Ranch in
California, which continued the following year at the American Museum of Natural
History in New York. The resulting 24 hours of raw footage were edited down to six
one-hour episodes and broadcast on PBS in 1988, shortly after Campbell's death,
in what became one of the most popular in the history of public television.
Relevant Links:
- [The Holstee Manifesto](http://holstee.com/manifesto-bp)
- [The Silent Music of the Mind: Remembering Oliver Sacks](https://www.themarginalian.org/2015/08/31/remembering-oliver-sacks)
- [Joseph Campbell series](http://billmoyers.com/spotlight/download-joseph-campbell-and-the-power-of-myth-audio/)
- [Bill Moyers](https://www.themarginalian.org/tag/bill-moyers/)
- [books](https://www.themarginalian.org/tag/books/)
*/
}
import { OpenAI, OpenAIEmbeddings } from "@langchain/openai";
import { initializeAgentExecutorWithOptions } from "@langchain/classic/agents";
import { Calculator } from "@langchain/community/tools/calculator";
import { SerpAPI } from "@langchain/community/tools/serpapi";
import AluviaWebBrowser from "langchain-aluvia-webbrowser";
export const run = async () => {
const model = new OpenAI({ temperature: 0 });
const embeddings = new OpenAIEmbeddings();
const tools = [
new SerpAPI(process.env.SERPAPI_API_KEY, {
location: "Austin,Texas,United States",
hl: "en",
gl: "us",
}),
new Calculator(),
await AluviaWebBrowser.create({
model,
embeddings,
aluviaToken: "your-aluvia-token", // or set ALUVIA_TOKEN env var
}),
];
const executor = await initializeAgentExecutorWithOptions(tools, model, {
agentType: "zero-shot-react-description",
verbose: true,
});
console.log("Loaded agent.");
const input = `What is the word of the day on merriam webster. What is the top result on
google for that word`;
console.log(`Executing with input "${input}"...`);
const result = await executor.invoke({ input });
/*
Entering new agent_executor chain...
I need to find the word of the day on Merriam Webster and then search for it
on Google
Action: web-browser
Action Input: "https://www.merriam-webster.com/word-of-the-day", ""
Summary: Merriam-Webster is a website that provides users with a variety of
resources, including a dictionary, thesaurus, word finder, word of the day, games
and quizzes, and more. The website also allows users to log in and save words,
view recents, and access their account settings. The Word of the Day for April
14, 2023 is "lackadaisical", which means lacking in life, spirit, or zest. The
website also provides quizzes and games to help users build their vocabulary.
Relevant Links:
- [Test Your Vocabulary](https://www.merriam-webster.com/games)
- [Thesaurus](https://www.merriam-webster.com/thesaurus)
- [Word Finder](https://www.merriam-webster.com/wordfinder)
- [Word of the Day](https://www.merriam-webster.com/word-of-the-day)
- [Shop](https://shop.merriam-webster.com/?utm_source=mwsite&utm_medium=nav&utm_content=header)
I now need to search for the word of the day on Google
Action: search
Action Input: "lackadaisical"
lackadaisical implies a carefree indifference marked by half-hearted efforts.
lackadaisical college seniors pretending to study. listless suggests a lack of
will, of energy, or of interest in what is going on about one.
Finished chain.
*/
};