How to Make a WordPress Database Backup Manually (Step by Step)

Backups are the most important security step and are often the most neglected by website owners.

Manually backing up a WordPress database is a quick and easy way to download all your WordPress data. It is not a complete WordPress website backup, but it is handy for recovering a WordPress site.

In this article, we will show you how to back up a WordPress database manually.

Making a WordPress database backup manually

Here is a quick overview of the topics we will cover in this tutorial:

When and Why Make a WordPress Database Backup Manually?

You should always install and set up a WordPress backup system for your site. This allows you to restore your site should something go wrong.

There are several situations when you may need to manually back up a database.

For instance, you could be making some big changes to your WordPress website and just to be on the safe side, you want to have a database backup.

If you have access to the admin area of your website, then you can use a plugin to make an on-demand database backup (We will show you how and which plugin to use later in this article).

On the other hand, in some instances, you may not have access to the admin area of your WordPress website.

For example, this can happen when your WordPress website is hacked or inaccessible due to a WordPress error.

This is when you’ll need to make a completely manual backup using a database management utility (we will show you how to do that as well).

A manual database backup is exactly the same as a database backup created by a plugin.

Having said that, let’s take a look at how to easily make a WordPress database backup manually.

1. Making a WordPress Database Backup Using a Plugin

This method is easier and recommended, but it will only work if you have access to the admin area of your WordPress website.

First, you need to install and activate the Duplicator plugin. For more details, see our tutorial on how to install a WordPress plugin.

Note: There is also a free version of Duplicator, which can be used to create database backups. We recommend upgrading to the paid version because it offers more features.

Upon activation, you need to go to the Duplicator Pro » Packages page and click on the ‘Create New’ button.

Create new package in Duplicator

On the next screen, Duplicator allows you to choose what you want to include in the backup.

Select ‘Database Only’ and then click on the ‘Next’ button.

Database only package

Duplicator will now scan your WordPress site and database.

After that, it will show you the scan results. There may be a notice next to the Database section informing you that you are creating a database-only package.

Scan complete

Click on the ‘Build’ button to continue.

Duplicator will now prepare your database backup in the background and show you the progress.

Once finished, you will be able to download the backup files. We recommend downloading both Archive and Installer files. This will allow you to restore your website more easily.

Download backup files to your computer

2. Backing Up WordPress Database Manually Using phpMyAdmin

For this method, we will be using phpMyAdmin. It is an open-source software that allows you to manage your MySQL database using a web-based interface.

phpMyAdmin comes pre-installed on most WordPress hosting providers.

For the sake of this article, we will show you screenshots from Bluehost. However, the basic procedure is the same for most hosting providers.

First, you need to log in to your WordPress hosting control panel and click on the ‘Settings’ button under your website.

Bluehost site settings

Under your website settings, scroll down to the Quick Links section.

Next, click on the ‘phpMyAdmin’ button to continue.

Launch phpMyAdmin

This will launch the phpMyAdmin app in a new browser tab.

From here, click to select your WordPress database from the left column and then click on the ‘Export’ button at the top.

phpMyAdmin export database

You will be asked to select the export method.

Next, you need to select ‘Custom’, as it will give you more options to explore.

Once you choose the Custom option, it will show all your tables in your WordPress database as selected.

Sometimes, WordPress plugins add their own tables to your database. If there are any tables that you would like to exclude from export, then you can deselect them. If you are unsure, it is better to keep them all selected.

Select and exclude tables

You now need to scroll down to the ‘Output’ section.

By default, phpMyAdmin will show you the output of the export process as text.

You need to change that by selecting the ‘Save output to a file’ option.

For compression, you must select the zipped or gzipped option.

Select database backup output

Now, you need to scroll down to the bottom of the page and click on the ‘Go’ button. phpMyAdmin will now send you the database export as a zip or gzip file.

That’s all. You have successfully made a manual WordPress database backup.

3. Creating a Manual WordPress Database Backup From cPanel

Most good WordPress hosting companies also offer easy ways to download on-demand backups. Here is how to make a manual WordPress database backup from your hosting dashboard.

Hosting providers like Bluehost, SiteGround, and HostGator all have similar options.

For the sake of this tutorial, we will show you screenshots of Bluehost. However, the basic procedure is quite similar for other hosts.

