griptape-ai / ComfyUI-Griptape

A suite of Griptape nodes for ComfyUI
Apache License 2.0
116 stars 12 forks source link

ComfyUI Griptape Nodes

This repo creates a series of nodes that enable you to utilize the Griptape Python Framework with ComfyUI, integrating LLMs (Large Language Models) and AI into your workflow.

Instructions and tutorials

Watch the trailer and all the instructional videos on our YouTube Playlist.

Watch the Trailer on YouTube

The repo currently has a subset of Griptape nodes, with more to come soon. Current nodes can:

Ultimate Configuration

Use nodes to control every aspect of the Agents behavior, with the following drivers:

Workflow to configure an agent

Example

In this example, we're using three Image Description nodes to describe the given images. Those descriptions are then Merged into a single string which is used as inspiration for creating a new image using the Create Image from Text node, driven by an OpenAI Driver.

The following image is a workflow you can drag into your ComfyUI Workspace, demonstrating all the options for configuring an Agent.

Three image descriptions being used to generate a new image

More examples

You can previous and download more examples here.

Using the nodes - Video Tutorials

  1. Installation: https://youtu.be/L4-HnKH4BSI?si=Q7IqP-KnWug7JJ5s
  2. Griptape Agents: https://youtu.be/wpQCciNel_A?si=WF_EogiZRGy0cQIm
  3. Controlling which LLM your Agents use: https://youtu.be/JlPuyH5Ot5I?si=KMPjwN3wn4L4rUyg
  4. Griptape Tools - Featuring Task Memory and Off-Prompt: https://youtu.be/TvEbv0vTZ5Q
  5. Griptape Rulesets, and Image Creation: https://youtu.be/DK16ouQ_vSs
  6. Image Generation with multiple drivers: https://youtu.be/Y4vxJmAZcho
  7. Image Description, Parallel Image Description: https://youtu.be/OgYKIluSWWs?si=JUNxhvGohYM0YQaK
  8. Audio Transcription: https://youtu.be/P4GVmm122B0?si=24b9c4v1LWk_n80T
  9. Using Ollama as a Configuration Driver: https://youtu.be/jIq_TL5xmX0?si=ilfomN6Ka1G4hIEp
  10. Combining Rulesets: https://youtu.be/3LDdiLwexp8?si=Oeb6ApEUTqIz6J6O
  11. Integrating Text: https://youtu.be/_TVr2zZORnA?si=c6tN4pCEE3Qp0sBI
  12. New Nodes & Quality of life improvements: https://youtu.be/M2YBxCfyPVo?si=pj3AFAhl2Tjpd_hw
  13. Merge Input Data: https://youtu.be/wQ9lKaGWmZo?si=FgboU5iUg82pXRkC
  14. Setting default agent configurations: https://youtu.be/IkioCcldEms?si=4uUu-y9UvIJWVBdE
  15. Merge Text with dynamic inputs and custom separator: https://youtu.be/1fHAzKVPG4M?si=6JHe1NA2_a_nl9rG
  16. Multiple Image Descriptions and Local Multi-Modal Models: https://youtu.be/KHz7CMyOk68?si=oQXud6NOtNHrXLez
  17. WebSearch Node Now Allows for Driver Functionality in Griptape Nodes: https://youtu.be/4_dkfdVUnRI?si=DA4JvegV0mdHXPDP
  18. Persistent Display Text: https://youtu.be/9229bN0EKlc?si=Or2eu3Nuh7lxgfEU
  19. Convert an Agent to a Tool.. and give it to another Agent: https://youtu.be/CcRot5tVAU8?si=lA0v5kDH51nYWwgG
  20. Text-To-Speech Nodes: https://youtu.be/PP1uPkRmvoo?si=QSaWNCRsRaIERrZ4
  21. Update to Managing Your API Keys in ComfyUI Griptape Nodes: https://www.youtube.com/watch?v=v80A7rtIjko

Recent Changelog

Nov 9, 2024

Nov 6, 2024

Nov 4, 2024

Nov 1, 2024

Oct 31, 2024

