In the fast-evolving world of artificial intelligence, having a robust framework for developing conversational agents is crucial. The Plato Research Dialogue System is just that—a flexible platform that empowers you to create, train, and evaluate your conversational AI agents efficiently. In this blog, we’ll guide you through the steps to get started with Plato, troubleshooting common issues you might encounter, and useful tips along the way.
How Does the Plato Research Dialogue System Work?
Plato RDS operates like a well-coordinated assembly line in a factory. Imagine each component of your dialogue system as a skilled worker performing a specific task:
- Speech Recognition: Transcribes your spoken requests into text.
- Language Understanding: Interprets the meaning of the text.
- State Tracking: Keeps a mental note of the conversation history.
- API Call: Fetches information, similar to a library querying books.
- Dialogue Policy: Decides how to respond based on previous interactions.
- Language Generation: Forms a human-readable response.
- Speech Synthesis: Converts text into speech, giving your agent a voice.
With all these moving parts working seamlessly together, you (or your users) engage in a dynamic, multi-faceted dialogue where the conversational agent interacts with either humans or other agents in a uniquely engaging way.
Installation
Before you let your creativity flourish through Plato, you need to install it on your machine:
- Ensure you have Python 3.6 or higher.
- Clone the Plato repository from GitHub:
git clone git@github.com:uber-research/plato-research-dialogue-system.git - Install the prerequisites:
pip install tensorflow==1.14.0- For audio support:
pip install SpeechRecognition - Set up environment-specific dependencies as necessary:
- MacOS:
brew install portaudio gmpfollowed bypip install pyaudio - Ubuntu/Debian:
sudo apt-get install python3-pyaudio - Windows: Nothing extra needed.
- To install Plato in editable mode, navigate to the cloned directory and run:
pip install -e .
Common Issues During Installation
While installing Plato, you might encounter some common issues. Here are some solutions:
- If PyAudio installation fails, refer to this Stack Overflow guide for dependency resolution.
If you’re having trouble or if installation errors persist, feel free to reach out and get support from your peers. For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Running Plato
Once installed, run Plato with the following command in your terminal:
plato run
This command has four sub-commands: run, gui, domain, and parse. Each of these sub-commands takes a configuration file that determines how the system should function.
Building a Conversational Agent with Plato
A conversation agent in Plato comprises three main components:
- Domain: Defines the topic(s) the agent can handle.
- Controller: Manages the flow of dialogue.
- Agent: The actual entity that engages in conversation.
For example, say you want to build a virtual assistant for a flower shop. You need to define the products (domain), how the assistant interacts (controller), and the conversational logic (agent).
Creating a Domain
Example: Your flower shop might have a CSV file detailing products, prices, and types. Creating a configuration file will allow Plato to generate a database and ontology file for this domain:
GENERAL:
csv_file_name: example_data/flowershop.csv
db_table_name: flowershop
db_file_path: example/domains/flowershop-dbase.db
ontology_file_path: example/domains/flowershop_rules.json
ONTOLOGY:
informable_slots: [type, price, occasion]
requestable_slots: [price, color]
system_requestable_slots: [type, price, occasion]
Run the following command to create the necessary data files:
plato domain --config create_flowershop_domain.yaml
If you encounter a unique constraint error, it means the database already exists. You can run other components to ensure everything is working correctly.
Conclusion
Using the Plato Research Dialogue System provides a powerful way to build conversational agents. With this guide, you have the basics to start your journey into creating your conversational AI. Remember, as you explore further, to refer back for additional details on user simulators and multi-agent setups that can greatly enhance your agents.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

