ONNX Runtime generate() C#-API

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

Übersicht

Model-Klasse

Konstruktor

public Model(string modelPath)

Generate-Methode

public Sequences Generate(GeneratorParams generatorParams)

Tokenizer-Klasse

Konstruktor

public Tokenizer(Model model)

Encode-Methode

public Sequences Encode(string str)

Encode-Batch-Methode

public Sequences EncodeBatch(string[] strings)

Decode-Methode

public string Decode(ReadOnlySpan<int> sequence)

Decode-Batch-Methode

public string[] DecodeBatch(Sequences sequences)

Create-Stream-Methode

public TokenizerStream CreateStream()

TokenizerStream-Klasse

Decode-Methode

public string Decode(int token)

GeneratorParams-Klasse

Konstruktor

public GeneratorParams(Model model)

Set search option (double)

public void SetSearchOption(string searchOption, double value)

Set search option (bool) Methode

public void SetSearchOption(string searchOption, bool value)

Graph-Erfassung mit maximaler Batch-Größe versuchen

 public void TryGraphCaptureWithMaxBatchSize(int maxBatchSize)

Set input ids Methode

public void SetInputIDs(ReadOnlySpan<int> inputIDs, ulong sequenceLength, ulong batchSize)

Set input sequences Methode

public void SetInputSequences(Sequences sequences)

Set model inputs

public void SetModelInput(string name, Tensor value)

Generator-Klasse

Konstruktor

public Generator(Model model, GeneratorParams generatorParams)

Is done Methode

public bool IsDone()

Compute Logits

public void ComputeLogits()

Generate next token Methode

public void GenerateNextToken()

Sequenz abrufen

public ReadOnlySpan<int> GetSequence(ulong index)

Aktiven Adapter setzen

Legt den aktiven Adapter auf dieser Generatorinstanz fest.

using var model = new Model(modelPath);
using var genParams = new GeneratorParams(model);
using var generator = new Generator(model, genParams);
using var adapters = new Adapters(model);
string adapterName = "..."

generator.SetActiveAdapter(adapters, adapterName);

Parameter

  • adapters: das zuvor erstellte Adapter-Objekt
  • adapterName: der Name des zu aktivierenden Adapters

Rückgabewert

void

Ausnahme

Wirft bei einem Fehler eine Ausnahme.

Sequences-Klasse

Num sequences Mitglied

public ulong NumSequences { get { return _numSequences; } }

[] Operator

public ReadOnlySpan<int> this[ulong sequenceIndex]

Adapter-Klasse

Diese API wird verwendet, um feinabgestimmte Adapter, wie z.B. LoRA-Adapter, zu laden und zu wechseln.

Konstruktor

Erstellt eine Instanz einer Adapterklasse.

using var model = new Model(modelPath);

using var adapters = new Adapters(model);

Parameter

  • model: eine zuvor erstellte Modellklasse

Load Adapter-Methode

Lädt eine Adapterdatei von der Festplatte.

string adapterPath = Path()
string adapterName = ...

adapters.LoadAdapter(adapterPath, adapterName);

Parameter

  • adapterPath: der Pfad zur Adapterdatei auf der Festplatte
  • adapterName: eine Zeichenfolge-Identifikation, die verwendet wird, um den Adapter in nachfolgenden Methoden zu referenzieren

Rückgabewert

void

Unload Adapter-Methode

Entlädt eine Adapterdatei aus dem Speicher.

adapters.UnLoadAdapter(adapterName);

Parameter

  • adapterName: der Name des zu entladenden Adapters

Rückgabewert

void

Ausnahme

Wirft bei einem Fehler eine Ausnahme.