We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

LangChain

Develop AI web-apps with JavaScript and LangChain

Shawn Esquivel

Welcome to the LangChain AI JavaScript course.

Read more

Welcome to the LangChain AI JavaScript course.

As we stand here in It's not just a buzzword - it's a reality shaping industries, from finance to healthcare, logistics, and entertainment. And you, as a developer, are in a prime position to ride the wave.

Dive into the innovative world of building Large Language Models (LLM) with LangChain, a groundbreaking tool for rapidly building AI powered applications.

In this course, we place an equal emphasis on theory and practice. We’ll start easy, and increase the complexity with each project. Additionally, you'll have starter templates for each project, so that you spend most of your time learning about AI, and less time worrying about setting up your code environment.

In 2023 alone, we’ve seen a rise in AI products making hundreds to thousands of dollars a month built by solo developers. At the end of the course, you will have built SIX stunning full-stack AI applications that will give you the skills to build your own AI products from scratch.

The world is moving fast, and AI is leading the charge. Don't be left behind, wishing you had started learning AI sooner. So secure your spot in the course, and take the first step towards your AI journey today.

In this course, we use cutting edge technologies to create a seamless developer experience:

  • LangChain, an AI framework for rapidly building LLM applications with OpenAI, HuggingFace, and more.

  • NextJS - Allows you to build the frontend and backend in one language, JavaScript.

  • Vercel - You'll know how to deploy your LLM application to users, without pulling your hair out.

  • TailwindCSS - Each project comes with a pre-styled template, so you don't need to worry about styling.

By the end of the course you will the skills to:

  1. Chat With Anything - use AI to chat with books, videos, etc.

  2. Supercharge Your Work - create autonomous AI agents that can "think" through complex tasks

  3. Launch Your Product - display your AI projects for potential employers/customers to see

  4. Troubleshoot Anything - how to use AI tools beyond ChatGPT to become the "10x developer"

Course Pre-Requisites:

  • Some experience in JavaScript (or a similar programming language) is helpful

  • Some experience in React is helpful

  • No experience in AI, NextJS, TailwindCSS necessary

  • A desire to build your own AI applications.

This is not just a course, it's a community. Along with lifetime access to the course, you'll get:

  1. Dedicated 1 on 1 troubleshooting support with me

  2. Notion Course Textbook with additional AI resources, FAQ, troubleshooting guides

  3. Access to an exclusive Discord community to connect with other learners

  4. No extra cost for continuous updates and improvements to the course

Enroll now

What's inside

Learning objectives

  • Chat with anything - use ai to chat with books, videos, etc.
  • Supercharge your work - create autonomous ai agents that can "think" through complex tasks
  • Launch your product - display your ai projects for potential employers/customers to see
  • Troubleshoot anything - how to use ai tools beyond chatgpt to become the "10x developer"

Syllabus

Set up environment and start writing your first lines of LangChain!
1.1 • Developer Environment Setup
Note: Node Version
1.2 Cloning the Repository
Read more
(Optional) Downloading the Course Materials Manually
1.3 • Extensions to Make Life Easier
1.4 • Extensions to Make Life Easier (Cont.)

The most helpful resource here is the LangChain KapaAI.


You can ask your questions to an AI assistant that is trained on AI!

1.6 • API Keys Needed

This step is crucial so that we'll have API keys in the NodeJS runtime environment.

1.7 • Set API Usage Limits (Optional)
IMPORTANT: 1.8 Setting API Keys In Terminal
(OPTIONAL FOR WINDOWS USERS) Setting API keys in the Terminal
1.8 Course Resources
1.9 LangChain Quick Start Guide
NPM Issues (npm install, npm run dev)? – TRY THIS!
(Optional) NextJS/React/Tailwind Crash Course Part 1
(Optional) NextJS/React/Tailwind Crash Course Part 2
(Optional) NextJS/React/Tailwind Crash Course Part 3
(Optional) NextJS/React/Tailwind Crash Course Part 4
Memory (Project) + NextJS Intro
2.0 • Memory Demo
2.1 • Theory Intro

NOTE: To skip this section, simply copy the app/memory/page-finished.jsx

2.3 • Connecting the Frontend/Backend in NextJS
2.4 • Setting up the Backend
2.5 • Handling the Response in the Frontend
2.6 • Memory Summary
2.7 • Conclusion
Streaming (Project)

LangChain provides a streaming API that allows you to get words streamed back to you as they are generated. This is useful for chatbots, where you want to show the user what is being generated as it is being generated. You can find an example of how to use the streaming API in the LangChain documentation.

