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)
设置搜索选项 (double)
public void SetSearchOption(string searchOption, double value)
设置搜索选项 (bool) 方法
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()
生成下一个 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 类
序列数量成员
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
异常
出错时抛出异常。