API-ja Python e LiteRT-LM për Linux dhe macOS (mbështetja për Windows do të vijë së shpejti). Mbështeten veçori të tilla si multimodaliteti , përdorimi i mjeteve dhe përshpejtimi i GPU-së .
Hyrje
Ja një shembull i një aplikacioni terminal chat të ndërtuar me API-n Python:
import litert_lm
litert_lm.set_min_log_severity(litert_lm.LogSeverity.ERROR) # Hide log for TUI app
with litert_lm.Engine("path/to/model.litertlm") as engine:
with engine.create_conversation() as conversation:
while True:
user_input = input("\n>>> ")
for chunk in conversation.send_message_async(user_input):
print(chunk["content"][0]["text"], end="", flush=True)

Fillimi
LiteRT-LM është i disponueshëm si një bibliotekë Python. Mund ta instaloni versionin e përditshëm nga PyPI:
# Using pip
pip install litert-lm-api-nightly
# Using uv
uv pip install litert-lm-api-nightly
Inicializoni Motorin
Engine është pika e hyrjes në API. Ai merret me ngarkimin e modelit dhe menaxhimin e burimeve. Përdorimi i tij si menaxher konteksti (me deklaratën with ) siguron që burimet vendase të publikohen menjëherë.
Shënim: Nisja e motorit mund të zgjasë disa sekonda për të ngarkuar modelin.
import litert_lm
# Initialize with the model path and optionally specify the backend.
# backend can be Backend.CPU (default) or Backend.GPU.
with litert_lm.Engine(
"path/to/your/model.litertlm",
backend=litert_lm.Backend.GPU,
# Optional: Pick a writable dir for caching compiled artifacts.
# cache_dir="/tmp/litert-lm-cache"
) as engine:
# ... Use the engine to create a conversation ...
pass
Krijo një bisedë
Një Conversation menaxhon gjendjen dhe historikun e ndërveprimit tuaj me modelin.
# Optional: Configure system instruction and initial messages
messages = [
{"role": "system", "content": [{"type": "text", "text": "You are a helpful assistant."}]},
]
# Create the conversation
with engine.create_conversation(messages=messages) as conversation:
# ... Interact with the conversation ...
pass
Dërgimi i mesazheve
Ju mund të dërgoni mesazhe në mënyrë sinkrone ose asinkrone (transmetim).
Shembull Sinkron:
# Simple string input
response = conversation.send_message("What is the capital of France?")
print(response["content"][0]["text"])
# Or with full message structure
# response = conversation.send_message({"role": "user", "content": "..."})
Shembull asinkron (transmetimi):
# sendMessageAsync returns an iterator of response chunks
stream = conversation.send_message_async("Tell me a long story.")
for chunk in stream:
# Chunks are dictionaries containing pieces of the response
for item in chunk.get("content", []):
if item.get("type") == "text":
print(item["text"], end="", flush=True)
print()
🔴 E re: Parashikimi me shumë shenja (MTP)
Parashikimi i Shumë-Shenjave (MTP) është një optimizim i performancës që përshpejton ndjeshëm shpejtësitë e dekodimit. MTP rekomandohet universalisht për të gjitha detyrat në backend-et e GPU-së.
Për të përdorur MTP, aktivizoni dekodimin spekulativ kur inicializoni motorin.
import litert_lm
# Enable MTP by setting enable_speculative_decoding=True
with litert_lm.Engine(
"path/to/your/model.litertlm",
backend=litert_lm.Backend.GPU,
enable_speculative_decoding=True,
) as engine:
with engine.create_conversation() as conversation:
response = conversation.send_message("What is the capital of France?")
print(response["content"][0]["text"])
Multi-modalitet
# Initialize with vision and/or audio backends if needed
with litert_lm.Engine(
"path/to/multimodal_model.litertlm",
audio_backend=litert_lm.Backend.CPU,
vision_backend=litert_lm.Backend.GPU,
) as engine:
with engine.create_conversation() as conversation:
user_message = {
"role": "user",
"content": [
{"type": "audio", "path": "/path/to/audio.wav"},
{"type": "text", "text": "Describe this audio."},
],
}
response = conversation.send_message(user_message)
print(response["content"][0]["text"])
Përcaktimi dhe Përdorimi i Mjeteve
Ju mund të përcaktoni funksionet e Python si mjete që modeli mund t'i thërrasë automatikisht.
def add_numbers(a: float, b: float) -> float:
"""Adds two numbers.
Args:
a: The first number.
b: The second number.
"""
return a + b
# Register the tool in the conversation
tools = [add_numbers]
with engine.create_conversation(tools=tools) as conversation:
# The model will call add_numbers automatically if it needs to sum values
response = conversation.send_message("What is 123 + 456?")
print(response["content"][0]["text"])
LiteRT-LM përdor docstring-un e funksionit dhe këshillat e tipit për të gjeneruar skemën e mjetit për modelin.