3.1 • Set up the Frontend
3.2 • Stream Responses from Backend
3.3 • Streaming Conclusion
PDF Chatbot (Project)
4.0 • PDF Chatbot Demo
4.1 • Set Up Pinecone
4.2 • Quick Review of Frontend
4.3 • Using PDFLoader (pdf-upload.js)
4.4 • Character Text Splitter (pdf-upload.js)
4.5 • How do Embeddings Work? (pdf-upload.js)
4.6 • Initialize Pinecone (pdf-query.js)

The VectorDBQAChain is a tool that allows you to interact with a vector store in an agentic manner. It is created by combining an LLM with a vector store, and can be used to answer questions about the data in the vector store. To use the VectorDBQAChain, you first need to create a vector store with your data, and then create the chain using the OpenAI LLM and the vector store. Once you have the chain, you can create a tool to use it, and then use the tool just like any other tool.

4.8 • Conclusion
Review
Lecture 40A (Optional): Namespaces in Pinecone Part 1
Lecture 40B (Optional): Namespaces in Pinecone Part 2
Lecture 40C (Optional): Namespaces in Pinecone Part 3: Upload
Lecture 40D (Optional): Namespaces in Pinecone Part 4: Query
Lecture 40E (Optional): Namespaces in Pinecone Part 5: Demo
YouTube Chatbot (Project)
5.0 • YouTube Chatbot Demo
5.1 • Frontend Setup
5.2 • YouTube Transcript API

ChatOpenAI is a chat model provided by LangChain. It allows you to get chat completions by passing one or more messages to the chat model. The response will also be a message. The types of messages currently supported in LangChain are AIChatMessage, HumanChatMessage, SystemChatMessage, and a generic ChatMessage. Most of the time, you'll just be dealing with HumanChatMessage, AIChatMessage, and SystemChatMessage. You can also use the streaming API to get words streamed back to you as they are generated. This is useful for chatbots, where you want to show the user what is being generated as it is being generated.

HNSWLib is an in-memory vector store that can be saved to a file and is only available on Node.js. It is used for similarity search and uses HNSWLib. You can create a new index from texts or a loader, save an index to a file and load it again, and filter documents.

5.5 • Handling Follow Up Questions to the Chain
5.6 • Conclusion
AI Content Generator (Project)
6.0 • AI Content Generator Demo
6.1 • Overview of Project
6.2 • Transcript API
6.3 • Video Metadata
6.4.1 • SerpAPI Tool

The Web Browser Tool allows an agent to visit a website and extract information. It has two modes of operation:

  1. When called with only a URL, it produces a summary of the website contents.

  2. When called with a URL and a description of what to find, it uses an in-memory Vector Store to find the most relevant snippets and summarize those.

To use the Web Browser Tool, you need to install the dependencies cheerio and axios. The tool can be used standalone or in an agent.

The "zero-shot-react-description" agent is a type of agent that can be used with text LLMs. It is a stateless wrapper around an agent prompt chain, such as MRKL, that formats tools into the prompt and parses responses obtained from the chat model. This agent is recommended for use with small tasks.

6.4.4 • Connecting it to the Handler
6.5.1 Summary
6.5.2 LLM Chain Prompt Template
6.6.1 Follow Up Questions
6.6.2 Conclusion
RoboHR (Project)
7.0 • RoboHR Demo
7.1 • High Level Overview
7.2 • File Overview
7.3 • Convert Resumes to Embeddings
7.4 • Resume Upload Section

The SummaryChain is a chain provided by LangChain that can be used to generate a summary of a given input text. To use it, you can import it from langchain/chains and create an instance of it. Once you have created the chain, you can call its call method with a text input to get a summary of the text.

7.8 • Upload to Pinecone (recommended)
7.8.1 Supabase Part 1: Uploading (alternative, if waitlisted on Pinecone)
7.8.2 Supabase Part 2: Querying (alternative, if waitlisted on Pinecone)
7.8.3 If you're enjoying, please consider leaving a review!
7.9 • Vector Database Question Answer Chain
7.10 • Conclusion
Deployment (Optional)
8.0 Upload to GitHub and Vercel
8.1 Fixing Deployment Issues
8.2 Summary

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by Shawn Esquivel, an expert in the industry
Highly relevant to current industry practices
Examines cutting-edge tools and frameworks
In-demand skills
Offers hands-on learning
For skill development, suitable for beginners

Save this course

Save LangChain: Develop AI web-apps with JavaScript and LangChain to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for LangChain: Develop AI web-apps with JavaScript and LangChain. These are activities you can do either before, during, or after a course.

Career center