First, log in to your hosting account dashboard and click on the ‘Settings’ button under your website.

Bluehost site settings

On the next screen, you need to switch to the ‘Advanced’ tab.

From here, simply scroll down to the cPanel section and click the ‘Manage’ button.

Bluehost advanced cPanel

This will launch the cPanel interface in a new browser tab.

From here, just scroll down to the files section and click on the ‘Backup’ button.

cPanel backup

On the backups page, scroll down to the partial backups section.

From here, you need to click on your database name to download your database backup file.

Download cPanel database backup

You can also download the backup of your WordPress files from this page if you need to.

Restoring a WordPress Database Backup

Once you have downloaded the WordPress database backup, you can continue fixing your hacked WordPress site or make any other changes you need to.

In many cases, you probably won’t need to restore your website from the backup.

But in case you do, we have a detailed step-by-step guide on restoring WordPress from backup. It covers all common WordPress backup options including restoring from a database backup.

Set Up a Proper Automated Backup System for the Future

You can make WordPress database backups manually, but keep in mind that this is not an alternative to a proper backup solution for your WordPress site.

There are situations when you may not have access to your WordPress database. For example, this can happen if your hosting company suspends your account or loses your website data.

Another possible scenario is when some hacker injects malicious code into your WordPress database. Cleaning an infected database will be a lot more difficult.

That’s why we suggest using a proper backup plugin to store your WordPress database backups on the cloud automatically.

We recommend using Duplicator. It automatically creates and stores your backups on a cloud storage service like Google Drive, Dropbox, OneDrive, and more.

You can see this guide on how to automatically back up WordPress for detailed instructions.

We hope this article helped you learn how to make a WordPress database backup manually. You may also want to see our guide on how to restore your WordPress site with just a database backup or our expert picks of the best WordPress database plugins.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Make a WordPress Database Backup Manually (Step by Step) first appeared on WPBeginner.

8 Best Video Conferencing Software (Free and Paid)

Recently, our users have asked our thoughts on the best video conferencing software for small businesses.

With many teams working remotely, having a video conferencing solution is essential for firms. It allows you to communicate with team members and clients over video from all around the world.

In this article, we will show you the best video conferencing software so you can pick the right solution for your website.

Best video conferencing software

How to Choose the Best Video Conferencing Software

Video conferencing software helps improve business communication by allowing participants to connect via video. Whether you have a fully remote team or have client dealings from around the world, a video chatting solution is essential for meetings in today’s world.

When choosing a video chat solution for your business or WordPress site, there are multiple things to look for. Plus, the size of your team and your budget also play a key role in picking the right software for your business.

Here are some key factors to look for when choosing a video conferencing solution:

  • Video and Audio Quality – One of the most important things to look for is the reliability and quality of video and audio during meetings.
  • Ease of Use – Another important factor to consider is how easy it is to connect to meetings, schedule meetings, integrate it with a calendar, share call links, and more. The right software should be beginner-friendly and should not have a huge learning curve.
  • Number of Participants Allowed – Many platforms have a limit on how many members can join a video conference. You should look for a solution that allows a maximum number of participants.
  • Video Recording & Additional Features – The right video conference solution should go beyond offering basic features of video calling. For instance, look for video recording options, collaborative features like whiteboards, screen sharing, mobile apps, and more.

That said, let’s look at some of the best video conferencing software you can pick for your business.

1. RingCentral

RingCentral website

RingCentral is the best video conferencing software in the market. The VoIP phone service offers powerful features that let you connect teams and clients via video without any interruption.

You get features like video call scheduling, secure meeting hosting, screen sharing, whiteboard, breakout rooms, meeting recordings, and more. RingCentral supports up to 200 participants in a single meeting and lets you expand the capacity even further with addons.

Other than that, the video conferencing software offers advanced meeting insights, live transcription, AI-powered noise reduction, presentation mode, webinars, and more.

One of the standout features of RingCentral is that it easily integrates with third-party tools like Slack, Microsoft 365, Google Workspace (G Suite), and more. You even get apps for iOS and Android, so your team can attend video calls on the go.

Pros:

  • Powerful video conferencing features
  • Up to 200 meeting participants
  • Seamless integrations
  • Apps for desktop, mobile, and tablet
  • Powerful real-time analytics
  • AI-powered noise reduction
  • Join calls without installing software or creating an account

