Skip to main content

Core shared libraries for multimodal Kani extensions.

Project description

kani-multimodal-core

This package contains core extensions for using Kani with multimodal language models.

Installation

kani-multimodal-core should be installed alongside the core kani install using an extra:

$ pip install "kani[multimodal]"

However, you can also explicitly specify a version and install the core package itself:

$ pip install kani-multimodal-core

Features

This package provides the core multimodal extensions that engine implementations can use -- it does not provide any engine implementations on its own.

The package adds support for:

  • Images (kani.ext.multimodal_core.ImagePart)
  • Audio (kani.ext.multimodal_core.AudioPart)
  • Video (kani.ext.multimodal_core.VideoPart)
  • Other binary files, such as PDFs (kani.ext.multimodal_core.BinaryFilePart)

When installed, these core kani engines will automatically use the multimodal parts:

  • OpenAIEngine
  • AnthropicEngine
  • GoogleAIEngine

Additionally, the core kani chat_in_terminal method will support attaching multimodal data from a local drive or from the internet using @/path/to/media or @https://example.com/media.

Message Parts

The main feature you need to be familiar with is the MessagePart, the core way of sending messages to the engine. To do this, when you call the kani round methods (i.e. Kani.chat_round or Kani.full_round or their str variants), pass a list of multimodal parts rather than a string:

from kani import Kani
from kani.engines.openai import OpenAIEngine
from kani.ext.multimodal_core import ImagePart

engine = OpenAIEngine(model="gpt-4.1-nano")
ai = Kani(engine)

# notice how the arg is a list of parts rather than a single str!
msg = await ai.chat_round_str([
    "Please describe this image:",
    ImagePart.from_file("path/to/image.png")
])
print(msg)

See the docs (https://kani-multimodal-core.readthedocs.io) for more information about the provided message parts.

Terminal Utility

When installed, kani-multimodal-core augments the chat_in_terminal utility provided by kani.

This utility allows you to provide multimodal media on your disk or on the internet inline by prepending it with an @ symbol:

>>> from kani import chat_in_terminal
>>> chat_in_terminal(ai)
USER: Please describe this image: @path/to/image.png and also this one: @https://example.com/image.png

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

kani_multimodal_core-0.0.4.tar.gz (47.0 MB view details)

Uploaded Source

Built Distribution

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

kani_multimodal_core-0.0.4-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file kani_multimodal_core-0.0.4.tar.gz.

File metadata

  • Download URL: kani_multimodal_core-0.0.4.tar.gz
  • Upload date:
  • Size: 47.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kani_multimodal_core-0.0.4.tar.gz
Algorithm Hash digest
SHA256 5d2965d6689a33ee6dd0a0cc117cc1339bd625bdbb541a39aef25466ca93db7b
MD5 1504e99ab24771fa35798d4649fc7491
BLAKE2b-256 adb0e2d3c047a46129fef7c1af361216878ded32c51d8dc60d61cf9819072709

See more details on using hashes here.

Provenance

The following attestation bundles were made for kani_multimodal_core-0.0.4.tar.gz:

Publisher: pythonpublish.yml on zhudotexe/kani-multimodal-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kani_multimodal_core-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for kani_multimodal_core-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 73cb73ad5278b216b23173b3e687b767f016447eb5a46d7d0499ceaa0ae89fdf
MD5 6edb425ddcd13024e05ea23683882f34
BLAKE2b-256 819641acafec347676c2daf7366e4acadf8a961cfe52e052337a113578ca9a65

See more details on using hashes here.

Provenance

The following attestation bundles were made for kani_multimodal_core-0.0.4-py3-none-any.whl:

Publisher: pythonpublish.yml on zhudotexe/kani-multimodal-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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