Tapestry Loom

A power user focused interface for LLM base models.

LLM Mart
3 views 49 listing impressions

A power user focused interface for LLM base models, inspired by the designs of loom, loomsidian, exoloom, logitloom, wool, and mikupad.

Screenshots

Known issues

  • Some documents may cause the text editor to render token boundaries incorrectly
    • This is due to a bug in egui regarding textedit underline rendering
  • Tab bars are not read by screen readers
    • This is due to a bug in egui_tiles
  • UI state for closed weaves persists in memory after the weave editor UI is closed, creating a slow memory leak
    • This is due to a bug in egui
  • CPU usage is high when the window is not visible and not minimized
  • Editor subview tooltips take longer to close after scrolling has happened
    • This is due to a limitation of egui
  • Root nodes containing long text may overlap in the canvas view

If you are experiencing an issue not listed here or in this repository's active issues, please file an issue so that it can be fixed.

Getting started

Important

This application is a work in progress; Please make backups and report any bugs that you find.

Binary releases

Compiled binaries can be found on the releases page.

MacOS-specific instructions

Before using the app, you will need to run the following CLI command in the extracted folder:

xattr -d com.apple.quarantine tapestry*

Compiling from source

Requires the Rust Programming Language and a working C compiler to be installed.

git clone --recurse-submodules https://github.com/transkatgirl/Tapestry-Loom.git
cd Tapestry-Loom
cargo build --release

The compiled binary can be found in the ./target/release/ folder.

Updating

Run the following commands in the repository folder:

git pull
git submodule update --init --recursive
cargo build --release

Usage

See Getting Started for more information on how to use the application.

The rest of this README covers the usage of external tools which Tapestry Loom can interface with.

Migrating weaves from other Loom implementations

See migration-assistant for more information on how to migrate weaves from other Loom implementations to Tapestry Loom.

Local inference

llama.cpp's llama-server is recommended, as it has been confirmed to work properly with all of the features within Tapestry Loom (except returning prompt logprobs).

vLLM requires additional request arguments to work properly with Tapestry Loom:

  • /v1/completions
    • return_token_ids = true
      • Optional; Allows (partial) reuse of output token IDs when using Tapestry Tokenize. However, (unlike llama.cpp) token IDs are only returned for the selected token, not for all top_logprobs.
      • Must be removed when using echo = true
  • /v1/chat/completions
    • return_token_ids = true
      • Optional; Allows (partial) reuse of output token IDs when using Tapestry Tokenize. However, (unlike llama.cpp) token IDs are only returned for the selected token, not for all top_logprobs.
    • continue_final_message = true
    • add_generation_prompt = false

From the project's README.

Comments (0)

Sign in to join the conversation.

No comments yet.