ONNX Runtime generate() C# API

注意:此 API 处于预览状态,可能会发生更改。

概述

Model 类

构造函数

public Model(string modelPath)

Generate 方法

public Sequences Generate(GeneratorParams generatorParams)

Tokenizer 类

构造函数

public Tokenizer(Model model)

Encode 方法

public Sequences Encode(string str)

Encode batch 方法

public Sequences EncodeBatch(string[] strings)

Decode 方法

public string Decode(ReadOnlySpan<int> sequence)

Decode batch 方法

public string[] DecodeBatch(Sequences sequences)

Create stream 方法

public TokenizerStream CreateStream()

TokenizerStream 类

Decode 方法

public string Decode(int token)

GeneratorParams 类

构造函数

public GeneratorParams(Model model)

设置搜索选项(双精度)

public void SetSearchOption(string searchOption, double value)

设置搜索选项(布尔值)方法

public void SetSearchOption(string searchOption, bool value)

尝试使用最大批处理大小捕获图形

 public void TryGraphCaptureWithMaxBatchSize(int maxBatchSize)

设置输入 ID 方法

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

设置输入序列方法

public void SetInputSequences(Sequences sequences)

设置模型输入

public void SetModelInput(string name, Tensor value)

Generator 类

构造函数

public Generator(Model model, GeneratorParams generatorParams)

Is done 方法

public bool IsDone()

计算 logits

public void ComputeLogits()

Generate next token 方法

public void GenerateNextToken()

获取序列

public ReadOnlySpan<int> GetSequence(ulong index)

设置活动适配器

在此 Generator 实例上设置活动适配器。

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);

参数

  • adapters: 先前创建的 Adapter 对象
  • adapterName: 要激活的适配器的名称

返回值

void

异常

出错时抛出异常。

Sequences 类

Num sequences 成员

public ulong NumSequences { get { return _numSequences; } }

[] 运算符

public ReadOnlySpan<int> this[ulong sequenceIndex]

Adapter 类

此 API 用于加载和切换微调适配器,例如 LoRA 适配器。

构造函数

构造 Adapter 类的实例。

using var model = new Model(modelPath);

using var adapters = new Adapters(model);

参数

  • model: 先前构造的模型类

Load Adapter 方法

从磁盘加载适配器文件。

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

adapters.LoadAdapter(adapterPath, adapterName);

参数

  • adapterPath: 磁盘上适配器文件的路径
  • adapterName: 用于在后续方法中引用适配器的字符串标识符

返回值

void

Unload Adapter 方法

从内存中卸载适配器文件。

adapters.UnLoadAdapter(adapterName);

参数

  • adapterName: 要卸载的适配器的名称

返回值

void

异常

出错时抛出异常。