Langchain is a framework meant to facilitate the interaction between an AI model and a traditional web application.
Langchain is to the LLM - webapp communication kind of what jQuery is to Javascript, or Django to Python. It gives you a standardized way of doing stuff.
Some of the common use cases for Langchain:
- Reduce repetitive tasks. We can use prompt templates to format input questions for the models and output parses to format the received answers.
- Chain multiple models between them. For example, we can generate an article with Google's Gemini model and pass the text to Midjourney to generate images for that article. Langchain can also help with formatting the data so that the output from the first model matches the expected input of the second model.
- Providing and managing the conversation memory for the LLM. Setting up the initial context for the discussion (eq: the user name, or preferences), remembering stuff between sessions, or managing multiple conversation threads on different topics.
- Providing developers with the tools to connect language models with external data sources. For example, serving to ChatGPT the info from a book you've just written, or the internal procedures of a company.
- Directly related to the above, Langchain has a great toolset for doing retrieval augmented generation (RAG). With RAG we can embed our data into a vector store database and feed it to an LLM. By doing so we don't need to send the full book to the LLM on each request. This will improve the response speed and also will decrease the cost, given that an LLM request is charged by the number of used tokens.
- Langachain makes it easy to interact with AI agents and provides tools for them. For example, to find out how many years have passed since an event we can give ChatGpt a tool to search on Wikipedia and another tool to do math calculations. Yeah, you read that right. Given that AI models work by probabilistic estimations, they can hallucinate answers for even basic math subtractions. They need a dedicated tool to get this right 100% of the time.
- Provides debugging and monitor tools, such as Langsmith, to check the output, or why an AI Agent has taken a given path.
These are just some of the ways Langchain can make our lives easier as Javascript developers.
Can you do what you need without Langchain? Yes, you can. Will Langchain do it faster? Maybe yes.
But, where Langchain shines is in situations such as when you're trying to build apps that rely on a sequence (or chain) of prompts where each preceding answer is included in the subsequent question.
Currently, you can use Langchain with Javascript and Python.
If you want to learn more you can also check out a first example app with Langchain and ReactJs.