Cons:

  • Lacks social media integration

Why We Recommend RingCentral: If you’re a small to medium sized business that’s looking for a video conferencing solution, then we highly recommend RingCentral. It is packed with features and makes it very easy to set up video conferencing for your business.

Pricing: RingCentral prices start from $20 per month per user, and you can invite up to 100 participants.

2. Nextiva

Nextiva website

Nextiva is a popular business phone service that offers a video conferencing feature. It is a cloud-based platform that helps businesses of all sizes solve their phone needs.

With Nextiva, you get desktop and mobile apps, so your team members can connect remotely from anywhere. It also provides high-quality video and audio during meetings.

Other features offered by Nextiva include screen sharing, file sharing, whiteboard, live streaming, and webinar support.

Besides that, Nextiva also provides a toll-free number, dedicated apps for different devices, call forwarding, live chat, CRM, call analytics, advanced interactive voice response (IVR), internet FAX, and more.

Note: We use Nextiva at WPBeginner for our business phone service. In our experience, Nextiva is the best small business phone system in the market from both features and pricing points of view.

Pros:

  • Powerful VoIP phone features
  • Unlimited video conferencing
  • Mobile and desktop apps
  • Seamless integration with CRMs
  • Unlimited call and video conference recording
  • Voicemail transcription

Cons:

  • Limits on video calling and video meetings

Why We Recommend Nextiva: We highly recommend Nextiva to small businesses that need an enterprise-level business phone service with a video conferencing feature at affordable prices.

Pricing: Nextiva prices start from $14.95 per user per month.

3. Google Meet

Google Meet

Google Meet is part of the Google Workspace platform that was previously known as G Suite.

It is an excellent solution for small businesses and teams that need a video conferencing solution. You can use a Google account to create a free video conference and invite up to 100 participants for up to 60 minutes at no cost.

The best part about using Google Meet is that you get to use it with other Google products. For instance, it easily integrates with Google Calendar, Sheets, Docs, and more. You can also use a professional business email address and cloud storage.

Google Meet offers high-quality video calls, noise cancellation features, live captions, presentation mode, whiteboard, and secure encrypted calls.

Pros:

  • Invite up to 100 participants for free
  • Simple and easy to use
  • Seamless Google Workspace integration
  • Professional email address
  • Encrypted video calling

Cons:

  • Lacks VoIP business phone features
  • No transcription feature
  • Difficult to integrate with third-party tools outside of Google

Why We Recommend Google Meet: We believe Google Meet is the perfect video conferencing solution for new startups and small teams. It offers a free version that lets you invite up to 100 participants and works smoothly with other Google Workspace apps.

Pricing: Google Meet is a free solution. However, it also offers premium plans starting from $6 per user per month.

4. Zoom

Zoom

Zoom is one of the most popular video conferencing software in the world. You can easily set up an online conference call or meetings, as the software is beginner-friendly to use.

The best part about Zoom is that it supports up to 100 participants and unlimited 1 on 1 meetings in the free plan. However, you’re restricted to only 40 minutes of video conferencing time in the free version.

Besides that, Zoom offers apps for different operating systems and devices. This allows cross platform compatibility and gives flexibility to team members and clients to easily join meetings from any device.

Zoom also offers other features like 2-factor authenticated meetings, screen sharing, whiteboards, live polls, video annotations, and more.

Pros:

  • Easy to use and set up
  • End-to-end call encryption
  • Easily integrates with CRMs and third-party tools
  • Supports up to 100 participants in the free version

Cons:

  • Free plan limited to 40 minutes meeting duration
  • Premium plans can be expensive for small businesses

Why We Recommend Zoom: If you’re a small business or a remote team that’s looking for a cost-effective video conferencing solution, then we highly recommend Zoom. Its free version has all the basic features for video conferencing and supports 100 attendees.

Pricing: Zoom is a free video conferencing software. However, its premium plans start from $149.90 per year per user.

5. Microsoft Teams

Microsoft Teams

Microsoft Teams is another popular video conferencing software and is a great alternative to Google Meet.

It is perfect for enterprises, small businesses, educational institutes, and personal users who are already in the Microsoft ecosystem.

