Skip to main content

No project description provided

Project description

📚 Mono-Kit Library Documentation

The mono-kit library provides a unified interface for semantic search over text, audio, and image data using chromadb as the backend. It supports default and custom-trained embedding models and allows both single and batch file indexing.


📦 Installation

Install the library via pip:

pip install mono-kit

🔧 Initialization

Start by initializing a chromadb client:

import chromadb

client = chromadb.PersistentClient(path="path_to_save")

You can use any chromadb client (e.g., EphemeralClient, HttpClient, etc.), not just PersistentClient.

⚠️ Collection Name Constraint: Each of mono_document, mono_audio, and mono_image must use unique collection names. You can reuse a collection name across default and custom models.


📝 Text Search: mono_document

1. Initialize Document Handler

mono_docs = mono_document(client, "unique_text_collection")

2. Text Splitting and Mounting

text = """Your long text block here..."""
docs = mono_docs.text_splitter(text, (150, 200), 20, False)

for id, doc in enumerate(docs):
    mono_docs.mount_document(doc, str(id))
  • (150, 200): Min/max character chunk size
  • 20: Overlap in characters
  • False: If True, will retain sentence boundaries (optional feature)

3. Semantic Search

result = mono_docs.find_similar_documents("search query here", k=3)
print(result)

🔊 Audio Search: mono_audio

1. Initialize Audio Handler

mono_aud = mono_audio(client, "unique_audio_collection")

2. Mount Audio Files

mono_aud.mount_audio("path/to/audio1.mp3")
mono_aud.mount_audio("path/to/audio2.mp3")

3. Batch Mounting

mono_aud.mount_audio_batch("path/to/audio_directory")

4. Find Similar Audio

result = mono_aud.find_similar_audio("path/to/query.mp3", k=3)
print(result)

✅ With Custom Audio Model

1. Train Custom Audio Model

x = "path/to/reference_audio"
y = "path/to/target_audio"
mono_aud.create_audio_model(directory_x=x, directory_y=y)

2. Mount and Search with Custom Model

model_path = "custom_trained_audio_embedding_model/audio_model.keras"

mono_aud.mount_audio("audio.mp3", model_path=model_path)
mono_aud.mount_audio_batch("audio_directory", model_path=model_path)

result = mono_aud.find_similar_audio("query.mp3", k=2, model_path=model_path)
print(result)

🖼️ Image Search: mono_image

1. Initialize Image Handler

mono_img = mono_image(client, "unique_image_collection")

2. Mount Images

mono_img.mount_image("path/to/image.jpg")

3. Batch Mounting

mono_img.mount_image_batch("path/to/image_directory")

4. Find Similar Images

result = mono_img.find_similar_image("path/to/query_image.jpg", k=3)
print(result)

✅ With Custom Image Model

1. Train Custom Image Model

x = "path/to/reference_images"
y = "path/to/target_images"
mono_img.create_image_model(directory_x=x, directory_y=y)

2. Mount and Search with Custom Model

model = "/path/to/custom_trained_image_embedding_model/image_model.keras"

mono_img.mount_image_batch("image_directory", model_path=model)

result = mono_img.find_similar_image("query.jpg", k=3, model_path=model)
print(result)


✅ Summary of Key Functions

Operation Document Audio Image
Mount file mount_document mount_audio mount_image
Mount batch mount_audio_batch mount_image_batch
Similarity search find_similar_documents find_similar_audio find_similar_image
Train custom model create_audio_model create_image_model
Use custom model via model_path via model_path

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

mono_kit-0.1.1.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

mono_kit-0.1.1-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file mono_kit-0.1.1.tar.gz.

File metadata

  • Download URL: mono_kit-0.1.1.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for mono_kit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 82edbf173b241dddf5e4bfa79c88e34c14ab0ff9009355cef31a24e63606c916
MD5 5c91c5ffce2afc63e6a68963cf75358a
BLAKE2b-256 28d636eb004022511a752b71efa1bbda0c9446829d205dca6b5fcc2bd5b4bc9e

See more details on using hashes here.

File details

Details for the file mono_kit-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: mono_kit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for mono_kit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1255c6b7e4f76cf3d98e97d1c8cf742d4945b384ca6b144b82b6e7ea57acaf9e
MD5 d239873544fb96f348cf283b10566555
BLAKE2b-256 920ed6683dd3df89c0735403aebeeb5c2b5753c8d1d75482935858e33ee27ca6

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