コンテンツにスキップ

C# API

注意: この API はプレビュー版であり、変更される可能性があります。

このドキュメントでは、ONNX Runtime GenAI の C# API について説明します。 以下に、主要なクラスとメソッド、およびそれぞれのコードスニペットと説明を示します。


指定されたモデルパスから新しいモデルを初期化します。

public Model(string modelPath)

指定されたジェネレータパラメータを使用して出力シーケンスを生成します。

public Sequences Generate(GeneratorParams generatorParams)

設定パスから新しい設定オブジェクトを初期化します。

public Config(string configPath)

設定からすべてのプロバイダーをクリアします。

public void ClearProviders()

設定にプロバイダーを追加します。

public void AppendProvider(string provider)

設定でプロバイダーオプションを設定します。

public void SetProviderOption(string provider, string name, string value)

設定に JSON 文字列を重ね合わせます。

public void Overlay(string json)

指定されたモデルのトークナイザーを初期化します。

public Tokenizer(Model model)

文字列をエンコードし、エンコードされたシーケンスを返します。

public Sequences Encode(string str)

文字列のバッチをエンコードし、エンコードされたシーケンスを返します。

public Sequences EncodeBatch(string[] strings)

トークンのシーケンスを文字列にデコードします。

public string Decode(ReadOnlySpan<int> sequence)

シーケンスのバッチを文字列の配列にデコードします。

public string[] DecodeBatch(Sequences sequences)

チャットテンプレートをメッセージとツールに適用します。

public string ApplyChatTemplate(string template, string messages, string tools, bool addGenerationPrompt)

増分デコード用のトークナイザーストリームを作成します。

public TokenizerStream CreateStream()

ストリーム内の単一のトークンをデコードし、生成された文字列チャンクを返します。

public string Decode(int token)

指定されたモデルのジェネレータパラメータを初期化します。

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)

指定されたモデルとジェネレータパラメータからジェネレータを初期化します。

public Generator(Model model, GeneratorParams generatorParams)

生成が完了したかどうかを確認します。

public bool IsDone()

現在の状態のロジットを計算します。

public void ComputeLogits()

次のトークンを生成します。

public void GenerateNextToken()

指定されたインデックスで生成されたシーケンスを返します。

public ReadOnlySpan<int> GetSequence(ulong index)

この Generator インスタンスでアクティブなアダプターを設定します。

public void SetActiveAdapter(Adapters adapters, string adapterName)

パラメータ

  • adapters: 以前に作成された Adapters オブジェクト
  • adapterName: アクティブにするアダプターの名前

戻り値

void

例外

エラー時にスローします。


失敗した操作のエラーメッセージを取得します。

public string Error { get; }

操作が成功したかどうかを示します。

public bool Success { get; }

シーケンスの数を取得します。

public ulong NumSequences { get; }

指定されたインデックスのシーケンスを取得します。

public ReadOnlySpan<int> this[ulong sequenceIndex]

バッファからテンソルを初期化します。

public Tensor(Array data, long[] shape, ElementType elementType)

基になるデータバッファを取得します。

public Array Data { get; }

テンソルの形状を取得します。

public long[] Shape { get; }

テンソルの要素タイプを取得します。

public ElementType ElementType { get; }

ブール値のログオプションを設定します。

public static void SetLogBool(string name, bool value)

文字列のログオプションを設定します。

public static void SetLogString(string name, string value)

現在の GPU デバイス ID を設定します。

public static void SetCurrentGpuDeviceId(int deviceId)

現在の GPU デバイス ID を取得します。

public static int GetCurrentGpuDeviceId()