You get all the standard video conferencing software features with Microsoft Teams. For instance, it offers screen sharing, call recording, group chat during video calls, and more.

Other than that, it integrates with Office 365 apps and offers a custom-branded email address with Outlook.

Pros:

  • Supports up to 10,000 members
  • Highly customizable
  • Easily integrates with Microsoft 365 apps
  • Good video conferencing features

Cons:

  • Works best in the Microsoft ecosystem

Why We Recommend Microsoft Teams: If you’re already using Office 365 and other Microsoft products, then we highly recommend Microsoft Teams. It supports up to 10,000 members in a single meeting and offers great features.

Pricing: Microsoft Teams prices start from $4 per month per user and supports up to 300 participants per meeting.

6. GoToMeeting

GoToMeeting

GoToMeeting is the next video conferencing software on our list. It offers great features and is versatile software for businesses of all sizes.

For starters, you get mobile apps for iOS and Android devices. They are very easy to use and allow clients and team members to take video calls from anywhere.

Besides that, the software offers screen sharing, meeting drawing tools, customizable backgrounds, and presenter controls. You also get cloud storage to save recordings and meeting transcription. GoToMeeting easily integrates with other tools like Slack, Outlook, and Salesforce.

Pros:

  • Easy and versatile software
  • Screen sharing and video recording feature
  • Meeting transcription
  • Cloud storage
  • Integrates with other tools

Cons:

  • No free version to try the software

Why We Recommend GoToMeeting: GoToMeeting is great for companies looking for a video conferencing solution that is mobile-friendly. It offers dedicated apps that are beginner-friendly to use.

Pricing: GoToMeeting prices start from $12 per user per month and supports up to 150 participants.

7. Ooma Meetings

Ooma video chat

Ooma Meetings is a popular cloud phone service that offers a video conferencing solution.

It offers HD video calling, call scheduling, a desktop app, conference calls, call analytics and queuing, call recording, and more.

One of the benefits of using Ooma Meetings is that it easily integrates with Google and Microsoft Office 365, Salesforce, and other tools. Another unique feature of Ooma Meetings is that 2 or more people can share their screen at the same time.

Pros:

  • High-quality video conferencing
  • Simultaneous screen sharing
  • Video call recording
  • Voicemail transcription
  • Seamless CRM integration
  • Toll-free number

Cons:

  • Lacks video conferencing collaborative features

Why We Recommend Ooma Meetings: If you require multiple people to present at the same time and share their screens, then Ooma Meetings is the perfect solution.

Pricing: Ooma Meetings is available in the Ooma Office Pro plan, which will cost you $24.95 per month.

8. Skype

Skype

Skype is one of the most popular video chatting software in the industry. The best part is that it is completely free to use.

With dedicated apps for mobile and desktops, Skype is extremely versatile and easy to use. In the free version, you can invite up to 50 participants for a video call.

Skype also offers basic features like call recording and live subtitles, smart messaging, screen sharing, and more. However, it doesn’t offer more collaborative features like other video conferencing software.

Pros:

  • HD video calling
  • Call recording and live subtitles
  • Screen sharing feature
  • Private conversations
  • Dedicated apps for all devices

Cons:

  • Lacks a lot of collaborative features

Why We Recommend Skype: If you are looking for a free solution to connect your team and clients via video, then Skype is an excellent solution.

Pricing: Skype is a free video conferencing software. It also offers premium plans that start from $5 per month.

Which is the Best Video Conferencing Software?

After reviewing and testing multiple video conferencing software, we believe that RingCentral is the best solution for all types of businesses.

It offers powerful features and supports up to 200 participants in a single video call. Plus, it is very easy to use and set up. You get dedicated apps for all devices and other features like AI-powered noise reduction, analytics, and integrations.

As an honorable mention, you can also check out Nextiva. It is a popular business phone service that also offers a video conferencing feature.

On the other hand, if you’re looking for a free option, then Google Meet is perfect. You can invite up to 100 people in the free version for a video call.

We hope this article helped you learn about the best video conferencing software. You may also want to see our list of the best auto dialer software for small business and how to create a free business email address.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post 8 Best Video Conferencing Software (Free and Paid) first appeared on WPBeginner.

Paris Olympics Ticket Information Chatbot with Memory Using LangChain

In my previous article, I explained how I developed a simple chatbot using LangChain and Chat-GPT that can answer queries related to Paris Olympics ticket prices.

However, one major drawback with that chatbot is that it can only generate a single response based on user queries. It can not answer follow-up questions. In short, the chatbot has no memory where it can store previous conversations and answer questions based on the information in the past conversation.

In this article, I will explain how to add memory to this chatbot and execute conversations where the chatbot can respond to queries considering the past conversation.

So, let's begin without further ado.

Installing and Importing Required Libraries

The following script installs the required libraries for this article.

!pip install -U langchain
!pip install langchain-openai
!pip install pypdf
!pip install faiss-cpu

The script below imports required libraries.


from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import FAISS
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain.chains import create_retrieval_chain
from langchain_core.documents import Document
from langchain.chains import create_history_aware_retriever
from langchain_core.prompts import MessagesPlaceholder
from langchain_core.messages import HumanMessage, AIMessage
import os

Paris Olympics Chatbot for Generating a Single Response

Let me briefly review how we developed a chatbot capable of generating a single response and its associated problems.

The following script creates an object of the ChatOpenAI llm with the GPT-4 model, a model that powers Chat-GPT.

openai_key = os.environ.get('OPENAI_KEY2')

llm = ChatOpenAI(
    openai_api_key = openai_key ,
    model = 'gpt-4',
    temperature = 0.5
)

Next, we import and load the official PDF containing the Paris Olympics ticket information.


loader = PyPDFLoader("https://tickets.paris2024.org/obj/media/FR-Paris2024/ticket-prices.pdf")
docs = loader.load_and_split()

We then split our PDF document and create embeddings for the different chunks of information in the PDF document. We store the embeddings in a vector database.


embeddings = OpenAIEmbeddings(openai_api_key = openai_key)
text_splitter = RecursiveCharacterTextSplitter()
documents = text_splitter.split_documents(docs)
vector = FAISS.from_documents(documents, embeddings)

Subsequently, we create a ChatPromptTemplate object that accepts our input query and context information extracted from the PDF document. We create a documents_chain chain that passes the input prompt to our LLM model.


from langchain.chains.combine_documents import create_stuff_documents_chain

prompt = ChatPromptTemplate.from_template("""Answer the following question based only on the provided context:

Question: {input}

Context: {context}
"""
)

document_chain = create_stuff_documents_chain(llm, prompt)

Next, we create our vector database retriever, which retrieves information from the vector database based on the input query.

Finally, we create our retrieval_chain that accepts the retriever and document_chain as parameters and returns the final response from an LLM.


retriever = vector.as_retriever()
retrieval_chain = create_retrieval_chain(retriever, document_chain)

We define a function, generate_response(), which accepts a user's input query and returns a chatbot response.


def generate_response(query):
    response = retrieval_chain.invoke({"input": query})
    print(response["answer"])

Let's ask a query about the lowest-priced tickets for tennis games.


query = "What is the lowest ticket price for tennis games?"
generate_response(query)

Output:

The lowest ticket price for tennis games is 30.

The model responded correctly.

Let's now ask for a follow-up query. The following query clearly conveys that we want to get information about the lowest-priced tickets for volleyball games.

However, since the chatbot does not have any memory to store past conversations, it treats the following query as a new standalone query. The response is different from what we aim for.


query = "And for beach volleyball?"
generate_response(query)

Output:


Beach Volleyball is played by two teams of two players each. They face off in the best of three sets on a sand court that is 16m long and 8m wide. The net is at the same height as indoor volleyball (2.24m for women and 2.43m for men). The game is contested by playing two sets to 21 points, and teams must win at least two points more than their opponents to win the set. If needed, the third set is played to 15 points. The matches take place at the Eiffel Tower Stadium in Paris.

Let's pass another query.


query = "And what is the category of this ticket?"
generate_response(query)

Output:

The context does not provide specific information on the category of the ticket.

The time model refuses to return any information.

If you have conversed with Chat-GPT, you would have noticed that it responds to follow-up questions. In the next section, you will see how to add memory to your chatbot to track past conversations.

Adding Memory to Paris Olympics Chatbot

We will create two chat templates and three chains.

The first chat template will accept user input queries and the message history and return the matching documents from our vector database. The template will have a MessagesPlaceholder attribute to store our previous chat.

We will also define history_retriever_chain, which takes the chat template we defined earlier and returns the matched document.

The following script defines our first template and chain.


prompt = ChatPromptTemplate.from_messages([
    MessagesPlaceholder(variable_name="chat_history"),
    ("user", "{input}"),
    ("user", "Given the above conversation, generate a search query to look up in order to get information relevant to the conversation")
])

history_retriever_chain = create_history_aware_retriever(llm, retriever, prompt)

You can test the above chain using the following script. The chat_history list will contain HumanMessage and AIMessage objects corresponding to user queries and chatbot responses.

Next, while invoking the history_retriever_chain object, we pass the user input and the chat history.

In the response, you will see the matched documents returned by the retriever. As an example, I have only printed the first document. If you look carefully, you will see the ticket prices for the beach volleyball games. We will pass this information on to our next chain, which will return the final response.


chat_history = [
    HumanMessage(content="What is the lowest ticket price for tennis games?"),
    AIMessage(content="The lowest ticket price for tennis games is 30.")
]

result = history_retriever_chain.invoke({
    "chat_history": chat_history,
    "input": "And for Beach Volleyball?"
})

result[0]

Output:

image1.png

Let's now define our second prompt template and chain. This prompt template will receive user input and message history from the user and context information from the history_retriever_chain chain. We will also define the corresponding document chain that invokes a response to this prompt.


prompt = ChatPromptTemplate.from_messages([
    ("system", "Answer the user's questions based on the below context:\n\n{context}"),
    MessagesPlaceholder(variable_name="chat_history"),
    ("user", "{input}")
])
document_chain = create_stuff_documents_chain(llm, prompt)

Finally, we will sequentially chain the history_retriever_chain, and the document_chain together to create our final create_retrieval_chain.

We will pass the chat history and user input to this retrieval_chain, which first fetches the context information using the chat history from the history_retriever_chain. Next, the context retrieved from the history_retriever_chain, along with the user input and chat history, will be passed to the document_chain to generate the final response.

Since we already have some messages in the chat history, we can test our retrieval_chain using the following script.

retrieval_chain = create_retrieval_chain(history_retriever_chain, document_chain)

result = retrieval_chain.invoke({
    "chat_history": chat_history,
    "input": "And for Beach Volleyball?"
})

print(result['answer'])

Output:


The lowest ticket price for Beach Volleyball games is 24.

In the above output, you can see that Chat-GPT successfully generated a response to a follow-up question.

Putting it All Together - A Command Line Chatbot

To create a simple command-line chatbot, we will instantiate an empty list to store our past conversations.

Next, we define the generate_response_with_memory() function that accepts the user query as an input parameter and invokes the retrieval_chain to generate a model response.

Inside the generate_response_with_memory() function, we create HumanMessage and AIMessage objects using the user queries and chatbot responses and add them to the chat_history list.


chat_history = []

def generate_response_with_memory(query):
    result = retrieval_chain.invoke({
    "chat_history": chat_history,
    "input": query
    })

    response = result['answer']
    chat_history.extend([HumanMessage(content = query),
                       AIMessage(content = response)])

    return response

Finally, we can execute a while loop that asks users to enter queries as console inputs. If the input contains the string bye, we empty the chat_history list, print a goodbye message and quit the loop.

Otherwise, the query is passed to the generate_response_with_memory() function to generate a chatbot response.

Here is the script and a sample output.


print("=======================================================================")
print("Welcome to Paris Olympics Ticket Information Chatbot. Enter your query")
print("=======================================================================")

query = ""
while query != "bye":
    query = input("\033[1m User >>:\033[0m")

    if query == "bye":
        chat_history = []
        print("\033[1m Chatbot>>:\033[0m Thank you for your messages, have a good day!")
        break
    response = generate_response_with_memory(query)
    print(f"\033[1m Chatbot>>:\033[0m {response}")

Output:

image2.png

Conclusion

A conversational chatbot keeps track of the past conversation. In this article, you saw how to create a Paris Olympics ticket information chatbot that answers user queries and follow-up questions using LangChain and Chat-GPT. You can use the same approach to develop conversational chatbots for other problems.
Feel free to leave your feedback in the comments.