Skip to main content

llm-interpolate

LLM plugin for interpolating between embeddings

Installation

Install this plugin in the same environment as LLM.

llm install llm-interpolate

Usage

The plugin adds a new command, llm interpolate. This command takes the name of an embedding collection and two ids from that collection that will act as start and end points.

First, populate a collection. In this case we are embedding a song library using the CLAP model.

llm embed-multi -m clap songs --files mysongs "*.wav" 

Now we can interpolate between those song embeddings with five intermediate points:

llm interpolate songs "MyRapSong.wav" "MyContrySong.wav" -n 5

You can use the -d option to use a different embeddings database.

What this will do is try and find points in the embedding space in-between the given points.

The output should look something like this (truncated):

[
    "MyRapSong.wav",
    "HipHopMeetsCountry.wav",
    "SmoothCountryRap.wav",
    "CountryVibes.wav",
    "MyCountrySong.wav"
]

This output can then be used to build a cohesive playlist using only a starting and ending song.

llm interpolate songs "MyRapSong.wav" "MyContrySong.wav" -n 5 | jq .[] > playlist.m3u

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd llm-interpolate
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Metadata

Release files for llm-interpolate 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llm-interpolate 0.1
File Size Uploaded
llm_interpolate-0.1.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-interpolate 0.1
File Interpreter ABI Platform
llm_interpolate-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / llm_interpolate-0.1.tar.gz

Download URL llm_interpolate-0.1.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
66afa94cb47ed8a802aa69a80e9bb856feeccd51a71eeeff0b6b4d90252fb591
BLAKE2b-256 checksum
How to use checksums
d1247bab499ad0566871c7a6ca2ba857a95a3dbd8572de2071846a8699a6fc29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release files / llm_interpolate-0.1-py3-none-any.whl

Download URL llm_interpolate-0.1-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
660927154908fec5d1505c963bb68738184022c5e31254e59b2d3f71bc1bca95
BLAKE2b-256 checksum
How to use checksums
748c0af55208e2c51625482a9b8c8af012a991c089112ddfd8251a2a725697b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page