Skip to main content

Narrative Dialog Management System

Project description

NarDialPy

Python implementation of the Narrative Dialog Management System.


Demo

Here is a demo showcasing an agent-driven conversation utilizing Google Dialogflow, Google TTS, and OpenAI's GPT4

First, you need to set-up Google Cloud Console with dialogflow and Google TTS:

  1. Dialogflow: https://socialrobotics.atlassian.net/wiki/spaces/CBSR/pages/2205155343/Getting+a+google+dialogflow+key
  2. TTS: https://console.cloud.google.com/apis/api/texttospeech.googleapis.com/ Note: you need to set-up a paid account with a credit card. You get $300,- free tokens, which is more then enough for testing this agent. So in practice it will not cost anything.
  3. Create a keyfile as instructed in (1) and save it conf/dialogflow/google_keyfile.json (Never share the keyfile online!)

Secondly you need to configure your dialogflow agent. 4. In your empty dialogflow agent do the following things:

  • Remove all default intents
  • Go to settings -> import and export -> and import the resources/droomrobot_dialogflow_agent.zip into your dialogflow agent. That gives all the necessary intents and entities that are part of this example (and many more)

Thirdly, you need an openAI key: 5. Generate your personal openai api key here: https://platform.openai.com/api-keys 6. Either add your openai key to your systems variables or create a .openai_env file in the conf/openai folder and add your key there like this: OPENAI_API_KEY="your key"

Forth, the redis server, Dialogflow, Google TTS and OpenAI gpt service need to be running:

  1. Run:
pip install --upgrade social-interaction-cloud[dialogflow,google-tts,openai-gpt]
  1. Run:
conf/redis/redis-server.exe conf/redis/redis.conf
  1. Run in new terminal:
run-dialogflow 
  1. Run in new terminal:
run-google-tts
  1. Run in new terminal:
run-gpt
  1. Connect a device e.g. desktop, nao, pepper, alphamini
  2. Run this script in a new terminal.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nardial-0.1.1.tar.gz (35.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nardial-0.1.1-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

Details for the file nardial-0.1.1.tar.gz.

File metadata

  • Download URL: nardial-0.1.1.tar.gz
  • Upload date:
  • Size: 35.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nardial-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7cafcabefab4715791f30e4d6decdfb8530ee99e767c5bd9af72520cb52ca9d3
MD5 4d0c5de1d4fa0619737730de856a01d2
BLAKE2b-256 5acd262f23413104e727110c5212f5ba5c74aef5b2aa1a5d0e03ed1acedb0457

See more details on using hashes here.

File details

Details for the file nardial-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: nardial-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 35.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for nardial-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9068d386cbc591a39e6dc776b20e9f311cfc8ca36862b1e84f710294c9a7b88a
MD5 8072239bebd3d6b64048700029af627c
BLAKE2b-256 1e613337b4ce3548a0939738aa4907f771a9fbfd0e44a0a100d78da67c55d0a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page