Skip to content

Commit

Permalink
[Docs] Chatgpt Agent Setup (#4992)
Browse files Browse the repository at this point in the history
Signed-off-by: Future-Outlier <[email protected]>
Co-authored-by: Nikki Everett <[email protected]>
  • Loading branch information
Future-Outlier and neverett authored Mar 5, 2024
1 parent 610830c commit ba59258
Show file tree
Hide file tree
Showing 8 changed files with 146 additions and 4 deletions.
Empty file added ,
Empty file.
2 changes: 1 addition & 1 deletion docs/deployment/agents/bigquery.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,4 @@ Upgrade the Flyte Helm release

and ``<YOUR_NAMESPACE>`` with the name of your namespace (e.g., ``flyte``).

For BigQuery agent on the Flyte cluster, see `BigQuery agent <https://docs.flyte.org/en/latest/flytesnacks/examples/bigquery_integration/bigquery_agent.html>`_.
For BigQuery agent on the Flyte cluster, see `BigQuery agent <https://docs.flyte.org/en/latest/flytesnacks/examples/bigquery_agent/index.html>`_.
138 changes: 138 additions & 0 deletions docs/deployment/agents/chatgpt.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
.. _deployment-agent-setup-chatgpt:

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
----------------------------

.. tabs::

.. group-tab:: Flyte binary

Edit the relevant YAML file to specify the agent.

.. code-block:: bash
kubectl edit configmap flyte-sandbox-config -n flyte
.. code-block:: yaml
:emphasize-lines: 7,11,16
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:
supportedTaskTypes:
- chatgpt
.. group-tab:: Flyte core

Create a file named ``values-override.yaml`` and add the following configuration to it:

.. code-block:: yaml
configmap:
enabled_plugins:
# -- Tasks specific configuration [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#GetConfig)
tasks:
# -- Plugins configuration, [structure](https://pkg.go.dev/github.com/flyteorg/flytepropeller/pkg/controller/nodes/task/config#TaskPluginConfig)
task-plugins:
# -- [Enabled Plugins](https://pkg.go.dev/github.com/flyteorg/flyteplugins/go/tasks/config#Config). Enable sagemaker*, athena if you install the backend
enabled-plugins:
- container
- sidecar
- k8s-array
- agent-service
default-for-task-types:
container: container
sidecar: sidecar
container_array: k8s-array
chatgpt: agent-service
plugins:
agent-service:
supportedTaskTypes:
- chatgpt
Add the OpenAI API token
-------------------------------

1. Install flyteagent pod using helm:

.. code-block::
helm repo add flyteorg https://flyteorg.github.io/flyte
helm install flyteagent flyteorg/flyteagent --namespace flyte
2. Get the base64 value of your OpenAI API token:

.. code-block::
echo -n "<OPENAI_API_TOKEN>" | base64
3. Edit the flyteagent secret:

.. code-block:: bash
kubectl edit secret flyteagent -n flyte
.. code-block:: yaml
:emphasize-lines: 3
apiVersion: v1
data:
flyte_openai_access_token: <BASE64_ENCODED_OPENAI_API_TOKEN>
kind: Secret
metadata:
annotations:
meta.helm.sh/release-name: flyteagent
meta.helm.sh/release-namespace: flyte
creationTimestamp: "2023-10-04T04:09:03Z"
labels:
app.kubernetes.io/managed-by: Helm
name: flyteagent
namespace: flyte
resourceVersion: "753"
uid: 5ac1e1b6-2a4c-4e26-9001-d4ba72c39e54
type: Opaque
Upgrade the Flyte Helm release
------------------------------

.. tabs::

.. group-tab:: Flyte binary

.. code-block:: bash
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.

.. group-tab:: Flyte core

.. code-block:: bash
helm upgrade <RELEASE_NAME> flyte/flyte-core -n <YOUR_NAMESPACE> --values values-override.yaml
Replace ``<RELEASE_NAME>`` with the name of your release (e.g., ``flyte``)

and ``<YOUR_NAMESPACE>`` with the name of your namespace (e.g., ``flyte``).

For ChatGPT agent on the Flyte cluster, see `ChatGPT agent <https://docs.flyte.org/en/latest/flytesnacks/examples/chatgpt_agent/index.html>`_.
2 changes: 1 addition & 1 deletion docs/deployment/agents/databricks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -291,4 +291,4 @@ Wait for the upgrade to complete. You can check the status of the deployment pod
kubectl get pods -n flyte
For Databricks agent on the Flyte cluster, see `Databricks agent <https://docs.flyte.org/en/latest/flytesnacks/examples/databricks_integration/databricks_agent.html>`_.
For Databricks agent on the Flyte cluster, see `Databricks agent <https://docs.flyte.org/en/latest/flytesnacks/examples/databricks_agent/index.html>`_.
3 changes: 3 additions & 0 deletions docs/deployment/agents/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ If you are using a managed deployment of Flyte, you will need to contact your de
* - {ref}`Airflow Agent <deployment-agent-setup-airflow>`
- Configuring your Flyte deployment for the Airflow agent
* - {ref}`ChatGPT Agent <deployment-agent-setup-chatgpt>`
- Configuring your Flyte deployment for the ChatGPT agent.
* - {ref}`Databricks Agent <deployment-agent-setup-databricks>`
- Configuring your Flyte deployment for the Databricks agent.
* - {ref}`Google BigQuery Agent <deployment-agent-setup-bigquery>`
Expand All @@ -33,6 +35,7 @@ If you are using a managed deployment of Flyte, you will need to contact your de
:hidden:
airflow
chatgpt
databricks
bigquery
mmcloud
Expand Down
2 changes: 1 addition & 1 deletion docs/deployment/agents/mmcloud.rst
Original file line number Diff line number Diff line change
Expand Up @@ -118,4 +118,4 @@ Wait for the upgrade to complete. You can check the status of the deployment pod
kubectl get pods -n flyte
For MMCloud agent on the Flyte cluster, see `MMCloud agent <https://docs.flyte.org/en/latest/flytesnacks/examples/mmcloud_integration/mmcloud_agent.html>`_.
For MMCloud agent on the Flyte cluster, see `MMCloud agent <https://docs.flyte.org/en/latest/flytesnacks/examples/mmcloud_agent/index.html>`_.
2 changes: 1 addition & 1 deletion docs/deployment/agents/snowflake.rst
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,4 @@ Upgrade the Flyte Helm release

and ``<YOUR_NAMESPACE>`` with the name of your namespace (e.g., ``flyte``).

For Snowflake agent on the Flyte cluster, see `Snowflake agent <https://docs.flyte.org/en/latest/flytesnacks/examples/snowflake_integration/snowflake_agent.html>`_.
For Snowflake agent on the Flyte cluster, see `Snowflake agent <https://docs.flyte.org/en/latest/flytesnacks/examples/snowflake_agent/index.html>`_.
1 change: 1 addition & 0 deletions monodocs-environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ dependencies:
- mlflow==2.7.0 # mlflow
- snowflake-connector-python # snowflake
- vaex-core # vaex
- openai # chatgpt

- pip:
- readthedocs-sphinx-ext
Expand Down

0 comments on commit ba59258

Please sign in to comment.