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)
| File | Size | Uploaded | |
|---|---|---|---|
| llm_interpolate-0.1.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|