chapter one

1 Developing LLM applications with LangChain

 

This chapter covers

  • LangChain’s architecture and object model
  • Most common LLM applications
  • LangChain programming examples
  • Background on LLMs

An LLM application uses a large language model to provide specific functionality. If you're planning to build one, you might think about starting from scratch with your preferred programming language. But most LLM applications follow similar workflows and technical patterns, so using a specialized framework is usually more efficient. It speeds up development, enforces best practices, and helps you avoid common mistakes. In this book, you'll learn how to build LLM applications with the LangChain framework.

LangChain provides a comprehensive set of tools that simplify the process of building, testing, and deploying LLM applications. It abstracts key components like text loaders, vector stores, and LLMs, and integrates seamlessly with over 600 third-party providers. This open-source toolkit enables you to access data sources, manage complex workflows, and allow LLMs to interact with external tools, significantly accelerating development and enhancing functionality. LangChain also includes LangSmith for debugging, testing, and monitoring applications, and LangGraph for building stateful, multi-agent systems. I'll cover all these components in this book.

1.1 Introducing LangChain

1.1.1 LangChain architecture

1.2 LangChain core object model

1.3 Building LLM applications

1.3.1 LLM-based engines: summarization and Q&A engines

1.3.2 LLM-based chatbots

1.3.3 LLM-based autonomous agents

1.4 Trying out LangChain in a Jupyter Notebook environment

1.4.1 Sentence completion example

1.4.2 Prompt engineering examples

1.4.3 Creating chains and executing them with LCEL

1.5 What is a Large Language Model?

1.6 Typical LLM use cases

1.7 How to adapt an LLM to your needs

1.7.1 Prompt engineering

1.7.2 Retrieval Augmented Generation (RAG)

1.7.3 Fine-tuning

1.8 Which LLMs to chose

1.9 What You'll Learn from this Book

1.10 Recap on LLM terminology

1.11 Summary