Skip to content

the-sergiu/conversational-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conversational Agent

Introduction

The idea of this agent is to sustain live phone calls with a human and satisfy their narrow and immediate goal, given a certain context. Such an example could be scheduling a meeting on behalf of a company offering X type of consultation (i.e. dental office appointment creation by managing all requirements - checking availabilities, Google calendar invite creation, responding to the human, confirming dates), all through a more complex task such as extracting certain information from some data store (i.e. what is the status of my order?).

Setup

Make sure to run these commands from the repo root.

  1. Create a Virtual Environment (venv) in Python to store all dependencies (as per WSL/Ubuntu). Currently using Python 3.9.
sudo apt update
sudo apt install python3 python3-pip python3-venv
python3 -m venv venv
  1. Activate/Deactivate virtual environment (has to be done each time you enter WSL)
source venv/bin/activate
# deactivate
  1. After activating virtual environment, install dependencies:
pip3 install -r requirements.txt
# try with pip instead of pip3 if it doesn't work

Conversational Agent Components:

Such a Conversational Agent should containt 4 main components:

  1. Speech to Text Mechanism - convert the query from the user to text
  2. LLM - given context and the user query, convert the resulting text into a task for the agent
  3. Agent mechanism - interpret the user query (from the LLM), and complete resulting task. This may imply multiple subsystems.
  4. Text to speech - once we reach an intermediate step or a conclusion, each dialogue phase should be communicated to the user.
  5. Optional - an interface

OpenAI API & Pricing

TODO: Langchain

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages