Python API

Hinweis: Diese API befindet sich in der Vorschau und kann sich ändern.

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 Methode GeneratorParams.

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 von Model() 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 wird
  • params: (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 soll
  • name: 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 wurde
  • adapter: Der Name des Adapters, der als aktiv gesetzt werden soll

Rückgabewert

Keine