Companion Reading: Creating a (mostly) Autonomous HR Assistant with ChatGPT and LangChain’s Agents and Tools
This is a prototype enterprise application - an autonomous agent that is able to answer HR queries using the tools it has on hand. It was made using LangChain's agents and tools modules, using Pinecone as vector database and powered by ChatGPT or gpt-3.5-turbo. The front-end is Streamlit using the streamlit_chat component.
Tools currently assigned (with more on the way):
I made this prototype using Azure deployments as my company is an Azure customer.
I created a backend file called hr_agent_backend_local.py
for those that does not want to use Azure.
This is does not use any Azure components - the API is from platform.openai.com, the csv file is stored locally(i.e. on your own computer)
pip install -r requirements.txt
hr_agent_backend_local.py
file (or hr_agent_backend_azure.py
if you want to use the azure version; just uncomment it in the frontend.py file)streamlit run hr_agent_frontent.py
in your terminalAzure OpenAI Service - the OpenAI service offering for Azure customers.
LangChain - development frame work for building apps around LLMs.
Pinecone - the vector database for storing the embeddings.
Streamlit - used for the front end. Lightweight framework for deploying python web apps.
Azure Data Lake - for landing the employee data csv files. Any other cloud storage should work just as well (blob, S3 etc).
Azure Data Factory - used to create the data pipeline.
SAP HCM - the source system for employee data.
Currently working on adding the following tools using OpenAI's function calling feature:
Other suggestions welcome. ☺️
Just open a new topic in the discussions
section.
Feel free to connect with me on:
Linkedin: https://www.linkedin.com/in/stephenbonifacio/
Twitter: https://twitter.com/Stepanogil