summaryrefslogtreecommitdiffstats
path: root/WhisperNet/API/iModel.cs
blob: 92688702904d073a1fb3de2bad6ae205673e330d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using ComLight;
using System.ComponentModel;

namespace Whisper
{
	/// <summary>A model in VRAM, loaded from GGML file.</summary>
	/// <remarks>This object doesn't keep any mutable state, and can be safely used from multiple threads concurrently</remarks>
	[ComInterface( "abefb4c9-e8d8-46a3-8747-5afbadef1adb", eMarshalDirection.ToManaged ), CustomConventions( typeof( Internal.NativeLogger ) )]
	public interface iModel: IDisposable
	{
		/// <summary>Create a context to transcribe audio with this model</summary>
		/// <remarks>Don't call this method, use <see cref="ExtensionMethods.createContext(iModel)" /> instead.</remarks>
		[RetValIndex, EditorBrowsable( EditorBrowsableState.Never )]
		Internal.iContext createContextInternal();

		/// <summary>True if this model is multi-lingual</summary>
		bool isMultilingual();

		/// <summary>Retrieve integer IDs of the special tokens defined by the model</summary>
		[RetValIndex]
		SpecialTokens getSpecialTokens();

		/// <summary>Try to resolve integer token ID into string.</summary>
		/// <remarks>Don't call this method, use <see cref="ExtensionMethods.stringFromToken(iModel, int)" /> instead.</remarks>
		IntPtr stringFromTokenInternal( int id );
	}
}