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.0.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.0-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nardial-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 f646245c3af92467a6da973d3ac7de3da22000493831742f20e560092f10cf19
MD5 751d487c8c9072e19337e6545b1007fe
BLAKE2b-256 010815935235f819ef7be94e576dc5a58c8b7a1dd6bc1d2e9f1c1a1f63bb0374

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nardial-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 febe571e94e8e70260cc60a512911dff181678eb03f2fc5a2e17b36ceaafd312
MD5 9b77b21a44ebc5de8940b47604186032
BLAKE2b-256 1f1b9b9b826ab994c760910cee69353e1758c6c66c8e01d68a10e6afc3ccb9f6

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