Oct 30, 2024

Oct 23, 2024

Oct 11, 2024

Oct 10, 2024

Sept 20, 2024

Sept 12, 2024

Sept 11, 2024

Sept 10, 2024

Sept 5, 2024

MAJOR UPDATE

alt text

alt text

Aug 30, 2024

Aug 29, 2024

Aug 27, 2024

Aug 21, 2024

Aug 20, 2024

Aug 4, 2024

Aug 3, 2024

July 29, 2024

July 27, 2024

July 25, 2024

July 24, 2024

July 23, 2024

July 22, 2024

July 17, 2024

July 16, 2024

July 12, 2024

July 11, 2024

July 10, 2024

July 9, 2024

July 2, 2024

Installation

1. ComfyUI

Install ComfyUI using the instructions for your particular operating system.

2. Use Ollama

If you'd like to run with a local LLM, you can use Ollama and install a model like llama3.

  1. Download and install Ollama from their website: https://ollama.com

  2. Download a model by running ollama run <model>. For example:

    ollama run llama3

  3. You now have ollama available to you. To use it, follow the instructions in this YouTube video: https://youtu.be/jIq_TL5xmX0?si=0i-myC6tAqG8qbxR

3. Install Griptape-ComfyUI

There are two methods for installing the Griptape-ComfyUI repository. You can either download or git clone this repository inside the ComfyUI/custom_nodes, or use the ComfyUI Manager.

4. Make sure libraries are loaded

Libraries should be installed automatically, but if you're having trouble, hopefully this can help.

There are certain libraries required for Griptape nodes that are called out in the requirements.txt file.

griptape[all]
python-dotenv

These should get installed automatically if you used the ComfyUI Manager installation method. However, if you're running into issues, please install them yourself either using pip or poetry, depending on your installation method.

5. Restart ComfyUI

Now if you restart comfyUI, you should see the Griptape menu when you click with the Right Mouse button.

If you don't see the menu, please come to our Discord and let us know what kind of errors you're getting - we would like to resolve them as soon as possible!

6. Set API Keys

For advanced features, it's recommended to use a more powerful model. These are available from the providers listed bellow, and will require API keys.

  1. To set an API key, click on the Settings button in the ComfyUI Sidebar.
  2. Select the Griptape option.
  3. Scroll down to the API key you'd like to set and enter it.

    Note: If you already have a particular API key set in your environment, it will automatically show up here.

You can get the appropriate API keys from these respective sites:


Troubleshooting

Torch issues

Griptape does install the torch requirement. Sometimes this may cause problems with ComfyUI where it grabs the wrong version of torch, especially if you're on Nvidia. As per the ComfyUI docs, you may need to unintall and re-install torch.

pip uninstall torch
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121

Griptape Not Updating

Sometimes you'll find that the Griptape library didn't get updated properly. This seems to be especially happening when using the ComfyUI Manager. You might see an error like:

ImportError: cannot import name 'OllamaPromptDriver' from 'griptape.drivers' (C:\Users\evkou\Documents\Sci_Arc\Sci_Arc_Studio\ComfyUi\ComfyUI_windows_portable\python_embeded\Lib\site-packages\griptape\drivers\__init__.py)

To resolve this, you must make sure Griptape is running with the appropriate version. Things to try:

StabilityMatrix

If you are using StabilityMatrix to run ComfyUI, you may find that after you install Griptape you get an error like the following: Stability Matrix Error

To resolve this, you'll need to update your torch installation. Follow these steps:

  1. Click on Packages to go back to your list of installed Packages.
  2. In the ComfyUI card, click the vertical ... menu.
  3. Choose Python Packages to bring up your list of Python Packages.
  4. In the list of Python Packages, search for torch to filter the list.
  5. Select torch and click the - button to uninstall torch.
  6. When prompted, click Uninstall
  7. Click the + button to install a new package.
  8. Enter the list of packages: torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
  9. Click OK.
  10. Wait for the install to complete.
  11. Click Close.
  12. Launch ComfyUI again.

Thank you

Massive thank you for help and inspiration from the following people and repos!