top of page
  • vaishnavi619

How LangChain AI Assistant Can Help You Automate Your Workflow


LangChain AI Assistant is a groundbreaking solution designed to revolutionise your workflow and optimize your time utilisation. This blog post aims to explore the myriad benefits that LangChain AI Assistant can offer by automating your work processes. Get prepared to unlock the unparalleled potential of automation and elevate your productivity to new heights!

lanchain-logo

 

Understanding LangChain


LangChain is a flexible framework designed to maximise the potential of LLMs, such as OpenAI's GPT-3 and GPT-4. By "chaining" various components together, LangChain simplifies the integration of LLMs, making them more accessible for developers. Large Language Models (LLMs) have transformed the field of artificial intelligence, enabling human-like interactions and natural language processing applications.


What is Langchain AI Assistant?


LangChain AI Assistant is a personal assistant that can help you with various tasks such as answering questions over documents, chatbots, querying tabular data, interacting with APIs, extraction, evaluation, and summarisation. It is designed to revolutionise your workflow and optimize your time utilisation by automating your work processes.


We can integrate with a lot of third-party applications such as Zapier, Google Serper etc. to automate workflows effortlessly. Let's explore the key components that make LangChain AI Assistant a powerful automation tool.


High level data flow

For this use case, the user queries the AI assistant. The assistant makes use of the various tools that are at its disposal to understand and interpret the query and generates a response that is passed back to the user.


As the AI assistant is a chat-bot, it also holds each text message that was passed between itself and the user in its memory. Hence, if a user has a query from an older conversation, it will be able to refer to it with ease.


Benefits of using LangChain AI Assistant

Using LangChain AI Assistant can help you free up your time for more important work by automating repetitive tasks. Additionally, it can help you improve accuracy by automating tasks that are prone to human error.


Getting Started with Workflow


Set your Environment

The main python packages that are required are LangChain and OpenAI. So, we can quickly install them in the following way:


pip install langchain openai

Get started with LangChain


architecture diagram

Import Python packages

Let’s begin with the various python packages that are required to execute the code.


from langchain.llms import OpenAI
from langchain.memory import ConversationBufferMemory 
from langchain.agents import initialize_agent, load_tools 
from langchain.utilities.zapier import ZapierNLAWrapper 
from langchain.agents.agent_toolkits import ZapierToolkit 

To give a short description of the above packages:

  1. OpenAI: OpenAI large language models.

  2. ConversationBufferMemory: Buffer for storing conversation memory.

  3. Initialize_agent: Load an agent executor given tools and LLM.

  4. Load_tools: Load tools based on their name.

  5. ZapierNLAWrapper: Wrapper for Zapier NLA.

  6. ZapierToolkit: Zapier Toolkit.

Let's have a better look at what these packages do and how to use them!


Models (LLM Wrappers)

LangChain AI Assistant leverages Language Model (LLM) Wrappers to integrate AI models with external data sources. These wrappers provide a standardized interface for different LLM providers like OpenAI, Cohere, and Hugging Face. To use OpenAI as an LLM provider, install the OpenAI Python package and obtain an API key. Then, initialize the LLM as follows:


llm = OpenAI(openai_api_key="...")

Accessing the API requires an API key, which you can get by creating an account and heading OpenAI Platform.


Memory

Memory involves keeping a concept of state around throughout a user's interactions with a language model. A user's interactions with a language model are captured in the concept of Chat Messages.

One such memory is ConversationBufferMemory.

memory = ConversationBufferMemory(return_messages=True)
memory.save_context({"input": "hi"}, {"output": "what's up?"}) 

Agents

Agents act as intermediaries between LLMs and tools. LangChain AI Assistant offers various agent types, and one commonly used type is the zero-shot-react-description agent. This agent utilizes the ReAct framework to select the most suitable tool based on the input query. Initialize an agent as follows:

tools = load_tools(["llm-math"], llm=llm) 
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True) 
 
agent.run("If my age is half of my dad's age and he is going to be 60 next year, what is my current age?") 

Integrating Tools

LangChain AI Assistant supports a range of tools to enhance its functionality. The tools that we will be using for our use case are: Zapier and Google Serper.


