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
异常
出错时抛出异常。