Skip to main content

Lightopic

This package addresses the specific use case of deploying a BERTopic model that you've trained, and now want to use for transforming new data, e.g. via an API.

This came up for me because I wanted to deploy such a model API but wanted to make the deployment smaller and faster. The BERTopic package is broad, which brings with it a load of dependencies (e.g. torch, a bunch of cuda libraries). So I wrote this as a way to do the transform step only, with a virtual environment that's about 95% smaller than one with the actual BERTopic package.

The main prerequisite is that you need to have trained a BERTopic model separately and have serialised it in a way that's compatible with lightopic. The lightopic package also offers you a way to do that: guidance on how is below. From that point you can instantiate a Lightopic object and use its transform method on new data.

Training and serialising your LightBERTopic model

This is a necessary step: you can't instantiate a Lightopic object without first having trained and serialised your model. To make this part easier the LightBERTopic class is available: this is a child class of bertopic.BERTopic, only with a method added to save_lightopic.

from lightopic.lightbertopic import LightBERTopic
docs = fetch_20newsgroups(subset='all',  remove=('headers', 'footers', 'quotes'))['data']

topic_model = LightBERTopic()
topics, probs = topic_model.fit_transform(docs)
topic_model.save_lightopic("model_directory")

NB. for this to work you must have bertopic installed, which you can do with pip install lightopic[bertopic].

NOTE: this package is still under development, so this required format may (and probably will) change!

Using a Lightopic model

Now the serialised model is ready to use.

from lightopic import Lightopic
topic_model = Lightopic()
topic_model.load("model_directory")
topic_model.transform(embeddings)

This transform step does not rely on BERTopic at all, so it can use the smaller installation you get from pip install lightopic.

Metadata

Release files for lightopic 0.0.6

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

Source distribution (sdist)

Source distribution for lightopic 0.0.6
File Size Uploaded
lightopic-0.0.6.tar.gz 187.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lightopic 0.0.6
File Interpreter ABI Platform
lightopic-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 193.2 kB

Release files / lightopic-0.0.6.tar.gz

Download URL lightopic-0.0.6.tar.gz
Size 187.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1ceb242b1267a3565df9f7e9c242c2bfab7037462634a59ff04baa8d0954c6e5
BLAKE2b-256 checksum
How to use checksums
34be56a29b8c4adf82e762248ea6c8665e2be6fbb7dba54ac61221f0a2a7cc86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 15, 2024.

Transparency log

Release files / lightopic-0.0.6-py3-none-any.whl

Download URL lightopic-0.0.6-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b3de7d5f4f3abc07e8d70bd3e5eb5001cfb26896b5a3e94d67f7202cd06813f
BLAKE2b-256 checksum
How to use checksums
31f415bd9af8c3e08a96ea32e8b2674021de7f8794aa33c6d4e448b1a05f863a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 15, 2024.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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