Assigning Tasks with Zapier

We use Zapier to automate task assignments between different apps. LangChain AI Assistant can seamlessly integrate with Zapier, eliminating the need for manual assignment and reminders.

Pre-requisites:

Get Started - Zapier Natural Language Actions tells how to establish API keys and actions.

Here's an example of using Zapier with LangChain AI Assistant:

zapier_nla_api_key = os.getenv("zapier_nla_api_key","Enter_your_key") 
 
zapier = ZapierNLAWrapper(zapier_nla_api_key=zapier_nla_api_key) 
toolkit = ZapierToolkit.from_zapier_nla_wrapper(zapier) 
agent = initialize_agent(toolkit.get_tools(), llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)  

agent.run( "Summarize the last email I received regarding Silicon Valley Bank. Send the summary to the #test-zapier channel in slack.")

Here, this Zapier account is connected to the user’s Gmail as well as Slack. So, when the above prompt is processed, the agent understands that the task that needs to be done is possible through Zapier tool. Through Zapier’s connection to the user’s accounts, LangChain+LLM can read the inbox, summarize the text and send it over slack.

Getting Updated Results with Google Serper

Google Serper allows you to track your website's search engine rankings. LangChain AI Assistant can integrate with Google Serper to provide you with updated results on your website's performance. Pre-requisites:

Here's an example of using Google Serper with LangChain AI Assistant:

os.environ["SERPER_API_KEY"] = os.getenv("SERPER_API_KEY","Enter_your_key") 
 
tools = load_tools(["google-serper"]) 
memory = ConversationBufferMemory(memory_key="chat_history") 
agent = initialize_agent(tools, llm, memory=memory, agent="conversational-react-description", verbose=True) 
 
agent.run('what is the share price of apple today?')

Bringing it all together

To create a comprehensive AI assistant, we can combine multiple tools and memory options. Here's a complete code example of initializing the final LangChain AI Assistant:

llm = OpenAI(temperature=0, openai_api_key=API_KEY) 
 
memory = ConversationBufferMemory(memory_key="chat_history") 
 
zapier = ZapierNLAWrapper(zapier_nla_api_key=zapier_nla_api_key) 
toolkit = ZapierToolkit.from_zapier_nla_wrapper(zapier) 
tools =load_tools(["google-serper"]) + toolkit.get_tools() + load_tools(["human"]) 
 
agent = initialize_agent(tools, llm, memory=memory, agent="conversational-react-description", verbose=True) 

Let’s take an example.

Say we want to get the summarized content of the last email on Gmail that came from British Telecom and send it to a contact on Slack, this is how the output looks like.


ai assistant in action-1

Here we can see that the agent was able to understand what tools to use for each thought.

It understood that it needed to use Zapier’s connection with Gmail to read the email, summarise its contents, and use Zapier’s Slack connection to send the message.

On Slack, the contact will get a message like so.

ai assistant in action-2

Recap & Enhancements


We created an AI assistant chatbot through LangChain, which made use of various advantages of connecting an LLM like OpenAI to the outside world.

There are a lot more variations that can be made on this use case to fit the requirements. For example:

  • We have used two tools, Zapier and Google Serper. There are many more tools that can be integrated seamlessly through LangChain, like Wikipedia for Wikipedia posts, Wolfram Alpha for scientific and engineering topics, Twilio for integrating with third party messaging apps, etc.

  • There are many LLMs that can be used in place of OpenAI. Alternatives like Cohere and Hugging Face can also be used.

  • LangChain agents don’t have to be used purely as personal assistants. They can be used to query databases, run questions over various types of documents, and many more.

  • We have used Zapier’s toolkit for our use case. We can expand our agent’s functionalities by including various others, which can help in interacting with SQL databases, CSV files, connect with a GitHub repository, and many more.


Conclusion


In conclusion, this LangChain AI Assistant empowers you to automate your workflow and save valuable time. By integrating OpenAI with tools like Zapier and Google Serper, you can streamline your tasks, reduce errors, and improve accuracy.

Unlock the full potential of automation with LangChain AI Assistant and enhance your day-to-day work processes!

59 views
bottom of page