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
prompt = Template("Extract all text from the image. \n image: $img").safe_substitute(
    img=Image.open("photo.jpg")
)
# ✅
from mllm_prompt_template import Template
prompt = Template("Extract all text from the image. \n image: $img").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 = """
这个人是$name, 这是他的自拍照:
$img
$name很可爱对不对
"""

# Substitute text and image variables
prompt = Template(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(prompt_template: str) - Create template
  • 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 Distribution

mllm_prompt_template-1.0.1.tar.gz (4.3 kB view details)

Uploaded Source

File details

Details for the file mllm_prompt_template-1.0.1.tar.gz.

File metadata

  • Download URL: mllm_prompt_template-1.0.1.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for mllm_prompt_template-1.0.1.tar.gz
Algorithm Hash digest
SHA256 7208c62f14398fb1df4cbf2e739f1f25c6455e56c12cb9009a0eb28e87e166b7
MD5 555ce8ae17ced3bd95102c3ff229bb31
BLAKE2b-256 b03e39a2f9d42cf70b805c2f883e7c421ef29bd7cae64f5ef726cab9d7da6e25

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