Skip to main content

WordLlama NLP Utility

Project description

WordLlama 📝🦙

WordLlama is a fast, lightweight NLP toolkit designed for tasks like fuzzy deduplication, similarity computation, ranking, clustering, and semantic text splitting. It operates with minimal inference-time dependencies and is optimized for CPU hardware, making it suitable for deployment in resource-constrained environments.

Word Llama

News and Updates 🔥

  • 2025-01-04 We're excited to announce support for model2vec static embeddings. See also: Model2Vec
  • 2024-10-04 Added semantic splitting inference algorithm. See our technical overview.

Table of Contents

Quick Start

Install WordLlama via pip:

pip install wordllama

Load the default 256-dimensional model:

from wordllama import WordLlama

# Load the default WordLlama model
wl = WordLlama.load()

# Calculate similarity between two sentences
similarity_score = wl.similarity("I went to the car", "I went to the pawn shop")
print(similarity_score)  # Output: e.g., 0.0664

# Rank documents based on their similarity to a query
query = "I went to the car"
candidates = ["I went to the park", "I went to the shop", "I went to the truck", "I went to the vehicle"]
ranked_docs = wl.rank(query, candidates)
print(ranked_docs)
# Output:
# [
#   ('I went to the vehicle', 0.7441),
#   ('I went to the truck', 0.2832),
#   ('I went to the shop', 0.1973),
#   ('I went to the park', 0.1510)
# ]

Features

  • Fast Embeddings: Efficiently generate text embeddings using a simple token lookup with average pooling.
  • Similarity Computation: Calculate cosine similarity between texts.
  • Ranking: Rank documents based on their similarity to a query.
  • Fuzzy Deduplication: Remove duplicate texts based on a similarity threshold.
  • Clustering: Cluster documents into groups using KMeans clustering.
  • Filtering: Filter documents based on their similarity to a query.
  • Top-K Retrieval: Retrieve the top-K most similar documents to a query.
  • Semantic Text Splitting: Split text into semantically coherent chunks.
  • Binary Embeddings: Support for binary embeddings with Hamming similarity for even faster computations.
  • Matryoshka Representations: Truncate embedding dimensions as needed for flexibility.
  • Low Resource Requirements: Optimized for CPU inference with minimal dependencies.

What is WordLlama?

WordLlama is a utility for natural language processing (NLP) that recycles components from large language models (LLMs) to create efficient and compact word representations, similar to GloVe, Word2Vec, or FastText.

Starting by extracting the token embedding codebook from state-of-the-art LLMs (e.g., LLaMA 2, LLaMA 3 70B), WordLlama trains a small context-less model within a general-purpose embedding framework. This approach results in a lightweight model that improves on all MTEB benchmarks over traditional word models like GloVe 300d, while being substantially smaller in size (e.g., 16MB default model at 256 dimensions).

WordLlama's key features include:

  1. Matryoshka Representations: Allows for truncation of the embedding dimension as needed, providing flexibility in model size and performance.
  2. Low Resource Requirements: Utilizes a simple token lookup with average pooling, enabling fast operation on CPUs without the need for GPUs.
  3. Binary Embeddings: Models trained using the straight-through estimator can be packed into small integer arrays for even faster Hamming distance calculations.
  4. Numpy-only Inference: Lightweight inference pipeline relying solely on NumPy, facilitating easy deployment and integration.

Because of its fast and portable size, WordLlama serves as a versatile tool for exploratory analysis and utility applications, such as LLM output evaluators or preparatory tasks in multi-hop or agentic workflows.

MTEB Results

The following table presents the performance of WordLlama models compared to other similar models.

Metric WL64 WL128 WL256 (X) WL512 WL1024 GloVe 300d Komninos all-MiniLM-L6-v2
Clustering 30.27 32.20 33.25 33.40 33.62 27.73 26.57 42.35
Reranking 50.38 51.52 52.03 52.32 52.39 43.29 44.75 58.04
Classification 53.14 56.25 58.21 59.13 59.50 57.29 57.65 63.05
Pair Classification 75.80 77.59 78.22 78.50 78.60 70.92 72.94 82.37
STS 66.24 67.53 67.91 68.22 68.27 61.85 62.46 78.90
CQA DupStack 18.76 22.54 24.12 24.59 24.83 15.47 16.79 41.32
SummEval 30.79 29.99 30.99 29.56 29.39 28.87 30.49 30.81

WL64 to WL1024: WordLlama models with embedding dimensions ranging from 64 to 1024.

Note: The l2_supercat is a LLaMA 2 vocabulary model. To train this model, we concatenated codebooks from several models, including LLaMA 2 70B and phi 3 medium, after removing additional special tokens. Because several models have used the LLaMA 2 tokenizer, their codebooks can be concatenated and trained together. The performance of the resulting model is comparable to training the LLaMA 3 70B codebook, while being 4x smaller (32k vs. 128k vocabulary).

