AI customer support
Two sets of AI-powered chatbots are engaged in conversations with one another. One set plays the role of customer support and the other set acts as disgruntled customers complaining to the support agents about specific products. Replicas are used for horizontal scalability and Kafka is used for message transport. Llama-2 is used for the local LLM. The messages are scored for sentiment with a sentiment analysis model. The project includes a Streamlit dashboard where you can see the ongoing conversations and their sentiment scores.
Main project components
AI Support Agent
A service powered by a local large language model that is prompted to answer customer enquiries.
AI Customer
A service powered by a local large language model that is prompted to ask the AI support agent for help.
Chat sentiment analysis
Calculates sentiment of the AI generated chat messages using a local model.
InfluxDB Sink
Shows how to stream the conversation history from Quix to an InfluxDB serverless database.
Sentiment Dashboard
A simple dashboard built in Streamlit that is designed to show the conversation history for the three most recently active conversations. It includes sentiment scores for the individual messages, an average for each conversation overall and a running average for all the concurrently running conversations.
Using this template
This project could be easily adapted for use cases such as:
- AI-powered customer support for human customers
- Testing sentiment analysis models or text-analysis pipelines (i.e. toxic speech or spam detection)