ChatGPT agent#

This guide provides an overview of how to set up the ChatGPT agent in your Flyte deployment. Please note that you have to set up the OpenAI API key in the agent server to to run ChatGPT tasks.

Specify agent configuration#

Edit the relevant YAML file to specify the agent.

kubectl edit configmap flyte-sandbox-config -n flyte
tasks:
  task-plugins:
    enabled-plugins:
      - container
      - sidecar
      - k8s-array
      - agent-service
    default-for-task-types:
      - container: container
      - container_array: k8s-array
      - chatgpt: agent-service

plugins:
  agent-service:
    # Configuring the timeout is optional.
    # Tasks like using ChatGPT with a large model might require a longer time,
    # so we have the option to adjust the timeout setting here.
    defaultAgent:
      timeouts:
        ExecuteTaskSync: 10s

Add the OpenAI API token#

  1. Install the flyteagent pod using helm:

helm repo add flyteorg https://flyteorg.github.io/flyte
helm install flyteagent flyteorg/flyteagent --namespace flyte
  1. Set Your OpenAI API Token as a Secret (Base64 Encoded):

SECRET_VALUE=$(echo -n "<OPENAI_API_TOKEN>" | base64) && \
kubectl patch secret flyteagent -n flyte --patch "{\"data\":{\"flyte_openai_api_key\":\"$SECRET_VALUE\"}}"
  1. Restart development:

kubectl rollout restart deployment flyteagent -n flyte

Upgrade the Flyte Helm release#

helm upgrade <RELEASE_NAME> flyteorg/flyte-binary -n <YOUR_NAMESPACE> --values <YOUR_YAML_FILE>

Replace <RELEASE_NAME> with the name of your release (e.g., flyte-backend), <YOUR_NAMESPACE> with the name of your namespace (e.g., flyte), and <YOUR_YAML_FILE> with the name of your YAML file.

For ChatGPT agent on the Flyte cluster, see ChatGPT agent.