Tools
=====

You can host your :ref:`Gen AI Builder SDK Tools </edb-postgres-ai/1.3/ai-factory/gen-ai/reference/sdk/tools>`  on Gen AI Builder. This allows you to
run your Tools without needing to manage infrastructure.

Create a Tool from a GitHub Repo
--------------------------------

1. Connect Your GitHub Account in your Gen AI Builder account

2. Install the `Gen AI Builder GitHub app to your GitHub account or organization <https://github.com/apps/griptape-cloud/installations/new/>`_ 

   - Be sure to allow the app access to ``All Repositories`` or select
     the specific repositories you need

3. Ensure your repository has a Tool Config YAML file - To learn more
   see :ref:`Tool Config YAML <Tool Config YAML>` 

You can now create a Tool in the Gen AI Builder console by providing
your GitHub repository information.

Create a Tool from a ZIP file
-----------------------------

1. Ensure your Tool folder has a Tool Config YAML file - To learn more
   see :ref:`Tool Config YAML <Tool Config YAML>` 

2. Create a functional `Python venv <https://docs.python.org/3/library/venv.html>`_  in your Tool folder - Populating
   your virtual environment with your Tool’s Python dependencies can be
   done using `pip <https://pip.pypa.io/en/stable/getting-started/#install-multiple-packages-using-a-requirements-file>`_ 

3. Compress the entire Tool folder into a ZIP file

- On Mac and Linux systems, this can be done with the ‘zip’ CLI command
- On Windows systems, this can be done with the ‘tar.exe’ PowerShell
  command

4. Upload the created ZIP file to a :ref:`Data Lakes <Data Lakes>`  and note the Asset
   Name

You can now create a Tool in the Gen AI Builder console by providing
your Bucket and Asset Name from above.

Quickstart With Samples and Templates
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To get started with Tools in the Cloud, deploy one of the `griptape-sample-tools from GitHub <https://github.com/griptape-ai/griptape-sample-tools/tree/main>`_ 
.

.. toctree::
  :maxdepth: 3

  tools--tool-config
  tools--run-tool
