Skip to main content

A Python template library for Multimodal LLMs that extends string.Template to support image substitution in prompts

Project description

MLLM Prompt Template

A Python template library for Multimodal LLMs(MLLMs) that extends Python's string.Template to support image substitution in prompts.

# ❌
from string import Template
template = Template("Extract all text from the image. \n image: $img")
prompt = template.safe_substitute(
    img=Image.open("photo.jpg")
)
# ✅
from mllm_prompt_template import Template
template = Template("Extract all text from the image. \n image: $img")
prompt = template.safe_substitute(
    img=Image.open("photo.jpg")
)

Installation

pip install mllm-prompt-template

Usage

from mllm_prompt_template import Template
from PIL import Image

# Create template with image placeholders
prompt_template = Template("""
这个人是$name, 这是他的自拍照:
$img
$name很可爱对不对
""")

# Substitute text and image variables
prompt = prompt_template.safe_substitute(
    name="co-gy",
    img=Image.open("photo.jpg")
)

# Convert to OpenAI-style message format
messages = prompt.to_messages()

# Call MLLM (example with OpenAI-compatible API)
import openai

client = openai.OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")

response = client.chat.completions.create(
    model="Qwen3-VL-8B-Instruct",
    messages=messages,
    max_tokens=500
)

print(response.choices[0].message.content)

API

  • Template(template: str) - Create template
  • substitute(**kwargs)/safe_substitute(**kwargs) - Substitute variables (supports strings and PIL Images)
  • to_messages() - Convert to OpenAI-style message format

Requirements

  • Python >= 3.8
  • Pillow >= 9.0.0

License

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mllm_prompt_template-2.0.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file mllm_prompt_template-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mllm_prompt_template-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83b8e24e73687f5effac91dba0eac55eafaf85aad3504a6e80b67e6c9c3e17a3
MD5 812c4c53b45b327250f83e994e428722
BLAKE2b-256 aec882935bc9146a4f01d4555a38e630217c6049f4275e081e8f22524336493f

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