Learners who complete LangChain: Develop AI web-apps with JavaScript and LangChain will develop knowledge and skills that may be useful to these careers:
AI Engineer
An AI Engineer is responsible for developing, deploying, and maintaining AI systems. They work on a variety of projects, from developing new algorithms to improving existing ones. This course can help you become an AI Engineer by providing you with the skills you need to develop and deploy AI systems. You will learn about the different types of AI algorithms, how to train and evaluate them, and how to deploy them in production. You will also learn about the ethical implications of AI and how to use AI responsibly.
Software Engineer
A Software Engineer is responsible for designing, developing, and maintaining software systems. They work on a variety of projects, from developing new features to fixing bugs. This course can help you become a Software Engineer by providing you with the skills you need to design, develop, and deploy software systems. You will learn about the different phases of the software development lifecycle, how to use different programming languages and tools, and how to test and debug software. You will also learn about the ethical implications of software development and how to develop software responsibly.
Data Scientist
A Data Scientist is responsible for collecting, analyzing, and interpreting data. They work on a variety of projects, from developing new data analysis algorithms to improving existing ones. This course can help you become a Data Scientist by providing you with the skills you need to collect, analyze, and interpret data. You will learn about the different types of data analysis algorithms, how to use different data analysis tools, and how to communicate your findings to others. You will also learn about the ethical implications of data science and how to use data responsibly.
AI Researcher
An AI Researcher is responsible for developing new AI algorithms and techniques. They work on a variety of projects, from developing new ways to train AI models to improving existing ones. This course can help you become an AI Researcher by providing you with the skills you need to develop new AI algorithms and techniques. You will learn about the different types of AI algorithms, how to train and evaluate them, and how to deploy them in production. You will also learn about the ethical implications of AI and how to use AI responsibly.
Machine Learning Engineer
A Machine Learning Engineer is responsible for developing and deploying machine learning models. They work on a variety of projects, from developing new machine learning algorithms to improving existing ones. This course can help you become a Machine Learning Engineer by providing you with the skills you need to develop and deploy machine learning models. You will learn about the different types of machine learning algorithms, how to train and evaluate them, and how to deploy them in production. You will also learn about the ethical implications of machine learning and how to use machine learning responsibly.
Mobile Developer
A Mobile Developer is responsible for developing and maintaining mobile apps. They work on a variety of projects, from developing new mobile apps to updating existing ones. This course can help you become a Mobile Developer by providing you with the skills you need to develop and maintain mobile apps. You will learn about the different mobile development languages and tools, how to design and develop mobile apps, and how to deploy mobile apps to the app store. You will also learn about the ethical implications of mobile development and how to develop mobile apps responsibly.
Web Developer
A Web Developer is responsible for developing and maintaining websites. They work on a variety of projects, from developing new websites to updating existing ones. This course can help you become a Web Developer by providing you with the skills you need to develop and maintain websites. You will learn about the different web development languages and tools, how to design and develop websites, and how to deploy websites to the web. You will also learn about the ethical implications of web development and how to develop websites responsibly.
Cloud Engineer
A Cloud Engineer is responsible for designing, developing, and maintaining cloud-based systems. They work on a variety of projects, from developing new cloud-based applications to improving existing ones. This course can help you become a Cloud Engineer by providing you with the skills you need to design, develop, and maintain cloud-based systems. You will learn about the different cloud computing platforms, how to use cloud computing tools, and how to deploy cloud-based systems. You will also learn about the ethical implications of cloud computing and how to use cloud computing responsibly.
Data Analyst
A Data Analyst is responsible for collecting, analyzing, and interpreting data. They work on a variety of projects, from developing new data analysis techniques to improving existing ones. This course can help you become a Data Analyst by providing you with the skills you need to collect, analyze, and interpret data. You will learn about the different types of data analysis techniques, how to use different data analysis tools, and how to communicate your findings to others. You will also learn about the ethical implications of data analysis and how to use data responsibly.
Product Manager
A Product Manager is responsible for developing and managing products. They work on a variety of projects, from developing new products to improving existing ones. This course can help you become a Product Manager by providing you with the skills you need to develop and manage products. You will learn about the different phases of the product development lifecycle, how to use different product management tools, and how to communicate with stakeholders. You will also learn about the ethical implications of product management and how to develop products responsibly.
Business Analyst
A Business Analyst is responsible for analyzing business processes and identifying opportunities for improvement. They work on a variety of projects, from developing new business processes to improving existing ones. This course can help you become a Business Analyst by providing you with the skills you need to analyze business processes and identify opportunities for improvement. You will learn about the different types of business analysis techniques, how to use different business analysis tools, and how to communicate your findings to others. You will also learn about the ethical implications of business analysis and how to use business analysis responsibly.
UX Designer
A UX Designer is responsible for designing the user experience for products and services. They work on a variety of projects, from designing new user interfaces to improving existing ones. This course can help you become a UX Designer by providing you with the skills you need to design user experiences. You will learn about the different principles of UX design, how to use different UX design tools, and how to communicate with stakeholders. You will also learn about the ethical implications of UX design and how to design user experiences responsibly.
Technical Writer
A Technical Writer is responsible for writing and maintaining technical documentation. They work on a variety of projects, from writing new user manuals to updating existing ones. This course can help you become a Technical Writer by providing you with the skills you need to write and maintain technical documentation. You will learn about the different types of technical documentation, how to write clear and concise documentation, and how to use different documentation tools. You will also learn about the ethical implications of technical writing and how to write documentation responsibly.
Project Manager
A Project Manager is responsible for planning, executing, and closing projects. They work on a variety of projects, from developing new products to improving existing ones. This course can help you become a Project Manager by providing you with the skills you need to plan, execute, and close projects. You will learn about the different phases of the project management lifecycle, how to use different project management tools, and how to communicate with stakeholders. You will also learn about the ethical implications of project management and how to manage projects responsibly.
Information Architect
An Information Architect is responsible for organizing and structuring information. They work on a variety of projects, from designing new information architectures to improving existing ones. This course can help you become an Information Architect by providing you with the skills you need to organize and structure information. You will learn about the different principles of information architecture, how to use different information architecture tools, and how to communicate with stakeholders. You will also learn about the ethical implications of information architecture and how to design information architectures responsibly.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in LangChain: Develop AI web-apps with JavaScript and LangChain.
Provides a comprehensive introduction to generative adversarial networks, covering the fundamental concepts, architectures, and applications of GANs. It valuable resource for anyone interested in learning about GANs, regardless of their background.
Provides a comprehensive introduction to statistical learning, covering the fundamental concepts, algorithms, and applications of statistical learning. It valuable resource for anyone interested in learning about statistical learning, regardless of their background.
Provides a comprehensive introduction to deep learning, covering the fundamental concepts, architectures, and applications of deep neural networks. It valuable resource for anyone interested in learning about deep learning, regardless of their background.
Provides a comprehensive introduction to reinforcement learning, covering the fundamental concepts, algorithms, and applications of reinforcement learning. It valuable resource for anyone interested in learning about reinforcement learning, regardless of their background.
Provides a comprehensive introduction to deep learning, covering the fundamental concepts, architectures, and applications of deep neural networks. It valuable resource for anyone interested in learning about deep learning, regardless of their background.
Provides a comprehensive introduction to pattern recognition and machine learning, covering the fundamental concepts, algorithms, and applications of pattern recognition and machine learning. It valuable resource for anyone interested in learning about pattern recognition and machine learning, regardless of their background.
Provides a comprehensive introduction to information theory, inference, and learning algorithms, covering the fundamental concepts, algorithms, and applications of information theory, inference, and learning algorithms. It valuable resource for anyone interested in learning about information theory, inference, and learning algorithms, regardless of their background.
Provides a comprehensive introduction to natural language processing, covering the fundamental concepts, algorithms, and applications of NLP. It valuable resource for anyone interested in learning about NLP, regardless of their background.
Provides a practical introduction to machine learning, covering the fundamental concepts, algorithms, and applications of machine learning. It valuable resource for anyone interested in learning about machine learning, regardless of their background.
Provides a practical introduction to machine learning, covering the fundamental concepts, algorithms, and applications of machine learning. It valuable resource for anyone interested in learning about machine learning, regardless of their background.
Provides a probabilistic perspective on machine learning, covering the fundamental concepts, algorithms, and applications of machine learning. It valuable resource for anyone interested in learning about machine learning, regardless of their background.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to LangChain: Develop AI web-apps with JavaScript and LangChain.
Learn LangChain, Pinecone, OpenAI and Google's Gemini...
Most relevant
LangChain- Develop LLM powered applications with LangChain
Most relevant
LangChain Development
Most relevant
LangChain in Action: Develop LLM-Powered Applications
Most relevant
Generative AI for NodeJs: OpenAI, LangChain - TypeScript
Most relevant
Gen AI - RAG Application Development using LangChain
Most relevant
AI-Agents: Automation & Business with LangChain & LLM Apps
Most relevant
LangChain for LLM Application Development
Most relevant
LangChain Crash Course: Build OpenAI LLM powered Apps
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser