This repository contains a simple chatbot application developed using Streamlit for the user interface and LangChain as the framework to manage interactions with the LLM. The chatbot provides real-time, dynamic responses using OpenAI’s GPT models and Google Search Engine for up-to-date information retrieval. LangSmith is integrated to monitor and analyze the chatbot’s performance in production, helping to track conversation flows and detect potential issues.
LangChain is a framework that simplifies the process of building applications powered by LLMs. It provides tools to streamline development, maintenance, and monitoring.
- LangChain - integrates easily with APIs, including those for LLMs and external tools like search engines.
- LangGraph - helps define conversation flows and decision-making processes, improving chatbot performance by boosting responses with the latest data from web searches. It also supports seamless response streaming.
- LangSmith - simplifies monitoring and logging by tracking all interactions between the LLM and connected tools, helping debug and optimize performance efficiently.
First, clone the repository from GitHub on your local machine:
git clone https://github.com/MrCrowley21/Yet_Another_ChatBot.git //clone the repoAfter you get the repository on your local machine, create a .env file and fill it as in
the provided example (.env.example).
To run the application on the local machine, run the following commands
pip install -r requirements.txt //install all the required libraries
streamlit run Chat.py //run the Streamlit appTo run the application in Docker, ensure you have Docker on your machine, then run the following commands:
docker build -t chatbot_image . //build Docker image
docker run -p 8501:8501 --name yet_another_chatbot chatbot_image //run the container on the built image