Other Models

How Fast? :zap:

8k documents from the ag_news dataset

  • Single core performance (CPU), i9 12th gen, DDR4 3200
  • NVIDIA A4500 (GPU)

Word Llama

Usage

Embedding Text

Load pre-trained embeddings and embed text:

from wordllama import WordLlama

# Load pre-trained embeddings (truncate dimension to 64)
wl = WordLlama.load(trunc_dim=64)

# Embed text
embeddings = wl.embed(["The quick brown fox jumps over the lazy dog", "And all that jazz"])
print(embeddings.shape)  # Output: (2, 64)

Calculating Similarity

Compute the similarity between two texts:

similarity_score = wl.similarity("I went to the car", "I went to the pawn shop")
print(similarity_score)  # Output: e.g., 0.0664

Ranking Documents

Rank documents based on their similarity to a query:

query = "I went to the car"
candidates = ["I went to the park", "I went to the shop", "I went to the truck", "I went to the vehicle"]
ranked_docs = wl.rank(query, candidates, sort=True, batch_size=64)
print(ranked_docs)
# Output:
# [
#   ('I went to the vehicle', 0.7441),
#   ('I went to the truck', 0.2832),
#   ('I went to the shop', 0.1973),
#   ('I went to the park', 0.1510)
# ]

Fuzzy Deduplication

Remove duplicate texts based on a similarity threshold:

deduplicated_docs = wl.deduplicate(candidates, return_indices=False, threshold=0.5)
print(deduplicated_docs)
# Output:
# ['I went to the park',
#  'I went to the shop',
#  'I went to the truck']

Clustering

Cluster documents into groups using KMeans clustering:

labels, inertia = wl.cluster(candidates, k=3, max_iterations=100, tolerance=1e-4, n_init=3)
print(labels, inertia)
# Output:
# [2, 0, 1, 1], 0.4150

Filtering

Filter documents based on their similarity to a query:

filtered_docs = wl.filter(query, candidates, threshold=0.3)
print(filtered_docs)
# Output:
# ['I went to the vehicle']

Top-K Retrieval

Retrieve the top-K most similar documents to a query:

top_docs = wl.topk(query, candidates, k=2)
print(top_docs)
# Output:
# ['I went to the vehicle', 'I went to the truck']

Semantic Text Splitting

Split text into semantic chunks:

long_text = "Your very long text goes here... " * 100
chunks = wl.split(long_text, target_size=1536)

print(list(map(len, chunks)))
# Output: [1055, 1055, 1187]

Note that the target size is also the maximum size. The .split() feature attempts to aggregate sections up to the target_size, but will retain the order of the text as well as sentence and, as much as possible, paragraph structure. It uses wordllama embeddings to locate more natural indexes to split on. As a result, there will be a range of chunk sizes in the output up to the target size.

The recommended target size is from 512 to 2048 characters, with the default size at 1536. Chunks that need to be much larger should probably be batched after splitting, and will often be aggregated from multiple semantic chunks already.

For more information see: technical overview

Loading Model2Vec

wl = WordLlama.list_configs()
# dict of config names

wl = WordLlama.load_m2v("potion_base_8m") # 256-dim model
wl = WordLlama.load_m2v("m2v_multilingual") # multilingual model

Model2Vec is a different way of creating static embeddings using PCA. Notably, they have produced multilingual models, and glove-based models, which score well in word similarity tasks.

Check them out on huggingface! minishlab

Inference Class

from wordllama import WordLlamaInference
from tokenizers import Tokenizer

tokenizer = Tokenizer.from_pretrained(...)
wl = WordLlamaInference(np_embeddings_ar, tokenizer)

The inference class can be used directly with a bring-your-own static embeddings array (n_vocab, dim), rather than using the loader.

Training Notes

Binary embedding models showed more pronounced improvement at higher dimensions, and either 512 or 1024 dimensions are recommended for binary embeddings.

The L2 Supercat model was trained using a batch size of 512 on a single A100 GPU for 12 hours.

Roadmap

  • Additional Example Notebooks:
    • DSPy evaluators
    • Retrieval-Augmented Generation (RAG) pipelines

Extracting Token Embeddings

To extract token embeddings from a model, ensure you have agreed to the user agreement and logged in using the Hugging Face CLI (for LLaMA models). You can then use the following snippet:

from wordllama.extract.extract_safetensors import extract_safetensors

# Extract embeddings for the specified configuration
extract_safetensors("llama3_70B", "path/to/saved/model-0001-of-00XX.safetensors")

Hint: Embeddings are usually in the first safetensors file, but not always. Sometimes there is a manifest; sometimes you have to inspect and figure it out.

