Files
asaddi-ComfyUI-YALLM-node/README.md
T

2.2 KiB

Yet Another LLM Node (for ComfyUI)

Yet another set of LLM nodes for ComfyUI. This one only supports OpenAI-like APIs, but of course can be used with local LLM providers such as llama.cpp (and, I believe, ollama and LMStudio, among others).

This project mainly served as an exercise in creating ComfyUI nodes.

sample workflow

(the "Show Text" node is from the very useful https://github.com/pythongosssss/ComfyUI-Custom-Scripts)

Features

  • Connection profiles are defined externally in models.yaml, optionally pulling API URLs & API keys from environment variables.

    Since they're externally defined, there's no chance for your precious API keys to leak via workflow metadata.

  • Only uses the chat completion API endpoint. No messing around with prompt templates.

  • Can set a system prompt.

  • The usual set of LLM samplers (temperature, top-k, top-p, min-p)

    For llama.cpp at least, the order you chain them together affects their order of application. (Other llama.cpp-derived providers might also respect the samplers option.)

    Also note that the OpenAI API spec only officially supports temperature and top-p, so what's actually supported will depend on your provider.

  • Seed is exposed and configurable, allowing some degree of determinism.

Aside from adding more samplers (as requested/as I need them), I consider this project feature complete.

Though don't be surprised if I start adding RAG features or something in the future.

Installation

Clone this project into your custom_nodes directory.

Then within the ComfyUI-YALLM-node directory:

cp models.yaml.example models.yaml

and edit models.yaml if you would like to use more than just the http://localhost:8080/v1 endpoint.

Finally, install the openai Python package (currently the only dependency):

pip install openai

or

pip install -r requirements.txt

or

path/to/ComfyUI/python_embeded/python -m pip install -r requirements.txt

Just make sure pip/python is the same one used for your ComfyUI installation.

License

Licensed under BSD-2-Clause-Patent.