interpolize-1.5.0 is not a library.
interpolize
a rust program that scrapes discord, learns how your friends talk, and generates new messages in their collective voice. yes, this is what we're doing with our lives.
what it does
- scrapes messages from discord channels using your user token
- builds word embeddings from scratch because apparently we hate ourselves
- trains a variable-order markov chain on the corpus
- interpolates between channel "vibes" using weighted centroid math
- spits out responses in a pretty terminal shell
why
good question.
install
- Recommended get cargo, and install it via cargo
- get it from the releases, copy it to a directory and copy config.example.toml in the same directory as config.toml, edit the config and it should work.
then fill in config.toml with your token and channel IDs. you know what you're doing.
usage
config
[]
= "your_token_here"
[]
= "embeddings.bin"
= 128
= 4
[]
= 8
= 5
= 4
[[]]
= "123456789"
= "general"
= 0.5
= 1000
weights don't need to sum to 1. we do the math so you don't have to.
how it actually works
- builds a co-occurrence matrix from all scraped messages
- applies PPMI to get meaningful word relationships
- runs truncated SVD via power iteration to get dense vectors
- computes per-channel centroids, interpolates them by weight
- at query time: KNN search for relevant messages + style examples
- feeds both into a variable-order markov chain biased toward the style vector
- streams output token by token so it looks cooler than it is
caveats
- the SVD is slow on large vocabs. that's the price of not using dependencies like a normal person.
- output quality depends entirely on how much your friends type. pray they're prolific.
- interpolize may or may not generate messages that would interest INTERPOL. not our problem.
license
do whatever