Python API
Hinweis: Diese API befindet sich in der Vorschau und kann sich ändern.
- Installieren und importieren
- Model-Klasse
- Tokenizer-Klasse
- TokenizerStream-Klasse
- GeneratorParams-Klasse
- Generator-Klasse
- Adapter-Klasse
Installieren und importieren
Die Python-API wird über das Python-Paket onnxruntime-genai bereitgestellt.
pip install onnxruntime-genai
import onnxruntime_genai
Model-Klasse
Modell laden
Lädt das/die ONNX-Modell(e) und die Konfiguration aus einem Ordner auf der Festplatte.
onnxruntime_genai.Model(model_folder: str) -> onnxruntime_genai.Model
Parameter
model_folder: Speicherort von Modell und Konfiguration auf der Festplatte
Rückgabewerte
onnxruntime_genai.Model
Generate-Methode
onnxruntime_genai.Model.generate(params: GeneratorParams) -> numpy.ndarray[int, int]
Parameter
params: (Erforderlich) Erstellt mit der MethodeGeneratorParams.
Rückgabewerte
numpy.ndarray[int, int]: Ein zweidimensionales NumPy-Array mit Dimensionen, die der Größe des übergebenen Batches und der maximalen Länge der Token-Sequenz entsprechen.
Gerätetyp
Gibt den Gerätetyp zurück, auf dem das Modell konfiguriert ist.
onnxruntime_genai.Model.device_type
Rückgabewerte
str: Ein String, der das Gerät beschreibt, auf dem das geladene Modell ausgeführt wird
Tokenizer-Klasse
Tokenizer-Objekt erstellen
onnxruntime_genai.Model.Tokenizer(model: onnxruntime_genai.Model) -> onnxruntime_genai.Tokenizer
Parameter
model: (Erforderlich) Das Modell, das vonModel()geladen wurde
Rückgabewerte
Tokenizer: Das Tokenizer-Objekt
Kodieren
onnxruntime_genai.Tokenizer.encode(text: str) -> numpy.ndarray[numpy.int32]
Parameter
text: (Erforderlich)
Rückgabewerte
numpy.ndarray[numpy.int32]: Ein Array von Tokens, das den Prompt repräsentiert
Dekodieren
onnxruntime_genai.Tokenizer.decode(tokens: numpy.ndarry[int]) -> str
Parameter
numpy.ndarray[numpy.int32]: (Erforderlich) Eine Sequenz von generierten Tokens
Rückgabewerte
str: Die dekodierten generierten Tokens
Batch kodieren
onnxruntime_genai.Tokenizer.encode_batch(texts: list[str]) -> numpy.ndarray[int, int]
Parameter
texts: Eine Liste von Eingaben
Rückgabewerte
numpy.ndarray[int, int]: Der Batch von tokenisierten Strings
Batch dekodieren
onnxruntime_genai.Tokenize.decode_batch(tokens: [[numpy.int32]]) -> list[str]
Parameter
- tokens
Rückgabewerte
texts: Ein Batch von dekodiertem Text
Tokenizer-Dekodierungsstream erstellen
onnxruntime_genai.Tokenizer.create_stream() -> TokenizerStream
Parameter
Keine
Rückgabewerte
onnxruntime_genai.TokenizerStream Das TokenizerStream-Objekt
TokenizerStream-Klasse
Diese Klasse sammelt den nächsten anzeigbaren String (gemäß dem Vokabular des Tokenizers).
Decode-Methode
onnxruntime_genai.TokenizerStream.decode(token: int32) -> str
Parameter
token: (Erforderlich) Ein zu dekodierender Token
Rückgabewerte
str: Wenn ein anzeigbarer String angesammelt wurde, gibt diese Methode ihn zurück. Andernfalls gibt diese Methode einen leeren String zurück.
GeneratorParams-Klasse
GeneratorParams-Objekt erstellen
onnxruntime_genai.GeneratorParams(model: Model) -> GeneratorParams
Pad-Token-ID-Mitglied
onnxruntime_genai.GeneratorParams.pad_token_id
EOS-Token-ID-Mitglied
onnxruntime_genai.GeneratorParams.eos_token_id
vocab_size-Mitglied
onnxruntime_genai.GeneratorParams.vocab_size
input_ids-Mitglied
onnxruntime_genai.GeneratorParams.input_ids: numpy.ndarray[numpy.int32, numpy.int32]
Modelleingabe setzen
onnxruntime_genai.GeneratorParams.set_model_input(name: str, value: [])
Set-Search-Options-Methode
onnxruntime_genai.GeneratorParams.set_search_options(options: dict[str, Any])
Graph-Erfassung mit maximaler Batch-Größe versuchen
onnxruntime_genai.GeneratorParams.try_graph_capture_with_max_batch_size(max_batch_size: int)
Generator-Klasse
Generator erstellen
onnxruntime_genai.Generator(model: Model, params: GeneratorParams) -> Generator
Parameter
model: (Erforderlich) Das Modell, das für die Generierung verwendet wirdparams: (Erforderlich) Der Parametersatz, der die Generierung steuert
Rückgabewerte
onnxruntime_genai.Generator Das Generator-Objekt
Generierung abgeschlossen
onnxruntime_genai.Generator.is_done() -> bool
Rückgabewerte
Gibt true zurück, wenn alle Sequenzen die maximale Länge erreicht haben oder das Ende der Sequenz erreicht haben.
Logits berechnen
Führt das Modell für eine Iteration aus.
onnxruntime_genai.Generator.compute_logits()
Ausgabe abrufen
Gibt eine Ausgabe des Modells zurück.
onnxruntime_genai.Generator.get_output(str: name) -> numpy.ndarray
Parameter
name: der Name der Modellausgabe
Rückgabewerte
numpy.ndarray: Ein mehrdimensionales Array der Modellausgaben. Die Form des Arrays entspricht der Form der Ausgabe.
Beispiel
Der folgende Code gibt die Ausgabe-Logits eines Modells zurück.
logits = generator.get_output("logits")
Nächsten Token generieren
Berechnet den nächsten Batch von Tokens unter Verwendung der aktuellen Logits und der angegebenen Generator-Parameter, wobei Top-P-Sampling verwendet wird.
onnxruntime_genai.Generator.generate_next_token()
Nächste Tokens abrufen
onnxruntime_genai.Generator.get_next_tokens() -> numpy.ndarray[numpy.int32]
Rückgabe
numpy.ndarray[numpy.int32]: Die zuletzt generierten Tokens
Sequenz abrufen
onnxruntime_genai.Generator.get_sequence(index: int) -> numpy.ndarray[numpy.int32]
index: (Erforderlich) Der Index der Sequenz im Batch, die zurückgegeben werden soll
Adapter-Klasse
Erstellen
Erstellt ein Adapter-Objekt unter Verwendung eines geladenen Modells.
model = ...
adapters = og.Adapters(model)
Parameter
model: Das Modell, mit dem die Adapter verwendet werden sollen
Rückgabewert
Ein Adapter-Objekt
Laden
Lädt einen Adapter von der Festplatte in ein Adapter-Objekt im Speicher.
onnxruntime_genai.Adapters(file: str, name: str) -> None
Parameter
file: Der Speicherort auf der Festplatte, von dem der Adapter geladen werden sollname: Der Name des Adapters
Rückgabewert
Keine
Aktiven Adapter setzen
Legt den aktiven Adapter für ein Generator-Objekt fest.
onnxruntime_genai.Generator(adapters: Generators::Adapters, adapter: str) -> None
Parameter
adapters: Das Adapter-Objekt, in das der identifizierte Adapter geladen wurdeadapter: Der Name des Adapters, der als aktiv gesetzt werden soll
Rückgabewert
Keine