Quick Start Guide#

This is the starting point to try out ACE Agent. Specifically, this Quick Start Guide enables you to deploy sample bots and interact with them.

Note

The sample bots illustrated in the documentation are meant for testing and demonstrating different capabilities of the NVIDIA ACE Agent. They are not optimized for best accuracy or performance.

Prerequisites

Before you start using NVIDIA ACE Agent, it’s assumed that you meet the following prerequisites. The current version of ACE Agent is only supported on NVIDIA data center GPUs.

  1. You have access and are logged into NVIDIA GPU Cloud (NGC). You have installed the NGC CLI tool on the local system and you have logged into the NGC container registry. For more details about NGC, refer to the NGC documentation.

  2. You have installed Docker and the NVIDIA container toolkit. Ensure that you have gone through the Docker post-installation steps for managing Docker as a non-root user.

  3. You have access to an NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace, or an NVIDIA Hopper Architecture-based GPU.

  4. You have python >= 3.8.10 and pip >= 23.1.2 installed on your workstation.

Setup

  1. Download the NVIDIA ACE Agent Quick Start scripts by cloning the GitHub ACE repostiory.

    git clone git@github.com:NVIDIA/ACE.git
    cd ACE
    
  2. Go to the ACE Agent microservices directory.

    cd microservices/ace_agent
    
  3. Set your NGC Personal API key in the NGC_CLI_API_KEY environment variable.

    export NGC_CLI_API_KEY=...
    

Deployment

The ACE Agent Quick Start package comes with a number of sample bots which can be found in the ./samples/ directory. In the Quick Start section, we will deploy the stock sample bot present at ./samples/stock_bot using the Docker Environment.

This is an example bot for retrieving live stock prices using Yahoo Finance API for a specified company or organization. This bot also provides answers to general queries related to the stock market and stocks. This bot only answers questions related to stock prices and the stock market and does not have the ability to answer any off-topic queries.

This bot uses the gpt-4-turbo model from OpenAI as the main model.

  1. Set the OPENAI_API_KEY environment variable.

    export OPENAI_API_KEY="sk-XXX"
    
  2. Deploy the sample bot for speech to speech conversations using the Docker Environment.

    1. Bot configurations for the stock sample bot are present at ./samples/stock_bot in the quickstart directory. Set the BOT_PATH environment variable relative to the current directory.

      export BOT_PATH=./samples/stock_bot
      
    2. Set the environment variables required for docker-compose.yaml by sourcing deploy/docker/docker_init.sh.

      source deploy/docker/docker_init.sh
      
    3. Deploy the Speech and NLP models required for the bot which might take 20-40 minutes for the first time. For the stock sample bot, Riva ASR (Automatic Speech Recognition) and TTS (Text to Speech) models will be deployed.

      docker compose -f deploy/docker/docker-compose.yml up model-utils-speech
      
    4. Deploy the ACE Agent microservices. The following command deploys the Chat Controller, Chat Engine, Plugin server, and NLP server microservices along with Redis and the sample WebUI containers.

      docker compose -f deploy/docker/docker-compose.yml up speech-event-bot -d
      
    5. Wait for a few minutes for all services to be ready. You can check the Docker logs for individual microservices to confirm. You will see log print Server listening on 0.0.0.0:50055 in the Docker logs for the Chat Controller container. Ensure the following containers are up. If you have any issues, refer to the Troubleshooting section.

    You can interact with the bot using the sample WebUI application using the URL https://<workstation IP>:7006/. If you receive a connecting to server… message, you may need to wait for up to 5 minutes the first time the WebUI runs.

    Stock Market bot sample conversation

    For accessing the mic on the browser, we need to either convert http to https endpoint by adding SSL validation or update your chrome://flags/ or edge://flags/ to allow http://<workstation IP>:7006 as a secure endpoint.

    Alternatively, you can try using other sample clients packaged as part of ACE Agent Quick Start resource utilizing instructions from the Sample Clients section.

  3. Stop deployment.

    docker compose -f deploy/docker/docker-compose.yml down
    

Next Steps