tree: 79c3ea604287c14b3bec7d04ad0b5f71b5d5a746
  1. __init__.py
  2. application.py
  3. docker-compose.yaml
  4. Dockerfile
  5. nginx.conf
  6. notebook.ipynb
  7. README.md
  8. requirements.txt
  9. server.py
  10. statemachine.png
  11. wrapper.sh
examples/email-assistant/README.md

Email Assistant

This example shows how to create a basic email assistant. This assistant takes in an email and will write a response. It allows you to prompt it with:

  1. An email
  2. Directions on how to respond

Then it generates questions for you for clarifications, and uses the answer to write a draft. It will go back and forth with you until you are satisfied with the response.

This demonstrates how to do multi-shot modeling interactively with an LLM. You'll learn:

  1. How to move in/out of program control -> user control
  2. How to process inputs at multiple points through the process
  3. How to involve multi-shot modeling with an LLM

How to run

To run this example, you need to install the following dependencies:

pip install -r requirements.txt

Then if you run jupyter lab you can open/execute the notebook. This simulates an interactive web app. The notebook is the best way to get started.

Note we will be adding two things to this demo:

  1. An integration with the burr web app
  2. a standalone server example with a walkthrough

Open the notebook

Running the UI with Email Server Backend in a Docker Container

We have added Docker support along with a compose file and nginx as a proxy for the API and Burr UI. To run the email assistant app with these new features:

  1. Run the following command:

    docker compose up --build
    
  2. This will start the email assistant app along with nginx, which allows you to access:

    • BURR UI on telemetry.localhost
    • API on api.localhost
  3. If you prefer not to use subdomains powered by nginx, you can also access:

    • Email server running Burr: Navigate to localhost:7242/docs
    • Burr UI: Navigate to localhost:7241
  4. If you don't have a UI, go to demos and play with the email-assistant. Otherwise, connect to the Burr email server with your UI code.

Note: This setup does not mount a persistent volume, so state is lost once the container goes down.

Additional Information

We will be adding two things to this demo:

  1. An integration with the Burr web app
  2. A standalone server example with a walkthrough