For training, use the scripts in the GitHub repository. You have to add a configuration file (copy/modify an existing one into the folder).

pip install wordllama[train]
python train.py train --config your_new_config
# (Training process begins)
python train.py save --config your_new_config --checkpoint ... --outdir /path/to/weights/
# (Saves one model per Matryoshka dimension)

Community Projects

Citations

If you use WordLlama in your research or project, please consider citing it as follows:

@software{miller2024wordllama,
  author = {Miller, D. Lee},
  title = {WordLlama: Recycled Token Embeddings from Large Language Models},
  year = {2024},
  url = {https://github.com/dleemiller/wordllama},
  version = {0.3.7}
}

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wordllama-0.3.8.post20.tar.gz (17.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

wordllama-0.3.8.post20-cp313-cp313-win_amd64.whl (16.9 MB view details)

Uploaded CPython 3.13Windows x86-64

wordllama-0.3.8.post20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wordllama-0.3.8.post20-cp313-cp313-macosx_14_0_arm64.whl (17.2 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

wordllama-0.3.8.post20-cp313-cp313-macosx_13_0_x86_64.whl (17.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

wordllama-0.3.8.post20-cp312-cp312-win_amd64.whl (16.9 MB view details)

Uploaded CPython 3.12Windows x86-64

wordllama-0.3.8.post20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wordllama-0.3.8.post20-cp312-cp312-macosx_14_0_arm64.whl (17.2 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

wordllama-0.3.8.post20-cp312-cp312-macosx_13_0_x86_64.whl (17.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

wordllama-0.3.8.post20-cp311-cp311-win_amd64.whl (16.9 MB view details)

Uploaded CPython 3.11Windows x86-64

wordllama-0.3.8.post20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wordllama-0.3.8.post20-cp311-cp311-macosx_14_0_arm64.whl (17.2 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

wordllama-0.3.8.post20-cp311-cp311-macosx_13_0_x86_64.whl (17.3 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

wordllama-0.3.8.post20-cp310-cp310-win_amd64.whl (16.9 MB view details)

Uploaded CPython 3.10Windows x86-64

wordllama-0.3.8.post20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

wordllama-0.3.8.post20-cp310-cp310-macosx_14_0_arm64.whl (17.2 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

wordllama-0.3.8.post20-cp310-cp310-macosx_13_0_x86_64.whl (17.3 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

wordllama-0.3.8.post20-cp39-cp39-win_amd64.whl (16.9 MB view details)

Uploaded CPython 3.9Windows x86-64

wordllama-0.3.8.post20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

wordllama-0.3.8.post20-cp39-cp39-macosx_14_0_arm64.whl (17.2 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

wordllama-0.3.8.post20-cp39-cp39-macosx_13_0_x86_64.whl (17.3 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

File details

Details for the file wordllama-0.3.8.post20.tar.gz.

File metadata

  • Download URL: wordllama-0.3.8.post20.tar.gz
  • Upload date:
  • Size: 17.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for wordllama-0.3.8.post20.tar.gz
Algorithm Hash digest
SHA256 542ed4f2db659b877fd552ae80705bc421df44d22f7fa93f8792d82fa5d58186
MD5 68b054e88fc4d237404fc958ec80a8fc
BLAKE2b-256 3c94a666cfbbc798065528cd7bb9001c69f7e4b78b8c118f1946f917ba126619

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6a912cb4a00ed3cc3f0031e11e930344b67c0a4163a9c15f0ae2911c5d41e481
MD5 8d1298d4f4fc4fb28eb7faa2bdd2c287
BLAKE2b-256 91b87d4d900e4331f60ce996342a7a29c92507b6b4c9146cd9908a6a981409ed

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e1542dfb10d1143627a95fdbd8444b3f9bf84811887801790bfdf55db25f213
MD5 f6a4eb358339e1be75a578e87c3806fc
BLAKE2b-256 8fa8b946eb95642f4ae102f114f913edca27734c424878a8d2bcf2ac72043cdb

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1ca32767572c4c639198c9b6ea5eb753ce0f92636a51c1e15b119695976f910f
MD5 254620993b249ff47cce6cfc5437896f
BLAKE2b-256 2be1cfbbba7ac3805eff8924b19a7ba5d086c1dd12d5671554cff904319ed504

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 86af65a8fc4dbc4ede7589e29a917fdd164a0ab1b265d46b959f691f1be24ea8
MD5 d2f579c6979912b41bdd1708803c8f90
BLAKE2b-256 ed04803d7f41e2100fdf0e0d38a80eb3dd052ab82d1b6293d050edea69894235

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 66013aa16067c67d85dd76c271ba9cde142f5d2f136f34da05249b8699aff12b
MD5 41fc8a0612b1f21a1c7ad4670fddcefe
BLAKE2b-256 ab45ff3249d9ec7e0a1ee7ec6279b4ee570ce0422cdafc68f675f95da12fbfe4

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8181c6ad1d172dbd3442dce527742eebd99d8fa04c6e41c51240cd9f05469b3f
MD5 be9bfdaa2583ce380f3298e670aca4de
BLAKE2b-256 27b4f9f2da66cbd4e6a972732760cdf876b3d5fe890b84dec7e4994fc27ac273

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 45e52c0e0c719eded24851179108857501b55a000133c86401530e464784a829
MD5 5df4d0278b2270b0ad8d9c354eea1abb
BLAKE2b-256 fb324a814640127e94aee9f40e1b4ddaa8cecab686ea9f2c0503494e319aacda

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c3b324bfed5a14c8bcdd847a62084edfedde3399cf11b0931186f3fb96f662f6
MD5 2ebeed405bfcadd8058d10e3ae901a37
BLAKE2b-256 feaad8b72cd9412986ed2a485d2b53daf63708ba64638edf9233288740e8cc01

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 62b004b4637a715719dbaa78f8c5d343f22a6b8438de6fc86d50559f2caadd51
MD5 b0b65687e9b9971e4372fcd6aa15c742
BLAKE2b-256 58e6217bd3f8b93413d26a59e58b22acea9ea930a9c8dcb65ef8891c6573308c

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcd418b0455126842f82ba1967119eef192da11ebe4c37f92e8402f3885de952
MD5 d712e29628d10a3832730ba8568cbb92
BLAKE2b-256 46ed611474da78b359121ff44d50a5e717899e841038e7ecb71ec2341611f32c

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f5f8336b1ef3377fcd5989c59083b844b461aa0febdf638784450edf2267864a
MD5 773f6d2a21afb799101a7be870bdbd11
BLAKE2b-256 1ad62926926e4da33397b2ef5b21c67798a712e26f611c9485f2c5a13469a3a0

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a8f3c563b5591b0fc9c0435202128e144e43abe2c1b6db38886917693c82c62f
MD5 dd18944a5106ae021d4a49f0b099d3ed
BLAKE2b-256 7fc17510f8768161e66273024350c17bfcbe22386055285458959d5af6a2d993

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 17e7bd247c65d1eeebae8f21944440c9ff7929da84cad2b5e924ce22317c244d
MD5 5cc6d834f96c818b95bb2d36f0703137
BLAKE2b-256 23609e2822aac17a50547de5e28927e7d824bb2c3f99bb4286766b50e918e70a

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 677dd345567c26a1619a52e30ca63dd787a6ad5a01af76457b9413e395de594d
MD5 3e6ee598c954d39036a032b8ada1861e
BLAKE2b-256 dd902666b22fbecd903d63866a2e4f198377f696562ab7df4554346eee29820a

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1ab545b0efb05c6f59ff88b9b825dc2655893b99760ead7a8f47f4bd2445a4f6
MD5 638c4736ef5bcd2475ccc6c017313a47
BLAKE2b-256 8f0b11ce24dd2adf31fca07fd88aa927e8c090e04f9d2f21d6937c0849e9750e

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d0aaf29b00aed39dc3f47d640aa4ecda811e0baeb8d11f7dedcd556c966fe590
MD5 0f9af33e5f70a036c2980a0962b762c4
BLAKE2b-256 b2638c18e92be99ae22176c6133b3d30eb8652b025bcf4efb29249c889bd0d66

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1ed5e4ef24ec3b5c7543faa3637528ca8b6a4b88455d7d9b7754103130b780b6
MD5 0b9b08d8694a9e6132c12d19698ebc32
BLAKE2b-256 4068331eb93f469a693c27cdc11e8672f77fe4ec6ac1e4b0d2152f4abca63a01

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6824a43ecd22420d189d762eeb7ae76fad9fc860ab71d1e3e7d43ce7c28a322f
MD5 2de4e94930062ac894e04700d3e05b66
BLAKE2b-256 d6f83c3e592ca15bb34c95355ac9c9b81e7933dbc250794d4f38176cc134ce23

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 00a8879331aa652f4eca5e8e2ff9ec782533fe16b02f92c6b8bff7c4f16a4cd4
MD5 f789d7904d6169ff78c0899f70548e38
BLAKE2b-256 6adc017d8bf2e18d97af420d09c3fab0c4a0801a703d30b0dbd7210bd45659f6

See more details on using hashes here.

File details

Details for the file wordllama-0.3.8.post20-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for wordllama-0.3.8.post20-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 60196b042959adb5f3712dd003ba96a0013abd6dbc3da1a035757911231a1c90
MD5 77d2a9fb1eac457b3d6ac9cecbc10b6c
BLAKE2b-256 585da6a3b9d23a956514358e8f46fe085c5481912a6caabe5c35f2868d5fc18e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page