ONNX Runtime generate() C#-API
Hinweis: Diese API befindet sich in der Vorschau und kann sich ändern.
- Übersicht
- Model-Klasse
- Tokenizer-Klasse
- TokenizerStream-Klasse
- GeneratorParams-Klasse
- Generator-Klasse
- Sequences-Klasse
- Adapter-Klasse
Ü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 erstellteAdapter-ObjektadapterName: 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 FestplatteadapterName: 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.