diff --git a/LLama/ChatSession.cs b/LLama/ChatSession.cs index 961f6b6e..26fad9d3 100644 --- a/LLama/ChatSession.cs +++ b/LLama/ChatSession.cs @@ -8,36 +8,73 @@ using System.Threading; namespace LLama { + /// + /// The main chat session class. + /// public class ChatSession { private ILLamaExecutor _executor; private ChatHistory _history; private static readonly string _executorStateFilename = "ExecutorState.json"; private static readonly string _modelStateFilename = "ModelState.st"; + /// + /// The executor for this session. + /// public ILLamaExecutor Executor => _executor; + /// + /// The chat history for this session. + /// public ChatHistory History => _history; + /// + /// The history transform used in this session. + /// public IHistoryTransform HistoryTransform { get; set; } = new LLamaTransforms.DefaultHistoryTransform(); + /// + /// The input transform pipeline used in this session. + /// public List InputTransformPipeline { get; set; } = new(); + /// + /// The output transform used in this session. + /// public ITextStreamTransform OutputTransform = new LLamaTransforms.EmptyTextOutputStreamTransform(); + /// + /// + /// + /// The executor for this session public ChatSession(ILLamaExecutor executor) { _executor = executor; _history = new ChatHistory(); } + /// + /// Use a custom history transform. + /// + /// + /// public ChatSession WithHistoryTransform(IHistoryTransform transform) { HistoryTransform = transform; return this; } + /// + /// Add a text transform to the input transform pipeline. + /// + /// + /// public ChatSession AddInputTransform(ITextTransform transform) { InputTransformPipeline.Add(transform); return this; } + /// + /// Use a custom output transform. + /// + /// + /// public ChatSession WithOutputTransform(ITextStreamTransform transform) { OutputTransform = transform; @@ -155,6 +192,13 @@ namespace LLama History.Messages.AddRange(HistoryTransform.TextToHistory(AuthorRole.Assistant, sb.ToString()).Messages); } + /// + /// Get the response from the LLama model with chat histories asynchronously. + /// + /// + /// + /// + /// public async IAsyncEnumerable ChatAsync(string prompt, InferenceParams? inferenceParams = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) { foreach (var inputTransform in InputTransformPipeline) diff --git a/LLama/Common/ChatHistory.cs b/LLama/Common/ChatHistory.cs index d62dac69..fecf9004 100644 --- a/LLama/Common/ChatHistory.cs +++ b/LLama/Common/ChatHistory.cs @@ -12,6 +12,9 @@ namespace LLama.Common Assistant = 2, } // copy from semantic-kernel + /// + /// The chat history class + /// public class ChatHistory { diff --git a/LLama/Common/SessionParams.cs b/LLama/Common/SessionParams.cs deleted file mode 100644 index c0d20308..00000000 --- a/LLama/Common/SessionParams.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace LLama.Common -{ - public class SessionParams - { - public string? UserName { get; set; } - public string? AssistantName { get; set; } - public string? SystemName { get; set; } - /// - /// The prefix of input text. Note that this only works when you - /// use the API with text as input. - /// - public string? InputPrefix { get; set; } - /// - /// The suffix of input text. Note that this only works when you - /// use the API with text as input. - /// - public string? InputSuffix { get; set; } - /// - /// Whether to trim the names from the text output at the start and end. - /// - public bool TrimNamesFromOutput { get; set; } = false; - } -} diff --git a/LLama/LLamaEmbedder.cs b/LLama/LLamaEmbedder.cs index a9983ce0..c1733eae 100644 --- a/LLama/LLamaEmbedder.cs +++ b/LLama/LLamaEmbedder.cs @@ -8,6 +8,9 @@ using LLama.Common; namespace LLama { + /// + /// The embedder for LLama, which supports getting embeddings from text. + /// public class LLamaEmbedder : IDisposable { SafeLLamaContextHandle _ctx; diff --git a/LLama/LLamaExecutorBase.cs b/LLama/LLamaExecutorBase.cs index 4756cef2..9ea2ca85 100644 --- a/LLama/LLamaExecutorBase.cs +++ b/LLama/LLamaExecutorBase.cs @@ -13,20 +13,64 @@ using System.Threading; namespace LLama { using llama_token = Int32; + /// + /// The base class for stateful LLama executors. + /// public abstract class StatefulExecutorBase : ILLamaExecutor { + /// + /// The loaded model for this executor. + /// protected readonly LLamaModel _model; + /// + /// The logger used by this executor. + /// protected ILLamaLogger? _logger; + /// + /// The tokens that were already processed by the model. + /// protected int _pastTokensCount; // n_past + /// + /// The tokens that were consumed by the model during the current inference. + /// protected int _consumedTokensCount; // n_consume + /// + /// + /// protected int _n_session_consumed; + /// + /// + /// protected int _n_matching_session_tokens; + /// + /// The path of the session file. + /// protected string? _pathSession; + /// + /// A container of the tokens to be processed and after processed. + /// protected List _embeds = new(); // embd + /// + /// A container for the tokens of input. + /// protected List _embed_inps = new(); + /// + /// + /// protected List _session_tokens = new(); + /// + /// The last tokens generated by the model. + /// protected FixedSizeQueue _last_n_tokens; + /// + /// The mode used by the executor. + /// public LLamaModel Model => _model; + /// + /// + /// + /// + /// protected StatefulExecutorBase(LLamaModel model, ILLamaLogger? logger = null) { _model = model; @@ -39,6 +83,13 @@ namespace LLama _last_n_tokens = new FixedSizeQueue(_model.ContextSize).FillWith(0); } + /// + /// This API is currently not verified. + /// + /// + /// + /// + /// public unsafe StatefulExecutorBase WithSessionFile(string filename) { _pathSession = filename; @@ -94,12 +145,20 @@ namespace LLama return this; } + /// + /// This API has not been verified currently. + /// + /// public void SaveSessionFile(string filename) { var session_token_array = _session_tokens.ToArray(); NativeApi.llama_save_session_file(_model.NativeHandle, filename, session_token_array, (ulong)session_token_array.Length); } + /// + /// After running out of the context, take some tokens from the original prompt and recompute the logits in batches. + /// + /// protected virtual void HandleRunOutOfContext(int tokensToKeep) { // if we run out of context: @@ -116,6 +175,9 @@ namespace LLama _pathSession = string.Empty; } + /// + /// Try to reuse the matching prefix from the session file. + /// protected virtual void TryReuseMathingPrefix() { if (_n_session_consumed < _session_tokens.Count) @@ -146,16 +208,61 @@ namespace LLama } } + /// + /// Decide whether to continue the loop. + /// + /// + /// protected abstract bool GetLoopCondition(InferStateArgs args); + /// + /// Preprocess the inputs before the inference. + /// + /// + /// protected abstract void PreprocessInputs(string text, InferStateArgs args); + /// + /// Do some post processing after the inference. + /// + /// + /// + /// + /// protected abstract bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, out IEnumerable? extraOutputs); + /// + /// The core inference logic. + /// + /// + /// protected abstract void InferInternal(InferenceParams inferenceParams, InferStateArgs args); + /// + /// Save the current state to a file. + /// + /// public abstract void SaveState(string filename); + /// + /// Get the current state data. + /// + /// public abstract ExecutorBaseState GetStateData(); + /// + /// Load the state from data. + /// + /// public abstract void LoadState(ExecutorBaseState data); + /// + /// Load the state from a file. + /// + /// public abstract void LoadState(string filename); + /// + /// Execute the inference. + /// + /// + /// + /// + /// public virtual IEnumerable Infer(string text, InferenceParams? inferenceParams = null, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); @@ -205,6 +312,14 @@ namespace LLama } } } + + /// + /// Execute the inference asynchronously. + /// + /// + /// + /// + /// public virtual async IAsyncEnumerable InferAsync(string text, InferenceParams? inferenceParams = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) { foreach (var result in Infer(text, inferenceParams, cancellationToken)) @@ -218,13 +333,25 @@ namespace LLama /// protected class InferStateArgs { + /// + /// + /// public IList? Antiprompts { get; set; } /// /// Tokens count remained to be used. (n_remain) /// public int RemainedTokens { get; set; } + /// + /// + /// public bool ReturnValue { get; set; } + /// + /// + /// public bool WaitForInput { get; set; } + /// + /// + /// public bool NeedToSaveSession { get; set; } } diff --git a/LLama/LLamaInstructExecutor.cs b/LLama/LLamaInstructExecutor.cs index ba68168c..a2bc9c74 100644 --- a/LLama/LLamaInstructExecutor.cs +++ b/LLama/LLamaInstructExecutor.cs @@ -11,11 +11,20 @@ using System.Text.Json.Serialization; namespace LLama { using llama_token = Int32; + /// + /// The LLama executor for instruct mode. + /// public class InstructExecutor : StatefulExecutorBase { bool _is_prompt_run = true; llama_token[] _inp_pfx; llama_token[] _inp_sfx; + /// + /// + /// + /// + /// + /// public InstructExecutor(LLamaModel model, string instructionPrefix = "\n\n### Instruction:\n\n", string instructionSuffix = "\n\n### Response:\n\n") : base(model) { @@ -23,6 +32,7 @@ namespace LLama _inp_sfx = _model.Tokenize(instructionSuffix, false).ToArray(); } + /// public override ExecutorBaseState GetStateData() { InstructExecutorState state = new() @@ -43,6 +53,7 @@ namespace LLama }; return state; } + /// public override void LoadState(ExecutorBaseState data) { if(data is InstructExecutorState state) @@ -66,6 +77,7 @@ namespace LLama } } + /// public override void SaveState(string filename) { InstructExecutorState state = GetStateData() as InstructExecutorState; @@ -74,6 +86,7 @@ namespace LLama JsonSerializer.Serialize(fs, state); } } + /// public override void LoadState(string filename) { using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) @@ -83,10 +96,12 @@ namespace LLama } } + /// protected override bool GetLoopCondition(InferStateArgs args) { return args.RemainedTokens != 0 || _is_prompt_run; } + /// protected override void PreprocessInputs(string text, InferStateArgs args) { if (_is_prompt_run) @@ -112,6 +127,7 @@ namespace LLama args.RemainedTokens -= line_inp.Count(); } } + /// protected override bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, out IEnumerable? extraOutputs) { extraOutputs = null; @@ -154,6 +170,7 @@ namespace LLama } return false; } + /// protected override void InferInternal(InferenceParams inferenceParams, InferStateArgs args) { if (_embeds.Count > 0) @@ -214,12 +231,24 @@ namespace LLama } } } + /// + /// The desciptor of the state of the instruct executor. + /// public class InstructExecutorState : ExecutorBaseState { + /// + /// Whether the executor is running for the first time (running the prompt). + /// [JsonPropertyName("is_prompt_run")] public bool IsPromptRun { get; set; } + /// + /// Instruction prefix tokens. + /// [JsonPropertyName("inp_pfx")] public llama_token[] InputPrefixTokens { get; set; } + /// + /// Instruction suffix tokens. + /// [JsonPropertyName("inp_sfx")] public llama_token[] InputSuffixTokens { get; set; } } diff --git a/LLama/LLamaInteractExecutor.cs b/LLama/LLamaInteractExecutor.cs index 4964e326..44448aeb 100644 --- a/LLama/LLamaInteractExecutor.cs +++ b/LLama/LLamaInteractExecutor.cs @@ -14,15 +14,23 @@ using System.Threading.Tasks; namespace LLama { using llama_token = Int32; + /// + /// The LLama executor for interactive mode. + /// public class InteractiveExecutor : StatefulExecutorBase { bool _is_prompt_run = true; llama_token[] _llama_token_newline; + /// + /// + /// + /// public InteractiveExecutor(LLamaModel model) : base(model) { _llama_token_newline = Utils.Tokenize(_model.NativeHandle, "\n", false, _model.Encoding).ToArray(); } + /// public override ExecutorBaseState GetStateData() { InteractiveExecutorState state = new() @@ -42,6 +50,7 @@ namespace LLama }; return state; } + /// public override void LoadState(ExecutorBaseState data) { if (data is InteractiveExecutorState state) @@ -61,7 +70,7 @@ namespace LLama else throw new ArgumentException("Invalid state data type."); } - + /// public override void SaveState(string filename) { InteractiveExecutorState state = GetStateData() as InteractiveExecutorState; @@ -70,6 +79,7 @@ namespace LLama JsonSerializer.Serialize(fs, state); } } + /// public override void LoadState(string filename) { using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) @@ -88,6 +98,7 @@ namespace LLama return args.RemainedTokens != 0 && !args.WaitForInput || _is_prompt_run; } + /// protected override void PreprocessInputs(string text, InferStateArgs args) { if (_is_prompt_run) @@ -156,6 +167,7 @@ namespace LLama return false; } + /// protected override void InferInternal(InferenceParams inferenceParams, InferStateArgs args) { if (_embeds.Count > 0) @@ -227,10 +239,19 @@ namespace LLama } } + /// + /// The descriptor of the state of the interactive executor. + /// public class InteractiveExecutorState : ExecutorBaseState { + /// + /// Whether the executor is running for the first time (running the prompt). + /// [JsonPropertyName("is_prompt_run")] public bool IsPromptRun { get; set; } + /// + /// Tokens that represent a new line in with the current model. + /// [JsonPropertyName("llama_token_newline")] public llama_token[] LLamaNewlineTokens { get; set; } } diff --git a/LLama/LLamaModel.cs b/LLama/LLamaModel.cs index ec642795..a4e3d278 100644 --- a/LLama/LLamaModel.cs +++ b/LLama/LLamaModel.cs @@ -13,6 +13,9 @@ using LLama.Common; namespace LLama { using llama_token = Int32; + /// + /// The abstraction of a LLama model, which holds the context in the native library. + /// public class LLamaModel: IDisposable { // TODO: expose more properties. diff --git a/LLama/LLamaQuantizer.cs b/LLama/LLamaQuantizer.cs index ef417524..232d9f28 100644 --- a/LLama/LLamaQuantizer.cs +++ b/LLama/LLamaQuantizer.cs @@ -6,7 +6,10 @@ using System.Text; namespace LLama { - public class LLamaQuantizer + /// + /// The quantizer to quantize the model. + /// + public static class LLamaQuantizer { /// /// Quantize the model. diff --git a/LLama/LLamaStatelessExecutor.cs b/LLama/LLamaStatelessExecutor.cs index 2008bf9c..dfa70edd 100644 --- a/LLama/LLamaStatelessExecutor.cs +++ b/LLama/LLamaStatelessExecutor.cs @@ -20,7 +20,14 @@ namespace LLama { private LLamaModel _model; private byte[] _originalState; + /// + /// The mode used by the executor when running the inference. + /// public LLamaModel Model => _model; + /// + /// + /// + /// The LLama model. public StatelessExecutor(LLamaModel model) { _model = model; @@ -28,6 +35,8 @@ namespace LLama Utils.Eval(_model.NativeHandle, tokens.ToArray(), 0, tokens.Count(), 0, _model.Params.Threads); _originalState = model.GetStateData(); } + + /// public IEnumerable Infer(string text, InferenceParams? inferenceParams = null, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); @@ -113,7 +122,7 @@ namespace LLama _model.LoadState(_originalState); } - + /// public async IAsyncEnumerable InferAsync(string text, InferenceParams? inferenceParams = null, [EnumeratorCancellation] CancellationToken token = default) { yield return ""; diff --git a/LLama/LLamaTransforms.cs b/LLama/LLamaTransforms.cs index 59e8e2f7..14e9ccb9 100644 --- a/LLama/LLamaTransforms.cs +++ b/LLama/LLamaTransforms.cs @@ -11,6 +11,9 @@ using System.Text; namespace LLama { + /// + /// A class that contains all the transforms provided internally by LLama. + /// public class LLamaTransforms { /// @@ -30,6 +33,14 @@ namespace LLama string _systemName; string _unknownName; bool _isInstructMode; + /// + /// + /// + /// + /// + /// + /// + /// public DefaultHistoryTransform(string? userName = null, string? assistantName = null, string? systemName = null, string? unknownName = null, bool isInstructMode = false) { @@ -40,6 +51,7 @@ namespace LLama _isInstructMode = isInstructMode; } + /// public virtual string HistoryToText(ChatHistory history) { StringBuilder sb = new(); @@ -65,6 +77,7 @@ namespace LLama return sb.ToString(); } + /// public virtual ChatHistory TextToHistory(AuthorRole role, string text) { ChatHistory history = new ChatHistory(); @@ -72,6 +85,12 @@ namespace LLama return history; } + /// + /// Drop the name at the beginning and the end of the text. + /// + /// + /// + /// public virtual string TrimNamesFromText(string text, AuthorRole role) { if (role == AuthorRole.User && text.StartsWith($"{_userName}:")) @@ -95,6 +114,9 @@ namespace LLama /// public class NaiveTextInputTransform : ITextTransform { + /// + /// + /// public NaiveTextInputTransform() { @@ -110,11 +132,13 @@ namespace LLama /// public class EmptyTextOutputStreamTransform : ITextStreamTransform { + /// public IEnumerable Transform(IEnumerable tokens) { return tokens; } + /// public IAsyncEnumerable TransformAsync(IAsyncEnumerable tokens) { return tokens; diff --git a/LLama/ResettableLLamaModel.cs b/LLama/ResettableLLamaModel.cs index 1ca9e746..2ba4ecc6 100644 --- a/LLama/ResettableLLamaModel.cs +++ b/LLama/ResettableLLamaModel.cs @@ -10,12 +10,23 @@ namespace LLama /// public class ResettableLLamaModel : LLamaModel { + /// + /// The initial state of the model + /// public byte[] OriginalState { get; set; } + /// + /// + /// + /// + /// public ResettableLLamaModel(ModelParams Params, string encoding = "UTF-8") : base(Params, encoding) { OriginalState = GetStateData(); } + /// + /// Reset the state to the initial state. + /// public void Reset() { LoadState(OriginalState); diff --git a/docs/sciprts/map_xml_files_to_yml.py b/docs/sciprts/map_xml_files_to_yml.py new file mode 100644 index 00000000..a2cf98ca --- /dev/null +++ b/docs/sciprts/map_xml_files_to_yml.py @@ -0,0 +1,16 @@ +import os + +def generate_string_list(folder_path, prefix): + file_names = os.listdir(folder_path) + string_list = [] + for file_name in file_names: + new_string = f"- {'.'.join(file_name.split('.')[:-1])}: {prefix}{file_name}" + string_list.append(new_string) + return string_list + +folder_path = "./docs/xmldocs" +prefix = "./xmldocs/" + +string_list = generate_string_list(folder_path, prefix) +result = '\n'.join(string_list) +print(result) diff --git a/docs/xmldocs/index.md b/docs/xmldocs/index.md new file mode 100644 index 00000000..7bc5a746 --- /dev/null +++ b/docs/xmldocs/index.md @@ -0,0 +1,121 @@ +# LLamaSharp + +## LLama + +[ChatSession](./llama.chatsession.md) + +[InstructExecutor](./llama.instructexecutor.md) + +[InteractiveExecutor](./llama.interactiveexecutor.md) + +[LLamaEmbedder](./llama.llamaembedder.md) + +[LLamaModel](./llama.llamamodel.md) + +[LLamaQuantizer](./llama.llamaquantizer.md) + +[LLamaTransforms](./llama.llamatransforms.md) + +[ResettableLLamaModel](./llama.resettablellamamodel.md) + +[StatefulExecutorBase](./llama.statefulexecutorbase.md) + +[StatelessExecutor](./llama.statelessexecutor.md) + +## LLama.Abstractions + +[IHistoryTransform](./llama.abstractions.ihistorytransform.md) + +[ILLamaExecutor](./llama.abstractions.illamaexecutor.md) + +[ITextStreamTransform](./llama.abstractions.itextstreamtransform.md) + +[ITextTransform](./llama.abstractions.itexttransform.md) + +## LLama.Common + +[AuthorRole](./llama.common.authorrole.md) + +[ChatHistory](./llama.common.chathistory.md) + +[FixedSizeQueue<T>](./llama.common.fixedsizequeue-1.md) + +[ILLamaLogger](./llama.common.illamalogger.md) + +[InferenceParams](./llama.common.inferenceparams.md) + +[LLamaDefaultLogger](./llama.common.llamadefaultlogger.md) + +[MiroStateType](./llama.common.mirostatetype.md) + +[ModelParams](./llama.common.modelparams.md) + +## LLama.Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md) + +## LLama.Extensions + +[DictionaryExtension](./llama.extensions.dictionaryextension.md) + +## LLama.Native + +[LLamaContextParams](./llama.native.llamacontextparams.md) + +[LLamaFtype](./llama.native.llamaftype.md) + +[LLamaTokenData](./llama.native.llamatokendata.md) + +[LLamaTokenDataArray](./llama.native.llamatokendataarray.md) + +[LLamaTokenDataArrayNative](./llama.native.llamatokendataarraynative.md) + +[NativeApi](./llama.native.nativeapi.md) + +[SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md) + +[SafeLLamaHandleBase](./llama.native.safellamahandlebase.md) + +## LLama.OldVersion + +[ChatCompletion](./llama.oldversion.chatcompletion.md) + +[ChatCompletionChoice](./llama.oldversion.chatcompletionchoice.md) + +[ChatCompletionChunk](./llama.oldversion.chatcompletionchunk.md) + +[ChatCompletionChunkChoice](./llama.oldversion.chatcompletionchunkchoice.md) + +[ChatCompletionChunkDelta](./llama.oldversion.chatcompletionchunkdelta.md) + +[ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md) + +[ChatMessageRecord](./llama.oldversion.chatmessagerecord.md) + +[ChatRole](./llama.oldversion.chatrole.md) + +[ChatSession<T>](./llama.oldversion.chatsession-1.md) + +[Completion](./llama.oldversion.completion.md) + +[CompletionChoice](./llama.oldversion.completionchoice.md) + +[CompletionChunk](./llama.oldversion.completionchunk.md) + +[CompletionLogprobs](./llama.oldversion.completionlogprobs.md) + +[CompletionUsage](./llama.oldversion.completionusage.md) + +[Embedding](./llama.oldversion.embedding.md) + +[EmbeddingData](./llama.oldversion.embeddingdata.md) + +[EmbeddingUsage](./llama.oldversion.embeddingusage.md) + +[IChatModel](./llama.oldversion.ichatmodel.md) + +[LLamaEmbedder](./llama.oldversion.llamaembedder.md) + +[LLamaModel](./llama.oldversion.llamamodel.md) + +[LLamaParams](./llama.oldversion.llamaparams.md) diff --git a/docs/xmldocs/llama.abstractions.ihistorytransform.md b/docs/xmldocs/llama.abstractions.ihistorytransform.md new file mode 100644 index 00000000..729e457e --- /dev/null +++ b/docs/xmldocs/llama.abstractions.ihistorytransform.md @@ -0,0 +1,49 @@ +# IHistoryTransform + +Namespace: LLama.Abstractions + +Transform history to plain text and vice versa. + +```csharp +public interface IHistoryTransform +``` + +## Methods + +### **HistoryToText(ChatHistory)** + +Convert a ChatHistory instance to plain text. + +```csharp +string HistoryToText(ChatHistory history) +``` + +#### Parameters + +`history` [ChatHistory](./llama.common.chathistory.md)
+The ChatHistory instance + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **TextToHistory(AuthorRole, String)** + +Converts plain text to a ChatHistory instance. + +```csharp +ChatHistory TextToHistory(AuthorRole role, string text) +``` + +#### Parameters + +`role` [AuthorRole](./llama.common.authorrole.md)
+The role for the author. + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The chat history as plain text. + +#### Returns + +[ChatHistory](./llama.common.chathistory.md)
+The updated history. diff --git a/docs/xmldocs/llama.abstractions.illamaexecutor.md b/docs/xmldocs/llama.abstractions.illamaexecutor.md new file mode 100644 index 00000000..9ddaaa45 --- /dev/null +++ b/docs/xmldocs/llama.abstractions.illamaexecutor.md @@ -0,0 +1,66 @@ +# ILLamaExecutor + +Namespace: LLama.Abstractions + +A high level interface for LLama models. + +```csharp +public interface ILLamaExecutor +``` + +## Properties + +### **Model** + +The loaded model for this executor. + +```csharp +public abstract LLamaModel Model { get; } +``` + +#### Property Value + +[LLamaModel](./llama.llamamodel.md)
+ +## Methods + +### **Infer(String, InferenceParams, CancellationToken)** + +Infers a response from the model. + +```csharp +IEnumerable Infer(string text, InferenceParams inferenceParams, CancellationToken token) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+Your prompt + +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+Any additional parameters + +`token` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+A cancellation token. + +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **InferAsync(String, InferenceParams, CancellationToken)** + +```csharp +IAsyncEnumerable InferAsync(string text, InferenceParams inferenceParams, CancellationToken token) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`token` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IAsyncEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iasyncenumerable-1)
diff --git a/docs/xmldocs/llama.abstractions.itextstreamtransform.md b/docs/xmldocs/llama.abstractions.itextstreamtransform.md new file mode 100644 index 00000000..caa50ac5 --- /dev/null +++ b/docs/xmldocs/llama.abstractions.itextstreamtransform.md @@ -0,0 +1,43 @@ +# ITextStreamTransform + +Namespace: LLama.Abstractions + +Takes a stream of tokens and transforms them. + +```csharp +public interface ITextStreamTransform +``` + +## Methods + +### **Transform(IEnumerable<String>)** + +Takes a stream of tokens and transforms them, returning a new stream of tokens. + +```csharp +IEnumerable Transform(IEnumerable tokens) +``` + +#### Parameters + +`tokens` [IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **TransformAsync(IAsyncEnumerable<String>)** + +Takes a stream of tokens and transforms them, returning a new stream of tokens asynchronously. + +```csharp +IAsyncEnumerable TransformAsync(IAsyncEnumerable tokens) +``` + +#### Parameters + +`tokens` [IAsyncEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iasyncenumerable-1)
+ +#### Returns + +[IAsyncEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iasyncenumerable-1)
diff --git a/docs/xmldocs/llama.abstractions.itexttransform.md b/docs/xmldocs/llama.abstractions.itexttransform.md new file mode 100644 index 00000000..df026ae5 --- /dev/null +++ b/docs/xmldocs/llama.abstractions.itexttransform.md @@ -0,0 +1,33 @@ +# ITextTransform + +Namespace: LLama.Abstractions + +An interface for text transformations. + These can be used to compose a pipeline of text transformations, such as: + - Tokenization + - Lowercasing + - Punctuation removal + - Trimming + - etc. + +```csharp +public interface ITextTransform +``` + +## Methods + +### **Transform(String)** + +Takes a string and transforms it. + +```csharp +string Transform(string text) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
diff --git a/docs/xmldocs/llama.chatsession.md b/docs/xmldocs/llama.chatsession.md new file mode 100644 index 00000000..f81e17f2 --- /dev/null +++ b/docs/xmldocs/llama.chatsession.md @@ -0,0 +1,243 @@ +# ChatSession + +Namespace: LLama + +The main chat session class. + +```csharp +public class ChatSession +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatSession](./llama.chatsession.md) + +## Fields + +### **OutputTransform** + +The output transform used in this session. + +```csharp +public ITextStreamTransform OutputTransform; +``` + +## Properties + +### **Executor** + +The executor for this session. + +```csharp +public ILLamaExecutor Executor { get; } +``` + +#### Property Value + +[ILLamaExecutor](./llama.abstractions.illamaexecutor.md)
+ +### **History** + +The chat history for this session. + +```csharp +public ChatHistory History { get; } +``` + +#### Property Value + +[ChatHistory](./llama.common.chathistory.md)
+ +### **HistoryTransform** + +The history transform used in this session. + +```csharp +public IHistoryTransform HistoryTransform { get; set; } +``` + +#### Property Value + +[IHistoryTransform](./llama.abstractions.ihistorytransform.md)
+ +### **InputTransformPipeline** + +The input transform pipeline used in this session. + +```csharp +public List InputTransformPipeline { get; set; } +``` + +#### Property Value + +[List<ITextTransform>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1)
+ +## Constructors + +### **ChatSession(ILLamaExecutor)** + + + +```csharp +public ChatSession(ILLamaExecutor executor) +``` + +#### Parameters + +`executor` [ILLamaExecutor](./llama.abstractions.illamaexecutor.md)
+The executor for this session + +## Methods + +### **WithHistoryTransform(IHistoryTransform)** + +Use a custom history transform. + +```csharp +public ChatSession WithHistoryTransform(IHistoryTransform transform) +``` + +#### Parameters + +`transform` [IHistoryTransform](./llama.abstractions.ihistorytransform.md)
+ +#### Returns + +[ChatSession](./llama.chatsession.md)
+ +### **AddInputTransform(ITextTransform)** + +Add a text transform to the input transform pipeline. + +```csharp +public ChatSession AddInputTransform(ITextTransform transform) +``` + +#### Parameters + +`transform` [ITextTransform](./llama.abstractions.itexttransform.md)
+ +#### Returns + +[ChatSession](./llama.chatsession.md)
+ +### **WithOutputTransform(ITextStreamTransform)** + +Use a custom output transform. + +```csharp +public ChatSession WithOutputTransform(ITextStreamTransform transform) +``` + +#### Parameters + +`transform` [ITextStreamTransform](./llama.abstractions.itextstreamtransform.md)
+ +#### Returns + +[ChatSession](./llama.chatsession.md)
+ +### **SaveSession(String)** + + + +```csharp +public void SaveSession(string path) +``` + +#### Parameters + +`path` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The directory name to save the session. If the directory does not exist, a new directory will be created. + +### **LoadSession(String)** + + + +```csharp +public void LoadSession(string path) +``` + +#### Parameters + +`path` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The directory name to load the session. + +### **Chat(ChatHistory, InferenceParams, CancellationToken)** + +Get the response from the LLama model with chat histories. + +```csharp +public IEnumerable Chat(ChatHistory history, InferenceParams inferenceParams, CancellationToken cancellationToken) +``` + +#### Parameters + +`history` [ChatHistory](./llama.common.chathistory.md)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`cancellationToken` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **Chat(String, InferenceParams, CancellationToken)** + +Get the response from the LLama model. Note that prompt could not only be the preset words, + but also the question you want to ask. + +```csharp +public IEnumerable Chat(string prompt, InferenceParams inferenceParams, CancellationToken cancellationToken) +``` + +#### Parameters + +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`cancellationToken` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **ChatAsync(ChatHistory, InferenceParams, CancellationToken)** + +Get the response from the LLama model with chat histories. + +```csharp +public IAsyncEnumerable ChatAsync(ChatHistory history, InferenceParams inferenceParams, CancellationToken cancellationToken) +``` + +#### Parameters + +`history` [ChatHistory](./llama.common.chathistory.md)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`cancellationToken` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IAsyncEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iasyncenumerable-1)
+ +### **ChatAsync(String, InferenceParams, CancellationToken)** + +Get the response from the LLama model with chat histories asynchronously. + +```csharp +public IAsyncEnumerable ChatAsync(string prompt, InferenceParams inferenceParams, CancellationToken cancellationToken) +``` + +#### Parameters + +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`cancellationToken` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IAsyncEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iasyncenumerable-1)
diff --git a/docs/xmldocs/llama.common.authorrole.md b/docs/xmldocs/llama.common.authorrole.md new file mode 100644 index 00000000..10fc2b6d --- /dev/null +++ b/docs/xmldocs/llama.common.authorrole.md @@ -0,0 +1,15 @@ +# AuthorRole + +Namespace: LLama.Common + +```csharp +public enum AuthorRole +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.enum) → [AuthorRole](./llama.common.authorrole.md)
+Implements [IComparable](https://docs.microsoft.com/en-us/dotnet/api/system.icomparable), [IFormattable](https://docs.microsoft.com/en-us/dotnet/api/system.iformattable), [IConvertible](https://docs.microsoft.com/en-us/dotnet/api/system.iconvertible) + +## Fields + +| Name | Value | Description | +| --- | --: | --- | diff --git a/docs/xmldocs/llama.common.chathistory.md b/docs/xmldocs/llama.common.chathistory.md new file mode 100644 index 00000000..ec2b4af0 --- /dev/null +++ b/docs/xmldocs/llama.common.chathistory.md @@ -0,0 +1,53 @@ +# ChatHistory + +Namespace: LLama.Common + +The chat history class + +```csharp +public class ChatHistory +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatHistory](./llama.common.chathistory.md) + +## Properties + +### **Messages** + +List of messages in the chat + +```csharp +public List Messages { get; } +``` + +#### Property Value + +[List<Message>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1)
+ +## Constructors + +### **ChatHistory()** + +Create a new instance of the chat content class + +```csharp +public ChatHistory() +``` + +## Methods + +### **AddMessage(AuthorRole, String)** + +Add a message to the chat history + +```csharp +public void AddMessage(AuthorRole authorRole, string content) +``` + +#### Parameters + +`authorRole` [AuthorRole](./llama.common.authorrole.md)
+Role of the message author + +`content` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+Message content diff --git a/docs/xmldocs/llama.common.fixedsizequeue-1.md b/docs/xmldocs/llama.common.fixedsizequeue-1.md new file mode 100644 index 00000000..c3d1a354 --- /dev/null +++ b/docs/xmldocs/llama.common.fixedsizequeue-1.md @@ -0,0 +1,111 @@ +# FixedSizeQueue<T> + +Namespace: LLama.Common + +A queue with fixed storage size. + Currently it's only a naive implementation and needs to be further optimized in the future. + +```csharp +public class FixedSizeQueue : , System.Collections.IEnumerable +``` + +#### Type Parameters + +`T`
+ +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [FixedSizeQueue<T>](./llama.common.fixedsizequeue-1.md)
+Implements IEnumerable<T>, [IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/system.collections.ienumerable) + +## Properties + +### **Count** + +```csharp +public int Count { get; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Capacity** + +```csharp +public int Capacity { get; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +## Constructors + +### **FixedSizeQueue(Int32)** + +```csharp +public FixedSizeQueue(int size) +``` + +#### Parameters + +`size` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **FixedSizeQueue(Int32, IEnumerable<T>)** + +```csharp +public FixedSizeQueue(int size, IEnumerable data) +``` + +#### Parameters + +`size` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`data` IEnumerable<T>
+ +## Methods + +### **FillWith(T)** + +```csharp +public FixedSizeQueue FillWith(T value) +``` + +#### Parameters + +`value` T
+ +#### Returns + +[FixedSizeQueue<T>](./llama.common.fixedsizequeue-1.md)
+ +### **Enqueue(T)** + +Enquene an element. + +```csharp +public void Enqueue(T item) +``` + +#### Parameters + +`item` T
+ +### **ToArray()** + +```csharp +public T[] ToArray() +``` + +#### Returns + +T[]
+ +### **GetEnumerator()** + +```csharp +public IEnumerator GetEnumerator() +``` + +#### Returns + +IEnumerator<T>
diff --git a/docs/xmldocs/llama.common.illamalogger.md b/docs/xmldocs/llama.common.illamalogger.md new file mode 100644 index 00000000..4ede2f5a --- /dev/null +++ b/docs/xmldocs/llama.common.illamalogger.md @@ -0,0 +1,28 @@ +# ILLamaLogger + +Namespace: LLama.Common + +```csharp +public interface ILLamaLogger +``` + +## Methods + +### **Log(String, String, LogLevel)** + +Write the log in cosutomized way + +```csharp +void Log(string source, string message, LogLevel level) +``` + +#### Parameters + +`source` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The source of the log. It may be a method name or class name. + +`message` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The message. + +`level` [LogLevel](./llama.common.illamalogger.loglevel.md)
+The log level. diff --git a/docs/xmldocs/llama.common.inferenceparams.md b/docs/xmldocs/llama.common.inferenceparams.md new file mode 100644 index 00000000..ac9d7bf2 --- /dev/null +++ b/docs/xmldocs/llama.common.inferenceparams.md @@ -0,0 +1,264 @@ +# InferenceParams + +Namespace: LLama.Common + +```csharp +public class InferenceParams +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [InferenceParams](./llama.common.inferenceparams.md) + +## Properties + +### **TokensKeep** + +number of tokens to keep from initial prompt + +```csharp +public int TokensKeep { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **MaxTokens** + +how many new tokens to predict (n_predict), set to -1 to inifinitely generate response + until it complete. + +```csharp +public int MaxTokens { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **LogitBias** + +logit bias for specific tokens + +```csharp +public Dictionary LogitBias { get; set; } +``` + +#### Property Value + +[Dictionary<Int32, Single>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2)
+ +### **AntiPrompts** + +Sequences where the model will stop generating further tokens. + +```csharp +public IEnumerable AntiPrompts { get; set; } +``` + +#### Property Value + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **PathSession** + +path to file for saving/loading model eval state + +```csharp +public string PathSession { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **InputSuffix** + +string to suffix user inputs with + +```csharp +public string InputSuffix { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **InputPrefix** + +string to prefix user inputs with + +```csharp +public string InputPrefix { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **TopK** + +0 or lower to use vocab size + +```csharp +public int TopK { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **TopP** + +1.0 = disabled + +```csharp +public float TopP { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **TfsZ** + +1.0 = disabled + +```csharp +public float TfsZ { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **TypicalP** + +1.0 = disabled + +```csharp +public float TypicalP { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **Temperature** + +1.0 = disabled + +```csharp +public float Temperature { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **RepeatPenalty** + +1.0 = disabled + +```csharp +public float RepeatPenalty { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **RepeatLastTokensCount** + +last n tokens to penalize (0 = disable penalty, -1 = context size) (repeat_last_n) + +```csharp +public int RepeatLastTokensCount { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **FrequencyPenalty** + +frequency penalty coefficient + 0.0 = disabled + +```csharp +public float FrequencyPenalty { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **PresencePenalty** + +presence penalty coefficient + 0.0 = disabled + +```csharp +public float PresencePenalty { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **Mirostat** + +Mirostat uses tokens instead of words. + algorithm described in the paper https://arxiv.org/abs/2007.14966. + 0 = disabled, 1 = mirostat, 2 = mirostat 2.0 + +```csharp +public MiroStateType Mirostat { get; set; } +``` + +#### Property Value + +[MiroStateType](./llama.common.mirostatetype.md)
+ +### **MirostatTau** + +target entropy + +```csharp +public float MirostatTau { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **MirostatEta** + +learning rate + +```csharp +public float MirostatEta { get; set; } +``` + +#### Property Value + +[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **PenalizeNL** + +consider newlines as a repeatable token (penalize_nl) + +```csharp +public bool PenalizeNL { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +## Constructors + +### **InferenceParams()** + +```csharp +public InferenceParams() +``` diff --git a/docs/xmldocs/llama.common.llamadefaultlogger.md b/docs/xmldocs/llama.common.llamadefaultlogger.md new file mode 100644 index 00000000..2159852f --- /dev/null +++ b/docs/xmldocs/llama.common.llamadefaultlogger.md @@ -0,0 +1,121 @@ +# LLamaDefaultLogger + +Namespace: LLama.Common + +The default logger of LLamaSharp. On default it write to console. User methods of `LLamaLogger.Default` to change the behavior. + It's more recommended to inherit `ILLamaLogger` to cosutomize the behavior. + +```csharp +public sealed class LLamaDefaultLogger : ILLamaLogger +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaDefaultLogger](./llama.common.llamadefaultlogger.md)
+Implements [ILLamaLogger](./llama.common.illamalogger.md) + +## Properties + +### **Default** + +```csharp +public static LLamaDefaultLogger Default { get; } +``` + +#### Property Value + +[LLamaDefaultLogger](./llama.common.llamadefaultlogger.md)
+ +## Methods + +### **EnableConsole()** + +```csharp +public LLamaDefaultLogger EnableConsole() +``` + +#### Returns + +[LLamaDefaultLogger](./llama.common.llamadefaultlogger.md)
+ +### **DisableConsole()** + +```csharp +public LLamaDefaultLogger DisableConsole() +``` + +#### Returns + +[LLamaDefaultLogger](./llama.common.llamadefaultlogger.md)
+ +### **EnableFile(String, FileMode)** + +```csharp +public LLamaDefaultLogger EnableFile(string filename, FileMode mode) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`mode` [FileMode](https://docs.microsoft.com/en-us/dotnet/api/system.io.filemode)
+ +#### Returns + +[LLamaDefaultLogger](./llama.common.llamadefaultlogger.md)
+ +### **DisableFile(String)** + +```csharp +public LLamaDefaultLogger DisableFile(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[LLamaDefaultLogger](./llama.common.llamadefaultlogger.md)
+ +### **Log(String, String, LogLevel)** + +```csharp +public void Log(string source, string message, LogLevel level) +``` + +#### Parameters + +`source` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`message` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`level` [LogLevel](./llama.common.illamalogger.loglevel.md)
+ +### **Info(String)** + +```csharp +public void Info(string message) +``` + +#### Parameters + +`message` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Warn(String)** + +```csharp +public void Warn(string message) +``` + +#### Parameters + +`message` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Error(String)** + +```csharp +public void Error(string message) +``` + +#### Parameters + +`message` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
diff --git a/docs/xmldocs/llama.common.mirostatetype.md b/docs/xmldocs/llama.common.mirostatetype.md new file mode 100644 index 00000000..b72aafc3 --- /dev/null +++ b/docs/xmldocs/llama.common.mirostatetype.md @@ -0,0 +1,15 @@ +# MiroStateType + +Namespace: LLama.Common + +```csharp +public enum MiroStateType +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.enum) → [MiroStateType](./llama.common.mirostatetype.md)
+Implements [IComparable](https://docs.microsoft.com/en-us/dotnet/api/system.icomparable), [IFormattable](https://docs.microsoft.com/en-us/dotnet/api/system.iformattable), [IConvertible](https://docs.microsoft.com/en-us/dotnet/api/system.iconvertible) + +## Fields + +| Name | Value | Description | +| --- | --: | --- | diff --git a/docs/xmldocs/llama.common.modelparams.md b/docs/xmldocs/llama.common.modelparams.md new file mode 100644 index 00000000..d041faf2 --- /dev/null +++ b/docs/xmldocs/llama.common.modelparams.md @@ -0,0 +1,234 @@ +# ModelParams + +Namespace: LLama.Common + +```csharp +public class ModelParams +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ModelParams](./llama.common.modelparams.md) + +## Properties + +### **ContextSize** + +Model context size (n_ctx) + +```csharp +public int ContextSize { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **GpuLayerCount** + +Number of layers to run in VRAM / GPU memory (n_gpu_layers) + +```csharp +public int GpuLayerCount { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Seed** + +Seed for the random number generator (seed) + +```csharp +public int Seed { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **UseFp16Memory** + +Use f16 instead of f32 for memory kv (memory_f16) + +```csharp +public bool UseFp16Memory { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **UseMemorymap** + +Use mmap for faster loads (use_mmap) + +```csharp +public bool UseMemorymap { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **UseMemoryLock** + +Use mlock to keep model in memory (use_mlock) + +```csharp +public bool UseMemoryLock { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Perplexity** + +Compute perplexity over the prompt (perplexity) + +```csharp +public bool Perplexity { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **ModelPath** + +Model path (model) + +```csharp +public string ModelPath { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **LoraAdapter** + +lora adapter path (lora_adapter) + +```csharp +public string LoraAdapter { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **LoraBase** + +base model path for the lora adapter (lora_base) + +```csharp +public string LoraBase { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Threads** + +Number of threads (-1 = autodetect) (n_threads) + +```csharp +public int Threads { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **BatchSize** + +batch size for prompt processing (must be >=32 to use BLAS) (n_batch) + +```csharp +public int BatchSize { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **ConvertEosToNewLine** + +Whether to convert eos to newline during the inference. + +```csharp +public bool ConvertEosToNewLine { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **EmbeddingMode** + +Whether to use embedding mode. (embedding) Note that if this is set to true, + The LLamaModel won't produce text response anymore. + +```csharp +public bool EmbeddingMode { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +## Constructors + +### **ModelParams(String, Int32, Int32, Int32, Boolean, Boolean, Boolean, Boolean, String, String, Int32, Int32, Boolean, Boolean)** + + + +```csharp +public ModelParams(string modelPath, int contextSize, int gpuLayerCount, int seed, bool useFp16Memory, bool useMemorymap, bool useMemoryLock, bool perplexity, string loraAdapter, string loraBase, int threads, int batchSize, bool convertEosToNewLine, bool embeddingMode) +``` + +#### Parameters + +`modelPath` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The model path. + +`contextSize` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Model context size (n_ctx) + +`gpuLayerCount` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Number of layers to run in VRAM / GPU memory (n_gpu_layers) + +`seed` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Seed for the random number generator (seed) + +`useFp16Memory` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to use f16 instead of f32 for memory kv (memory_f16) + +`useMemorymap` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to use mmap for faster loads (use_mmap) + +`useMemoryLock` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to use mlock to keep model in memory (use_mlock) + +`perplexity` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Thether to compute perplexity over the prompt (perplexity) + +`loraAdapter` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+Lora adapter path (lora_adapter) + +`loraBase` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+Base model path for the lora adapter (lora_base) + +`threads` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Number of threads (-1 = autodetect) (n_threads) + +`batchSize` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Batch size for prompt processing (must be >=32 to use BLAS) (n_batch) + +`convertEosToNewLine` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to convert eos to newline during the inference. + +`embeddingMode` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to use embedding mode. (embedding) Note that if this is set to true, The LLamaModel won't produce text response anymore. diff --git a/docs/xmldocs/llama.exceptions.runtimeerror.md b/docs/xmldocs/llama.exceptions.runtimeerror.md new file mode 100644 index 00000000..7116015f --- /dev/null +++ b/docs/xmldocs/llama.exceptions.runtimeerror.md @@ -0,0 +1,110 @@ +# RuntimeError + +Namespace: LLama.Exceptions + +```csharp +public class RuntimeError : System.Exception, System.Runtime.Serialization.ISerializable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [Exception](https://docs.microsoft.com/en-us/dotnet/api/system.exception) → [RuntimeError](./llama.exceptions.runtimeerror.md)
+Implements [ISerializable](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.serialization.iserializable) + +## Properties + +### **TargetSite** + +```csharp +public MethodBase TargetSite { get; } +``` + +#### Property Value + +[MethodBase](https://docs.microsoft.com/en-us/dotnet/api/system.reflection.methodbase)
+ +### **Message** + +```csharp +public string Message { get; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Data** + +```csharp +public IDictionary Data { get; } +``` + +#### Property Value + +[IDictionary](https://docs.microsoft.com/en-us/dotnet/api/system.collections.idictionary)
+ +### **InnerException** + +```csharp +public Exception InnerException { get; } +``` + +#### Property Value + +[Exception](https://docs.microsoft.com/en-us/dotnet/api/system.exception)
+ +### **HelpLink** + +```csharp +public string HelpLink { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Source** + +```csharp +public string Source { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **HResult** + +```csharp +public int HResult { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **StackTrace** + +```csharp +public string StackTrace { get; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Constructors + +### **RuntimeError()** + +```csharp +public RuntimeError() +``` + +### **RuntimeError(String)** + +```csharp +public RuntimeError(string message) +``` + +#### Parameters + +`message` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
diff --git a/docs/xmldocs/llama.extensions.dictionaryextension.md b/docs/xmldocs/llama.extensions.dictionaryextension.md new file mode 100644 index 00000000..5c013c46 --- /dev/null +++ b/docs/xmldocs/llama.extensions.dictionaryextension.md @@ -0,0 +1,73 @@ +# DictionaryExtension + +Namespace: LLama.Extensions + +```csharp +public static class DictionaryExtension +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [DictionaryExtension](./llama.extensions.dictionaryextension.md) + +## Methods + +### **Deconstruct<T1, T2>(KeyValuePair<T1, T2>, T1&, T2&)** + +```csharp +public static void Deconstruct(KeyValuePair pair, T1& first, T2& second) +``` + +#### Type Parameters + +`T1`
+ +`T2`
+ +#### Parameters + +`pair` KeyValuePair<T1, T2>
+ +`first` T1&
+ +`second` T2&
+ +### **Update<T1, T2>(Dictionary<T1, T2>, IDictionary<T1, T2>)** + +```csharp +public static void Update(Dictionary dic, IDictionary other) +``` + +#### Type Parameters + +`T1`
+ +`T2`
+ +#### Parameters + +`dic` Dictionary<T1, T2>
+ +`other` IDictionary<T1, T2>
+ +### **GetOrDefault<T1, T2>(Dictionary<T1, T2>, T1, T2)** + +```csharp +public static T2 GetOrDefault(Dictionary dic, T1 key, T2 defaultValue) +``` + +#### Type Parameters + +`T1`
+ +`T2`
+ +#### Parameters + +`dic` Dictionary<T1, T2>
+ +`key` T1
+ +`defaultValue` T2
+ +#### Returns + +T2
diff --git a/docs/xmldocs/llama.instructexecutor.md b/docs/xmldocs/llama.instructexecutor.md new file mode 100644 index 00000000..3d10bbd6 --- /dev/null +++ b/docs/xmldocs/llama.instructexecutor.md @@ -0,0 +1,142 @@ +# InstructExecutor + +Namespace: LLama + +The LLama executor for instruct mode. + +```csharp +public class InstructExecutor : StatefulExecutorBase, LLama.Abstractions.ILLamaExecutor +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [StatefulExecutorBase](./llama.statefulexecutorbase.md) → [InstructExecutor](./llama.instructexecutor.md)
+Implements [ILLamaExecutor](./llama.abstractions.illamaexecutor.md) + +## Properties + +### **Model** + +The mode used by the executor. + +```csharp +public LLamaModel Model { get; } +``` + +#### Property Value + +[LLamaModel](./llama.llamamodel.md)
+ +## Constructors + +### **InstructExecutor(LLamaModel, String, String)** + + + +```csharp +public InstructExecutor(LLamaModel model, string instructionPrefix, string instructionSuffix) +``` + +#### Parameters + +`model` [LLamaModel](./llama.llamamodel.md)
+ +`instructionPrefix` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`instructionSuffix` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **GetStateData()** + +```csharp +public ExecutorBaseState GetStateData() +``` + +#### Returns + +[ExecutorBaseState](./llama.statefulexecutorbase.executorbasestate.md)
+ +### **LoadState(ExecutorBaseState)** + +```csharp +public void LoadState(ExecutorBaseState data) +``` + +#### Parameters + +`data` [ExecutorBaseState](./llama.statefulexecutorbase.executorbasestate.md)
+ +### **SaveState(String)** + +```csharp +public void SaveState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **LoadState(String)** + +```csharp +public void LoadState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **GetLoopCondition(InferStateArgs)** + +```csharp +protected bool GetLoopCondition(InferStateArgs args) +``` + +#### Parameters + +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **PreprocessInputs(String, InferStateArgs)** + +```csharp +protected void PreprocessInputs(string text, InferStateArgs args) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +### **PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)** + +```csharp +protected bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs) +``` + +#### Parameters + +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +`extraOutputs` [IEnumerable`1&](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1&)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **InferInternal(InferenceParams, InferStateArgs)** + +```csharp +protected void InferInternal(InferenceParams inferenceParams, InferStateArgs args) +``` + +#### Parameters + +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
diff --git a/docs/xmldocs/llama.interactiveexecutor.md b/docs/xmldocs/llama.interactiveexecutor.md new file mode 100644 index 00000000..b8953138 --- /dev/null +++ b/docs/xmldocs/llama.interactiveexecutor.md @@ -0,0 +1,142 @@ +# InteractiveExecutor + +Namespace: LLama + +The LLama executor for interactive mode. + +```csharp +public class InteractiveExecutor : StatefulExecutorBase, LLama.Abstractions.ILLamaExecutor +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [StatefulExecutorBase](./llama.statefulexecutorbase.md) → [InteractiveExecutor](./llama.interactiveexecutor.md)
+Implements [ILLamaExecutor](./llama.abstractions.illamaexecutor.md) + +## Properties + +### **Model** + +The mode used by the executor. + +```csharp +public LLamaModel Model { get; } +``` + +#### Property Value + +[LLamaModel](./llama.llamamodel.md)
+ +## Constructors + +### **InteractiveExecutor(LLamaModel)** + + + +```csharp +public InteractiveExecutor(LLamaModel model) +``` + +#### Parameters + +`model` [LLamaModel](./llama.llamamodel.md)
+ +## Methods + +### **GetStateData()** + +```csharp +public ExecutorBaseState GetStateData() +``` + +#### Returns + +[ExecutorBaseState](./llama.statefulexecutorbase.executorbasestate.md)
+ +### **LoadState(ExecutorBaseState)** + +```csharp +public void LoadState(ExecutorBaseState data) +``` + +#### Parameters + +`data` [ExecutorBaseState](./llama.statefulexecutorbase.executorbasestate.md)
+ +### **SaveState(String)** + +```csharp +public void SaveState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **LoadState(String)** + +```csharp +public void LoadState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **GetLoopCondition(InferStateArgs)** + +Define whether to continue the loop to generate responses. + +```csharp +protected bool GetLoopCondition(InferStateArgs args) +``` + +#### Parameters + +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **PreprocessInputs(String, InferStateArgs)** + +```csharp +protected void PreprocessInputs(string text, InferStateArgs args) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +### **PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)** + +Return whether to break the generation. + +```csharp +protected bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs) +``` + +#### Parameters + +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +`extraOutputs` [IEnumerable`1&](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1&)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **InferInternal(InferenceParams, InferStateArgs)** + +```csharp +protected void InferInternal(InferenceParams inferenceParams, InferStateArgs args) +``` + +#### Parameters + +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
diff --git a/docs/xmldocs/llama.llamaembedder.md b/docs/xmldocs/llama.llamaembedder.md new file mode 100644 index 00000000..60c36b63 --- /dev/null +++ b/docs/xmldocs/llama.llamaembedder.md @@ -0,0 +1,64 @@ +# LLamaEmbedder + +Namespace: LLama + +The embedder for LLama, which supports getting embeddings from text. + +```csharp +public class LLamaEmbedder : System.IDisposable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaEmbedder](./llama.llamaembedder.md)
+Implements [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) + +## Constructors + +### **LLamaEmbedder(ModelParams)** + + + +```csharp +public LLamaEmbedder(ModelParams params) +``` + +#### Parameters + +`params` [ModelParams](./llama.common.modelparams.md)
+ +## Methods + +### **GetEmbeddings(String, Int32, Boolean, String)** + +Get the embeddings of the text. + +```csharp +public Single[] GetEmbeddings(string text, int threads, bool addBos, string encoding) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`threads` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Threads used for inference. + +`addBos` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Add bos to the text. + +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[Single[]](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +### **Dispose()** + + + +```csharp +public void Dispose() +``` diff --git a/docs/xmldocs/llama.llamamodel.md b/docs/xmldocs/llama.llamamodel.md new file mode 100644 index 00000000..4e54b371 --- /dev/null +++ b/docs/xmldocs/llama.llamamodel.md @@ -0,0 +1,282 @@ +# LLamaModel + +Namespace: LLama + +The abstraction of a LLama model, which holds the context in the native library. + +```csharp +public class LLamaModel : System.IDisposable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaModel](./llama.llamamodel.md)
+Implements [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) + +## Properties + +### **ContextSize** + +The context size. + +```csharp +public int ContextSize { get; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Params** + +The model params set for this model. + +```csharp +public ModelParams Params { get; set; } +``` + +#### Property Value + +[ModelParams](./llama.common.modelparams.md)
+ +### **NativeHandle** + +The native handle, which is used to be passed to the native APIs. Please avoid using it + unless you know what is the usage of the Native API. + +```csharp +public SafeLLamaContextHandle NativeHandle { get; } +``` + +#### Property Value + +[SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +### **Encoding** + +The encoding set for this model to deal with text input. + +```csharp +public Encoding Encoding { get; } +``` + +#### Property Value + +[Encoding](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding)
+ +## Constructors + +### **LLamaModel(ModelParams, String, ILLamaLogger)** + + + +```csharp +public LLamaModel(ModelParams Params, string encoding, ILLamaLogger logger) +``` + +#### Parameters + +`Params` [ModelParams](./llama.common.modelparams.md)
+Model params. + +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+Encoding to deal with text input. + +`logger` [ILLamaLogger](./llama.common.illamalogger.md)
+The logger. + +## Methods + +### **Tokenize(String, Boolean)** + +Tokenize a string. + +```csharp +public IEnumerable Tokenize(string text, bool addBos) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`addBos` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to add a bos to the text. + +#### Returns + +[IEnumerable<Int32>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **DeTokenize(IEnumerable<Int32>)** + +Detokenize the tokens to text. + +```csharp +public string DeTokenize(IEnumerable tokens) +``` + +#### Parameters + +`tokens` [IEnumerable<Int32>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **SaveState(String)** + +Save the state to specified path. + +```csharp +public void SaveState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **GetStateData()** + +Get the state data as a byte array. + +```csharp +public Byte[] GetStateData() +``` + +#### Returns + +[Byte[]](https://docs.microsoft.com/en-us/dotnet/api/system.byte)
+ +### **LoadState(String)** + +Load the state from specified path. + +```csharp +public void LoadState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +### **LoadState(Byte[])** + +Load the state from memory. + +```csharp +public void LoadState(Byte[] stateData) +``` + +#### Parameters + +`stateData` [Byte[]](https://docs.microsoft.com/en-us/dotnet/api/system.byte)
+ +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +### **Sample(LLamaTokenDataArray, Single, MiroStateType, Single, Single, Int32, Single, Single, Single)** + +Perform the sampling. Please don't use it unless you fully know what it does. + +```csharp +public int Sample(LLamaTokenDataArray candidates, float temperature, MiroStateType mirostat, float mirostatTau, float mirostatEta, int topK, float topP, float tfsZ, float typicalP) +``` + +#### Parameters + +`candidates` [LLamaTokenDataArray](./llama.native.llamatokendataarray.md)
+ +`temperature` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`mirostat` [MiroStateType](./llama.common.mirostatetype.md)
+ +`mirostatTau` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`mirostatEta` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`topK` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`topP` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`tfsZ` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`typicalP` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **ApplyPenalty(IEnumerable<Int32>, Dictionary<Int32, Single>, Int32, Single, Single, Single, Boolean)** + +Apply the penalty for the tokens. Please don't use it unless you fully know what it does. + +```csharp +public LLamaTokenDataArray ApplyPenalty(IEnumerable lastTokens, Dictionary logitBias, int repeatLastTokensCount, float repeatPenalty, float alphaFrequency, float alphaPresence, bool penalizeNL) +``` + +#### Parameters + +`lastTokens` [IEnumerable<Int32>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +`logitBias` [Dictionary<Int32, Single>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2)
+ +`repeatLastTokensCount` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`repeatPenalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`alphaFrequency` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`alphaPresence` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`penalizeNL` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +#### Returns + +[LLamaTokenDataArray](./llama.native.llamatokendataarray.md)
+ +### **Eval(Int32[], Int32)** + + + +```csharp +public int Eval(Int32[] tokens, int pastTokensCount) +``` + +#### Parameters + +`tokens` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`pastTokensCount` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+The updated `pastTokensCount`. + +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +### **GenerateResult(IEnumerable<Int32>)** + +```csharp +internal IEnumerable GenerateResult(IEnumerable ids) +``` + +#### Parameters + +`ids` [IEnumerable<Int32>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **Dispose()** + + + +```csharp +public void Dispose() +``` diff --git a/docs/xmldocs/llama.llamaquantizer.md b/docs/xmldocs/llama.llamaquantizer.md new file mode 100644 index 00000000..ce0349bb --- /dev/null +++ b/docs/xmldocs/llama.llamaquantizer.md @@ -0,0 +1,75 @@ +# LLamaQuantizer + +Namespace: LLama + +The quantizer to quantize the model. + +```csharp +public static class LLamaQuantizer +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaQuantizer](./llama.llamaquantizer.md) + +## Methods + +### **Quantize(String, String, LLamaFtype, Int32)** + +Quantize the model. + +```csharp +public static bool Quantize(string srcFileName, string dstFilename, LLamaFtype ftype, int nthread) +``` + +#### Parameters + +`srcFileName` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The model file to be quantized. + +`dstFilename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The path to save the quantized model. + +`ftype` [LLamaFtype](./llama.native.llamaftype.md)
+The type of quantization. + +`nthread` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Thread to be used during the quantization. By default it's the physical core number. + +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether the quantization is successful. + +#### Exceptions + +[ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/system.argumentexception)
+ +### **Quantize(String, String, String, Int32)** + +Quantize the model. + +```csharp +public static bool Quantize(string srcFileName, string dstFilename, string ftype, int nthread) +``` + +#### Parameters + +`srcFileName` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The model file to be quantized. + +`dstFilename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The path to save the quantized model. + +`ftype` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The type of quantization. + +`nthread` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Thread to be used during the quantization. By default it's the physical core number. + +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether the quantization is successful. + +#### Exceptions + +[ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/system.argumentexception)
diff --git a/docs/xmldocs/llama.llamatransforms.md b/docs/xmldocs/llama.llamatransforms.md new file mode 100644 index 00000000..5b23a419 --- /dev/null +++ b/docs/xmldocs/llama.llamatransforms.md @@ -0,0 +1,19 @@ +# LLamaTransforms + +Namespace: LLama + +A class that contains all the transforms provided internally by LLama. + +```csharp +public class LLamaTransforms +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaTransforms](./llama.llamatransforms.md) + +## Constructors + +### **LLamaTransforms()** + +```csharp +public LLamaTransforms() +``` diff --git a/docs/xmldocs/llama.native.llamacontextparams.md b/docs/xmldocs/llama.native.llamacontextparams.md new file mode 100644 index 00000000..e47b2bb6 --- /dev/null +++ b/docs/xmldocs/llama.native.llamacontextparams.md @@ -0,0 +1,99 @@ +# LLamaContextParams + +Namespace: LLama.Native + +```csharp +public struct LLamaContextParams +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [LLamaContextParams](./llama.native.llamacontextparams.md) + +## Fields + +### **n_ctx** + +text context + +```csharp +public int n_ctx; +``` + +### **n_gpu_layers** + +number of layers to store in VRAM + +```csharp +public int n_gpu_layers; +``` + +### **seed** + +RNG seed, -1 for random + +```csharp +public int seed; +``` + +### **f16_kv** + +use fp16 for KV cache + +```csharp +public bool f16_kv; +``` + +### **logits_all** + +the llama_eval() call computes all logits, not just the last one + +```csharp +public bool logits_all; +``` + +### **vocab_only** + +only load the vocabulary, no weights + +```csharp +public bool vocab_only; +``` + +### **use_mmap** + +use mmap if possible + +```csharp +public bool use_mmap; +``` + +### **use_mlock** + +force system to keep model in RAM + +```csharp +public bool use_mlock; +``` + +### **embedding** + +embedding mode only + +```csharp +public bool embedding; +``` + +### **progress_callback** + +called with a progress value between 0 and 1, pass NULL to disable + +```csharp +public IntPtr progress_callback; +``` + +### **progress_callback_user_data** + +context pointer passed to the progress callback + +```csharp +public IntPtr progress_callback_user_data; +``` diff --git a/docs/xmldocs/llama.native.llamaftype.md b/docs/xmldocs/llama.native.llamaftype.md new file mode 100644 index 00000000..2c76c9e1 --- /dev/null +++ b/docs/xmldocs/llama.native.llamaftype.md @@ -0,0 +1,15 @@ +# LLamaFtype + +Namespace: LLama.Native + +```csharp +public enum LLamaFtype +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.enum) → [LLamaFtype](./llama.native.llamaftype.md)
+Implements [IComparable](https://docs.microsoft.com/en-us/dotnet/api/system.icomparable), [IFormattable](https://docs.microsoft.com/en-us/dotnet/api/system.iformattable), [IConvertible](https://docs.microsoft.com/en-us/dotnet/api/system.iconvertible) + +## Fields + +| Name | Value | Description | +| --- | --: | --- | diff --git a/docs/xmldocs/llama.native.llamatokendata.md b/docs/xmldocs/llama.native.llamatokendata.md new file mode 100644 index 00000000..8632f702 --- /dev/null +++ b/docs/xmldocs/llama.native.llamatokendata.md @@ -0,0 +1,51 @@ +# LLamaTokenData + +Namespace: LLama.Native + +```csharp +public struct LLamaTokenData +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [LLamaTokenData](./llama.native.llamatokendata.md) + +## Fields + +### **id** + +token id + +```csharp +public int id; +``` + +### **logit** + +log-odds of the token + +```csharp +public float logit; +``` + +### **p** + +probability of the token + +```csharp +public float p; +``` + +## Constructors + +### **LLamaTokenData(Int32, Single, Single)** + +```csharp +LLamaTokenData(int id, float logit, float p) +``` + +#### Parameters + +`id` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`logit` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`p` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
diff --git a/docs/xmldocs/llama.native.llamatokendataarray.md b/docs/xmldocs/llama.native.llamatokendataarray.md new file mode 100644 index 00000000..e9a05e53 --- /dev/null +++ b/docs/xmldocs/llama.native.llamatokendataarray.md @@ -0,0 +1,45 @@ +# LLamaTokenDataArray + +Namespace: LLama.Native + +```csharp +public struct LLamaTokenDataArray +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [LLamaTokenDataArray](./llama.native.llamatokendataarray.md) + +## Fields + +### **data** + +```csharp +public Memory data; +``` + +### **size** + +```csharp +public ulong size; +``` + +### **sorted** + +```csharp +public bool sorted; +``` + +## Constructors + +### **LLamaTokenDataArray(LLamaTokenData[], UInt64, Boolean)** + +```csharp +LLamaTokenDataArray(LLamaTokenData[] data, ulong size, bool sorted) +``` + +#### Parameters + +`data` [LLamaTokenData[]](./llama.native.llamatokendata.md)
+ +`size` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +`sorted` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
diff --git a/docs/xmldocs/llama.native.llamatokendataarraynative.md b/docs/xmldocs/llama.native.llamatokendataarraynative.md new file mode 100644 index 00000000..1838d3a5 --- /dev/null +++ b/docs/xmldocs/llama.native.llamatokendataarraynative.md @@ -0,0 +1,29 @@ +# LLamaTokenDataArrayNative + +Namespace: LLama.Native + +```csharp +public struct LLamaTokenDataArrayNative +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [LLamaTokenDataArrayNative](./llama.native.llamatokendataarraynative.md) + +## Fields + +### **data** + +```csharp +public IntPtr data; +``` + +### **size** + +```csharp +public ulong size; +``` + +### **sorted** + +```csharp +public bool sorted; +``` diff --git a/docs/xmldocs/llama.native.nativeapi.md b/docs/xmldocs/llama.native.nativeapi.md new file mode 100644 index 00000000..787529da --- /dev/null +++ b/docs/xmldocs/llama.native.nativeapi.md @@ -0,0 +1,786 @@ +# NativeApi + +Namespace: LLama.Native + +```csharp +public class NativeApi +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [NativeApi](./llama.native.nativeapi.md) + +## Constructors + +### **NativeApi()** + +```csharp +public NativeApi() +``` + +## Methods + +### **llama_print_timings(SafeLLamaContextHandle)** + +```csharp +public static void llama_print_timings(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +### **llama_reset_timings(SafeLLamaContextHandle)** + +```csharp +public static void llama_reset_timings(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +### **llama_print_system_info()** + +Print system information + +```csharp +public static IntPtr llama_print_system_info() +``` + +#### Returns + +[IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+ +### **llama_model_quantize(String, String, LLamaFtype, Int32)** + +```csharp +public static int llama_model_quantize(string fname_inp, string fname_out, LLamaFtype ftype, int nthread) +``` + +#### Parameters + +`fname_inp` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`fname_out` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`ftype` [LLamaFtype](./llama.native.llamaftype.md)
+ +`nthread` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_sample_repetition_penalty(SafeLLamaContextHandle, IntPtr, Int32[], UInt64, Single)** + +Repetition penalty described in CTRL academic paper https://arxiv.org/abs/1909.05858, with negative logit fix. + +```csharp +public static void llama_sample_repetition_penalty(SafeLLamaContextHandle ctx, IntPtr candidates, Int32[] last_tokens, ulong last_tokens_size, float penalty) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +`last_tokens` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`last_tokens_size` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +`penalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **llama_sample_frequency_and_presence_penalties(SafeLLamaContextHandle, IntPtr, Int32[], UInt64, Single, Single)** + +Frequency and presence penalties described in OpenAI API https://platform.openai.com/docs/api-reference/parameter-details. + +```csharp +public static void llama_sample_frequency_and_presence_penalties(SafeLLamaContextHandle ctx, IntPtr candidates, Int32[] last_tokens, ulong last_tokens_size, float alpha_frequency, float alpha_presence) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +`last_tokens` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`last_tokens_size` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +`alpha_frequency` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`alpha_presence` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **llama_sample_softmax(SafeLLamaContextHandle, IntPtr)** + +Sorts candidate tokens by their logits in descending order and calculate probabilities based on logits. + +```csharp +public static void llama_sample_softmax(SafeLLamaContextHandle ctx, IntPtr candidates) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +### **llama_sample_top_k(SafeLLamaContextHandle, IntPtr, Int32, UInt64)** + +Top-K sampling described in academic paper "The Curious Case of Neural Text Degeneration" https://arxiv.org/abs/1904.09751 + +```csharp +public static void llama_sample_top_k(SafeLLamaContextHandle ctx, IntPtr candidates, int k, ulong min_keep) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +`k` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`min_keep` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +### **llama_sample_top_p(SafeLLamaContextHandle, IntPtr, Single, UInt64)** + +Nucleus sampling described in academic paper "The Curious Case of Neural Text Degeneration" https://arxiv.org/abs/1904.09751 + +```csharp +public static void llama_sample_top_p(SafeLLamaContextHandle ctx, IntPtr candidates, float p, ulong min_keep) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +`p` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`min_keep` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +### **llama_sample_tail_free(SafeLLamaContextHandle, IntPtr, Single, UInt64)** + +Tail Free Sampling described in https://www.trentonbricken.com/Tail-Free-Sampling/. + +```csharp +public static void llama_sample_tail_free(SafeLLamaContextHandle ctx, IntPtr candidates, float z, ulong min_keep) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +`z` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`min_keep` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +### **llama_sample_typical(SafeLLamaContextHandle, IntPtr, Single, UInt64)** + +Locally Typical Sampling implementation described in the paper https://arxiv.org/abs/2202.00666. + +```csharp +public static void llama_sample_typical(SafeLLamaContextHandle ctx, IntPtr candidates, float p, ulong min_keep) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +`p` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`min_keep` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +### **llama_sample_temperature(SafeLLamaContextHandle, IntPtr, Single)** + +```csharp +public static void llama_sample_temperature(SafeLLamaContextHandle ctx, IntPtr candidates, float temp) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+ +`temp` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **llama_sample_token_mirostat(SafeLLamaContextHandle, IntPtr, Single, Single, Int32, Single*)** + +Mirostat 1.0 algorithm described in the paper https://arxiv.org/abs/2007.14966. Uses tokens instead of words. + +```csharp +public static int llama_sample_token_mirostat(SafeLLamaContextHandle ctx, IntPtr candidates, float tau, float eta, int m, Single* mu) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+A vector of `llama_token_data` containing the candidate tokens, their probabilities (p), and log-odds (logit) for the current position in the generated text. + +`tau` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+The target cross-entropy (or surprise) value you want to achieve for the generated text. A higher value corresponds to more surprising or less predictable text, while a lower value corresponds to less surprising or more predictable text. + +`eta` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+The learning rate used to update `mu` based on the error between the target and observed surprisal of the sampled word. A larger learning rate will cause `mu` to be updated more quickly, while a smaller learning rate will result in slower updates. + +`m` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+The number of tokens considered in the estimation of `s_hat`. This is an arbitrary value that is used to calculate `s_hat`, which in turn helps to calculate the value of `k`. In the paper, they use `m = 100`, but you can experiment with different values to see how it affects the performance of the algorithm. + +`mu` [Single*](https://docs.microsoft.com/en-us/dotnet/api/system.single*)
+Maximum cross-entropy. This value is initialized to be twice the target cross-entropy (`2 * tau`) and is updated in the algorithm based on the error between the target and observed surprisal. + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_sample_token_mirostat_v2(SafeLLamaContextHandle, IntPtr, Single, Single, Single*)** + +Mirostat 2.0 algorithm described in the paper https://arxiv.org/abs/2007.14966. Uses tokens instead of words. + +```csharp +public static int llama_sample_token_mirostat_v2(SafeLLamaContextHandle ctx, IntPtr candidates, float tau, float eta, Single* mu) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+A vector of `llama_token_data` containing the candidate tokens, their probabilities (p), and log-odds (logit) for the current position in the generated text. + +`tau` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+The target cross-entropy (or surprise) value you want to achieve for the generated text. A higher value corresponds to more surprising or less predictable text, while a lower value corresponds to less surprising or more predictable text. + +`eta` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+The learning rate used to update `mu` based on the error between the target and observed surprisal of the sampled word. A larger learning rate will cause `mu` to be updated more quickly, while a smaller learning rate will result in slower updates. + +`mu` [Single*](https://docs.microsoft.com/en-us/dotnet/api/system.single*)
+Maximum cross-entropy. This value is initialized to be twice the target cross-entropy (`2 * tau`) and is updated in the algorithm based on the error between the target and observed surprisal. + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_sample_token_greedy(SafeLLamaContextHandle, IntPtr)** + +Selects the token with the highest probability. + +```csharp +public static int llama_sample_token_greedy(SafeLLamaContextHandle ctx, IntPtr candidates) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_sample_token(SafeLLamaContextHandle, IntPtr)** + +Randomly selects a token from the candidates based on their probabilities. + +```csharp +public static int llama_sample_token(SafeLLamaContextHandle ctx, IntPtr candidates) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`candidates` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to LLamaTokenDataArray + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_empty_call()** + +```csharp +public static bool llama_empty_call() +``` + +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **llama_context_default_params()** + +```csharp +public static LLamaContextParams llama_context_default_params() +``` + +#### Returns + +[LLamaContextParams](./llama.native.llamacontextparams.md)
+ +### **llama_mmap_supported()** + +```csharp +public static bool llama_mmap_supported() +``` + +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **llama_mlock_supported()** + +```csharp +public static bool llama_mlock_supported() +``` + +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **llama_init_from_file(String, LLamaContextParams)** + +Various functions for loading a ggml llama model. + Allocate (almost) all memory needed for the model. + Return NULL on failure + +```csharp +public static IntPtr llama_init_from_file(string path_model, LLamaContextParams params_) +``` + +#### Parameters + +`path_model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`params_` [LLamaContextParams](./llama.native.llamacontextparams.md)
+ +#### Returns + +[IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+ +### **llama_init_backend()** + +not great API - very likely to change. + Initialize the llama + ggml backend + Call once at the start of the program + +```csharp +public static void llama_init_backend() +``` + +### **llama_free(IntPtr)** + +Frees all allocated memory + +```csharp +public static void llama_free(IntPtr ctx) +``` + +#### Parameters + +`ctx` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+ +### **llama_apply_lora_from_file(SafeLLamaContextHandle, String, String, Int32)** + +Apply a LoRA adapter to a loaded model + path_base_model is the path to a higher quality model to use as a base for + the layers modified by the adapter. Can be NULL to use the current loaded model. + The model needs to be reloaded before applying a new adapter, otherwise the adapter + will be applied on top of the previous one + +```csharp +public static int llama_apply_lora_from_file(SafeLLamaContextHandle ctx, string path_lora, string path_base_model, int n_threads) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`path_lora` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`path_base_model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`n_threads` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Returns 0 on success + +### **llama_get_kv_cache_token_count(SafeLLamaContextHandle)** + +Returns the number of tokens in the KV cache + +```csharp +public static int llama_get_kv_cache_token_count(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_set_rng_seed(SafeLLamaContextHandle, Int32)** + +Sets the current rng seed. + +```csharp +public static void llama_set_rng_seed(SafeLLamaContextHandle ctx, int seed) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`seed` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_get_state_size(SafeLLamaContextHandle)** + +Returns the maximum size in bytes of the state (rng, logits, embedding + and kv_cache) - will often be smaller after compacting tokens + +```csharp +public static ulong llama_get_state_size(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +#### Returns + +[UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +### **llama_copy_state_data(SafeLLamaContextHandle, Byte[])** + +Copies the state to the specified destination address. + Destination needs to have allocated enough memory. + Returns the number of bytes copied + +```csharp +public static ulong llama_copy_state_data(SafeLLamaContextHandle ctx, Byte[] dest) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`dest` [Byte[]](https://docs.microsoft.com/en-us/dotnet/api/system.byte)
+ +#### Returns + +[UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +### **llama_set_state_data(SafeLLamaContextHandle, Byte[])** + +Set the state reading from the specified address + Returns the number of bytes read + +```csharp +public static ulong llama_set_state_data(SafeLLamaContextHandle ctx, Byte[] src) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`src` [Byte[]](https://docs.microsoft.com/en-us/dotnet/api/system.byte)
+ +#### Returns + +[UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +### **llama_load_session_file(SafeLLamaContextHandle, String, Int32[], UInt64, UInt64*)** + +Load session file + +```csharp +public static bool llama_load_session_file(SafeLLamaContextHandle ctx, string path_session, Int32[] tokens_out, ulong n_token_capacity, UInt64* n_token_count_out) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`path_session` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`tokens_out` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_token_capacity` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +`n_token_count_out` [UInt64*](https://docs.microsoft.com/en-us/dotnet/api/system.uint64*)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **llama_save_session_file(SafeLLamaContextHandle, String, Int32[], UInt64)** + +Save session file + +```csharp +public static bool llama_save_session_file(SafeLLamaContextHandle ctx, string path_session, Int32[] tokens, ulong n_token_count) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`path_session` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`tokens` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_token_count` [UInt64](https://docs.microsoft.com/en-us/dotnet/api/system.uint64)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **llama_eval(SafeLLamaContextHandle, Int32[], Int32, Int32, Int32)** + +Run the llama inference to obtain the logits and probabilities for the next token. + tokens + n_tokens is the provided batch of new tokens to process + n_past is the number of tokens to use from previous eval calls + +```csharp +public static int llama_eval(SafeLLamaContextHandle ctx, Int32[] tokens, int n_tokens, int n_past, int n_threads) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`tokens` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_tokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_past` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_threads` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+Returns 0 on success + +### **llama_eval_with_pointer(SafeLLamaContextHandle, Int32*, Int32, Int32, Int32)** + +```csharp +public static int llama_eval_with_pointer(SafeLLamaContextHandle ctx, Int32* tokens, int n_tokens, int n_past, int n_threads) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`tokens` [Int32*](https://docs.microsoft.com/en-us/dotnet/api/system.int32*)
+ +`n_tokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_past` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_threads` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_tokenize(SafeLLamaContextHandle, String, Encoding, Int32[], Int32, Boolean)** + +Convert the provided text into tokens. + The tokens pointer must be large enough to hold the resulting tokens. + Returns the number of tokens on success, no more than n_max_tokens + Returns a negative number on failure - the number of tokens that would have been returned + +```csharp +public static int llama_tokenize(SafeLLamaContextHandle ctx, string text, Encoding encoding, Int32[] tokens, int n_max_tokens, bool add_bos) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [Encoding](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding)
+ +`tokens` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_max_tokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`add_bos` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_tokenize_native(SafeLLamaContextHandle, SByte[], Int32[], Int32, Boolean)** + +```csharp +public static int llama_tokenize_native(SafeLLamaContextHandle ctx, SByte[] text, Int32[] tokens, int n_max_tokens, bool add_bos) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`text` [SByte[]](https://docs.microsoft.com/en-us/dotnet/api/system.sbyte)
+ +`tokens` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_max_tokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`add_bos` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_n_vocab(SafeLLamaContextHandle)** + +```csharp +public static int llama_n_vocab(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_n_ctx(SafeLLamaContextHandle)** + +```csharp +public static int llama_n_ctx(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_n_embd(SafeLLamaContextHandle)** + +```csharp +public static int llama_n_embd(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_get_logits(SafeLLamaContextHandle)** + +Token logits obtained from the last call to llama_eval() + The logits for the last token are stored in the last row + Can be mutated in order to change the probabilities of the next token + Rows: n_tokens + Cols: n_vocab + +```csharp +public static Single* llama_get_logits(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +#### Returns + +[Single*](https://docs.microsoft.com/en-us/dotnet/api/system.single*)
+ +### **llama_get_embeddings(SafeLLamaContextHandle)** + +Get the embeddings for the input + shape: [n_embd] (1-dimensional) + +```csharp +public static Single* llama_get_embeddings(SafeLLamaContextHandle ctx) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +#### Returns + +[Single*](https://docs.microsoft.com/en-us/dotnet/api/system.single*)
+ +### **llama_token_to_str(SafeLLamaContextHandle, Int32)** + +Token Id -> String. Uses the vocabulary in the provided context + +```csharp +public static IntPtr llama_token_to_str(SafeLLamaContextHandle ctx, int token) +``` + +#### Parameters + +`ctx` [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +`token` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +#### Returns + +[IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+Pointer to a string. + +### **llama_token_bos()** + +```csharp +public static int llama_token_bos() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_token_eos()** + +```csharp +public static int llama_token_eos() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **llama_token_nl()** + +```csharp +public static int llama_token_nl() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
diff --git a/docs/xmldocs/llama.native.safellamacontexthandle.md b/docs/xmldocs/llama.native.safellamacontexthandle.md new file mode 100644 index 00000000..ea713984 --- /dev/null +++ b/docs/xmldocs/llama.native.safellamacontexthandle.md @@ -0,0 +1,56 @@ +# SafeLLamaContextHandle + +Namespace: LLama.Native + +```csharp +public class SafeLLamaContextHandle : SafeLLamaHandleBase, System.IDisposable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [CriticalFinalizerObject](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.constrainedexecution.criticalfinalizerobject) → [SafeHandle](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.safehandle) → [SafeLLamaHandleBase](./llama.native.safellamahandlebase.md) → [SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+Implements [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) + +## Properties + +### **IsInvalid** + +```csharp +public bool IsInvalid { get; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **IsClosed** + +```csharp +public bool IsClosed { get; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +## Constructors + +### **SafeLLamaContextHandle(IntPtr)** + +```csharp +public SafeLLamaContextHandle(IntPtr handle) +``` + +#### Parameters + +`handle` [IntPtr](https://docs.microsoft.com/en-us/dotnet/api/system.intptr)
+ +## Methods + +### **ReleaseHandle()** + +```csharp +protected bool ReleaseHandle() +``` + +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
diff --git a/docs/xmldocs/llama.native.safellamahandlebase.md b/docs/xmldocs/llama.native.safellamahandlebase.md new file mode 100644 index 00000000..1c9f8ef8 --- /dev/null +++ b/docs/xmldocs/llama.native.safellamahandlebase.md @@ -0,0 +1,44 @@ +# SafeLLamaHandleBase + +Namespace: LLama.Native + +```csharp +public abstract class SafeLLamaHandleBase : System.Runtime.InteropServices.SafeHandle, System.IDisposable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [CriticalFinalizerObject](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.constrainedexecution.criticalfinalizerobject) → [SafeHandle](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.safehandle) → [SafeLLamaHandleBase](./llama.native.safellamahandlebase.md)
+Implements [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) + +## Properties + +### **IsInvalid** + +```csharp +public bool IsInvalid { get; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **IsClosed** + +```csharp +public bool IsClosed { get; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
diff --git a/docs/xmldocs/llama.oldversion.chatcompletion.md b/docs/xmldocs/llama.oldversion.chatcompletion.md new file mode 100644 index 00000000..af1dd253 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatcompletion.md @@ -0,0 +1,188 @@ +# ChatCompletion + +Namespace: LLama.OldVersion + +```csharp +public class ChatCompletion : System.IEquatable`1[[LLama.OldVersion.ChatCompletion, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletion](./llama.oldversion.chatcompletion.md)
+Implements [IEquatable<ChatCompletion>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Id** + +```csharp +public string Id { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Object** + +```csharp +public string Object { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Created** + +```csharp +public int Created { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Model** + +```csharp +public string Model { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Choices** + +```csharp +public ChatCompletionChoice[] Choices { get; set; } +``` + +#### Property Value + +[ChatCompletionChoice[]](./llama.oldversion.chatcompletionchoice.md)
+ +### **Usage** + +```csharp +public CompletionUsage Usage { get; set; } +``` + +#### Property Value + +[CompletionUsage](./llama.oldversion.completionusage.md)
+ +## Constructors + +### **ChatCompletion(String, String, Int32, String, ChatCompletionChoice[], CompletionUsage)** + +```csharp +public ChatCompletion(string Id, string Object, int Created, string Model, ChatCompletionChoice[] Choices, CompletionUsage Usage) +``` + +#### Parameters + +`Id` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Object` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Created` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Choices` [ChatCompletionChoice[]](./llama.oldversion.chatcompletionchoice.md)
+ +`Usage` [CompletionUsage](./llama.oldversion.completionusage.md)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(ChatCompletion)** + +```csharp +public bool Equals(ChatCompletion other) +``` + +#### Parameters + +`other` [ChatCompletion](./llama.oldversion.chatcompletion.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public ChatCompletion $() +``` + +#### Returns + +[ChatCompletion](./llama.oldversion.chatcompletion.md)
+ +### **Deconstruct(String&, String&, Int32&, String&, ChatCompletionChoice[]&, CompletionUsage&)** + +```csharp +public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, ChatCompletionChoice[]& Choices, CompletionUsage& Usage) +``` + +#### Parameters + +`Id` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Object` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Created` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Model` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Choices` [ChatCompletionChoice[]&](./llama.oldversion.chatcompletionchoice&.md)
+ +`Usage` [CompletionUsage&](./llama.oldversion.completionusage&.md)
diff --git a/docs/xmldocs/llama.oldversion.chatcompletionchoice.md b/docs/xmldocs/llama.oldversion.chatcompletionchoice.md new file mode 100644 index 00000000..c5f80d7b --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatcompletionchoice.md @@ -0,0 +1,146 @@ +# ChatCompletionChoice + +Namespace: LLama.OldVersion + +```csharp +public class ChatCompletionChoice : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletionChoice](./llama.oldversion.chatcompletionchoice.md)
+Implements [IEquatable<ChatCompletionChoice>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Index** + +```csharp +public int Index { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Message** + +```csharp +public ChatCompletionMessage Message { get; set; } +``` + +#### Property Value + +[ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
+ +### **FinishReason** + +```csharp +public string FinishReason { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Constructors + +### **ChatCompletionChoice(Int32, ChatCompletionMessage, String)** + +```csharp +public ChatCompletionChoice(int Index, ChatCompletionMessage Message, string FinishReason) +``` + +#### Parameters + +`Index` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Message` [ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
+ +`FinishReason` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(ChatCompletionChoice)** + +```csharp +public bool Equals(ChatCompletionChoice other) +``` + +#### Parameters + +`other` [ChatCompletionChoice](./llama.oldversion.chatcompletionchoice.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public ChatCompletionChoice $() +``` + +#### Returns + +[ChatCompletionChoice](./llama.oldversion.chatcompletionchoice.md)
+ +### **Deconstruct(Int32&, ChatCompletionMessage&, String&)** + +```csharp +public void Deconstruct(Int32& Index, ChatCompletionMessage& Message, String& FinishReason) +``` + +#### Parameters + +`Index` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Message` [ChatCompletionMessage&](./llama.oldversion.chatcompletionmessage&.md)
+ +`FinishReason` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
diff --git a/docs/xmldocs/llama.oldversion.chatcompletionchunk.md b/docs/xmldocs/llama.oldversion.chatcompletionchunk.md new file mode 100644 index 00000000..a15a033e --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatcompletionchunk.md @@ -0,0 +1,174 @@ +# ChatCompletionChunk + +Namespace: LLama.OldVersion + +```csharp +public class ChatCompletionChunk : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunk, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletionChunk](./llama.oldversion.chatcompletionchunk.md)
+Implements [IEquatable<ChatCompletionChunk>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Id** + +```csharp +public string Id { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Model** + +```csharp +public string Model { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Object** + +```csharp +public string Object { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Created** + +```csharp +public int Created { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Choices** + +```csharp +public ChatCompletionChunkChoice[] Choices { get; set; } +``` + +#### Property Value + +[ChatCompletionChunkChoice[]](./llama.oldversion.chatcompletionchunkchoice.md)
+ +## Constructors + +### **ChatCompletionChunk(String, String, String, Int32, ChatCompletionChunkChoice[])** + +```csharp +public ChatCompletionChunk(string Id, string Model, string Object, int Created, ChatCompletionChunkChoice[] Choices) +``` + +#### Parameters + +`Id` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Object` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Created` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Choices` [ChatCompletionChunkChoice[]](./llama.oldversion.chatcompletionchunkchoice.md)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(ChatCompletionChunk)** + +```csharp +public bool Equals(ChatCompletionChunk other) +``` + +#### Parameters + +`other` [ChatCompletionChunk](./llama.oldversion.chatcompletionchunk.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public ChatCompletionChunk $() +``` + +#### Returns + +[ChatCompletionChunk](./llama.oldversion.chatcompletionchunk.md)
+ +### **Deconstruct(String&, String&, String&, Int32&, ChatCompletionChunkChoice[]&)** + +```csharp +public void Deconstruct(String& Id, String& Model, String& Object, Int32& Created, ChatCompletionChunkChoice[]& Choices) +``` + +#### Parameters + +`Id` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Model` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Object` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Created` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Choices` [ChatCompletionChunkChoice[]&](./llama.oldversion.chatcompletionchunkchoice&.md)
diff --git a/docs/xmldocs/llama.oldversion.chatcompletionchunkchoice.md b/docs/xmldocs/llama.oldversion.chatcompletionchunkchoice.md new file mode 100644 index 00000000..16e2954e --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatcompletionchunkchoice.md @@ -0,0 +1,146 @@ +# ChatCompletionChunkChoice + +Namespace: LLama.OldVersion + +```csharp +public class ChatCompletionChunkChoice : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunkChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletionChunkChoice](./llama.oldversion.chatcompletionchunkchoice.md)
+Implements [IEquatable<ChatCompletionChunkChoice>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Index** + +```csharp +public int Index { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Delta** + +```csharp +public ChatCompletionChunkDelta Delta { get; set; } +``` + +#### Property Value + +[ChatCompletionChunkDelta](./llama.oldversion.chatcompletionchunkdelta.md)
+ +### **FinishReason** + +```csharp +public string FinishReason { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Constructors + +### **ChatCompletionChunkChoice(Int32, ChatCompletionChunkDelta, String)** + +```csharp +public ChatCompletionChunkChoice(int Index, ChatCompletionChunkDelta Delta, string FinishReason) +``` + +#### Parameters + +`Index` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Delta` [ChatCompletionChunkDelta](./llama.oldversion.chatcompletionchunkdelta.md)
+ +`FinishReason` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(ChatCompletionChunkChoice)** + +```csharp +public bool Equals(ChatCompletionChunkChoice other) +``` + +#### Parameters + +`other` [ChatCompletionChunkChoice](./llama.oldversion.chatcompletionchunkchoice.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public ChatCompletionChunkChoice $() +``` + +#### Returns + +[ChatCompletionChunkChoice](./llama.oldversion.chatcompletionchunkchoice.md)
+ +### **Deconstruct(Int32&, ChatCompletionChunkDelta&, String&)** + +```csharp +public void Deconstruct(Int32& Index, ChatCompletionChunkDelta& Delta, String& FinishReason) +``` + +#### Parameters + +`Index` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Delta` [ChatCompletionChunkDelta&](./llama.oldversion.chatcompletionchunkdelta&.md)
+ +`FinishReason` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
diff --git a/docs/xmldocs/llama.oldversion.chatcompletionchunkdelta.md b/docs/xmldocs/llama.oldversion.chatcompletionchunkdelta.md new file mode 100644 index 00000000..a924879d --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatcompletionchunkdelta.md @@ -0,0 +1,132 @@ +# ChatCompletionChunkDelta + +Namespace: LLama.OldVersion + +```csharp +public class ChatCompletionChunkDelta : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunkDelta, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletionChunkDelta](./llama.oldversion.chatcompletionchunkdelta.md)
+Implements [IEquatable<ChatCompletionChunkDelta>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Role** + +```csharp +public string Role { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Content** + +```csharp +public string Content { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Constructors + +### **ChatCompletionChunkDelta(String, String)** + +```csharp +public ChatCompletionChunkDelta(string Role, string Content) +``` + +#### Parameters + +`Role` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Content` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(ChatCompletionChunkDelta)** + +```csharp +public bool Equals(ChatCompletionChunkDelta other) +``` + +#### Parameters + +`other` [ChatCompletionChunkDelta](./llama.oldversion.chatcompletionchunkdelta.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public ChatCompletionChunkDelta $() +``` + +#### Returns + +[ChatCompletionChunkDelta](./llama.oldversion.chatcompletionchunkdelta.md)
+ +### **Deconstruct(String&, String&)** + +```csharp +public void Deconstruct(String& Role, String& Content) +``` + +#### Parameters + +`Role` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Content` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
diff --git a/docs/xmldocs/llama.oldversion.chatcompletionmessage.md b/docs/xmldocs/llama.oldversion.chatcompletionmessage.md new file mode 100644 index 00000000..2856c180 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatcompletionmessage.md @@ -0,0 +1,146 @@ +# ChatCompletionMessage + +Namespace: LLama.OldVersion + +```csharp +public class ChatCompletionMessage : System.IEquatable`1[[LLama.OldVersion.ChatCompletionMessage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
+Implements [IEquatable<ChatCompletionMessage>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Role** + +```csharp +public ChatRole Role { get; set; } +``` + +#### Property Value + +[ChatRole](./llama.oldversion.chatrole.md)
+ +### **Content** + +```csharp +public string Content { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Name** + +```csharp +public string Name { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Constructors + +### **ChatCompletionMessage(ChatRole, String, String)** + +```csharp +public ChatCompletionMessage(ChatRole Role, string Content, string Name) +``` + +#### Parameters + +`Role` [ChatRole](./llama.oldversion.chatrole.md)
+ +`Content` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Name` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(ChatCompletionMessage)** + +```csharp +public bool Equals(ChatCompletionMessage other) +``` + +#### Parameters + +`other` [ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public ChatCompletionMessage $() +``` + +#### Returns + +[ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
+ +### **Deconstruct(ChatRole&, String&, String&)** + +```csharp +public void Deconstruct(ChatRole& Role, String& Content, String& Name) +``` + +#### Parameters + +`Role` [ChatRole&](./llama.oldversion.chatrole&.md)
+ +`Content` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Name` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
diff --git a/docs/xmldocs/llama.oldversion.chatmessagerecord.md b/docs/xmldocs/llama.oldversion.chatmessagerecord.md new file mode 100644 index 00000000..8722f4bd --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatmessagerecord.md @@ -0,0 +1,132 @@ +# ChatMessageRecord + +Namespace: LLama.OldVersion + +```csharp +public class ChatMessageRecord : System.IEquatable`1[[LLama.OldVersion.ChatMessageRecord, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatMessageRecord](./llama.oldversion.chatmessagerecord.md)
+Implements [IEquatable<ChatMessageRecord>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Message** + +```csharp +public ChatCompletionMessage Message { get; set; } +``` + +#### Property Value + +[ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
+ +### **Time** + +```csharp +public DateTime Time { get; set; } +``` + +#### Property Value + +[DateTime](https://docs.microsoft.com/en-us/dotnet/api/system.datetime)
+ +## Constructors + +### **ChatMessageRecord(ChatCompletionMessage, DateTime)** + +```csharp +public ChatMessageRecord(ChatCompletionMessage Message, DateTime Time) +``` + +#### Parameters + +`Message` [ChatCompletionMessage](./llama.oldversion.chatcompletionmessage.md)
+ +`Time` [DateTime](https://docs.microsoft.com/en-us/dotnet/api/system.datetime)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(ChatMessageRecord)** + +```csharp +public bool Equals(ChatMessageRecord other) +``` + +#### Parameters + +`other` [ChatMessageRecord](./llama.oldversion.chatmessagerecord.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public ChatMessageRecord $() +``` + +#### Returns + +[ChatMessageRecord](./llama.oldversion.chatmessagerecord.md)
+ +### **Deconstruct(ChatCompletionMessage&, DateTime&)** + +```csharp +public void Deconstruct(ChatCompletionMessage& Message, DateTime& Time) +``` + +#### Parameters + +`Message` [ChatCompletionMessage&](./llama.oldversion.chatcompletionmessage&.md)
+ +`Time` [DateTime&](https://docs.microsoft.com/en-us/dotnet/api/system.datetime&)
diff --git a/docs/xmldocs/llama.oldversion.chatrole.md b/docs/xmldocs/llama.oldversion.chatrole.md new file mode 100644 index 00000000..469f42dc --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatrole.md @@ -0,0 +1,15 @@ +# ChatRole + +Namespace: LLama.OldVersion + +```csharp +public enum ChatRole +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.enum) → [ChatRole](./llama.oldversion.chatrole.md)
+Implements [IComparable](https://docs.microsoft.com/en-us/dotnet/api/system.icomparable), [IFormattable](https://docs.microsoft.com/en-us/dotnet/api/system.iformattable), [IConvertible](https://docs.microsoft.com/en-us/dotnet/api/system.iconvertible) + +## Fields + +| Name | Value | Description | +| --- | --: | --- | diff --git a/docs/xmldocs/llama.oldversion.chatsession-1.md b/docs/xmldocs/llama.oldversion.chatsession-1.md new file mode 100644 index 00000000..4fcbeebf --- /dev/null +++ b/docs/xmldocs/llama.oldversion.chatsession-1.md @@ -0,0 +1,93 @@ +# ChatSession<T> + +Namespace: LLama.OldVersion + +```csharp +public class ChatSession +``` + +#### Type Parameters + +`T`
+ +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ChatSession<T>](./llama.oldversion.chatsession-1.md) + +## Constructors + +### **ChatSession(T)** + +```csharp +public ChatSession(T model) +``` + +#### Parameters + +`model` T
+ +## Methods + +### **Chat(String, String, String)** + +```csharp +public IEnumerable Chat(string text, string prompt, string encoding) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **WithPrompt(String, String)** + +```csharp +public ChatSession WithPrompt(string prompt, string encoding) +``` + +#### Parameters + +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[ChatSession<T>](./llama.oldversion.chatsession-1.md)
+ +### **WithPromptFile(String, String)** + +```csharp +public ChatSession WithPromptFile(string promptFilename, string encoding) +``` + +#### Parameters + +`promptFilename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[ChatSession<T>](./llama.oldversion.chatsession-1.md)
+ +### **WithAntiprompt(String[])** + +Set the keyword to split the return value of chat AI. + +```csharp +public ChatSession WithAntiprompt(String[] antiprompt) +``` + +#### Parameters + +`antiprompt` [String[]](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[ChatSession<T>](./llama.oldversion.chatsession-1.md)
diff --git a/docs/xmldocs/llama.oldversion.completion.md b/docs/xmldocs/llama.oldversion.completion.md new file mode 100644 index 00000000..39765402 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.completion.md @@ -0,0 +1,188 @@ +# Completion + +Namespace: LLama.OldVersion + +```csharp +public class Completion : System.IEquatable`1[[LLama.OldVersion.Completion, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [Completion](./llama.oldversion.completion.md)
+Implements [IEquatable<Completion>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Id** + +```csharp +public string Id { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Object** + +```csharp +public string Object { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Created** + +```csharp +public int Created { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Model** + +```csharp +public string Model { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Choices** + +```csharp +public CompletionChoice[] Choices { get; set; } +``` + +#### Property Value + +[CompletionChoice[]](./llama.oldversion.completionchoice.md)
+ +### **Usage** + +```csharp +public CompletionUsage Usage { get; set; } +``` + +#### Property Value + +[CompletionUsage](./llama.oldversion.completionusage.md)
+ +## Constructors + +### **Completion(String, String, Int32, String, CompletionChoice[], CompletionUsage)** + +```csharp +public Completion(string Id, string Object, int Created, string Model, CompletionChoice[] Choices, CompletionUsage Usage) +``` + +#### Parameters + +`Id` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Object` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Created` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Choices` [CompletionChoice[]](./llama.oldversion.completionchoice.md)
+ +`Usage` [CompletionUsage](./llama.oldversion.completionusage.md)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(Completion)** + +```csharp +public bool Equals(Completion other) +``` + +#### Parameters + +`other` [Completion](./llama.oldversion.completion.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public Completion $() +``` + +#### Returns + +[Completion](./llama.oldversion.completion.md)
+ +### **Deconstruct(String&, String&, Int32&, String&, CompletionChoice[]&, CompletionUsage&)** + +```csharp +public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, CompletionChoice[]& Choices, CompletionUsage& Usage) +``` + +#### Parameters + +`Id` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Object` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Created` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Model` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Choices` [CompletionChoice[]&](./llama.oldversion.completionchoice&.md)
+ +`Usage` [CompletionUsage&](./llama.oldversion.completionusage&.md)
diff --git a/docs/xmldocs/llama.oldversion.completionchoice.md b/docs/xmldocs/llama.oldversion.completionchoice.md new file mode 100644 index 00000000..e09df723 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.completionchoice.md @@ -0,0 +1,160 @@ +# CompletionChoice + +Namespace: LLama.OldVersion + +```csharp +public class CompletionChoice : System.IEquatable`1[[LLama.OldVersion.CompletionChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [CompletionChoice](./llama.oldversion.completionchoice.md)
+Implements [IEquatable<CompletionChoice>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Text** + +```csharp +public string Text { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Index** + +```csharp +public int Index { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Logprobs** + +```csharp +public CompletionLogprobs Logprobs { get; set; } +``` + +#### Property Value + +[CompletionLogprobs](./llama.oldversion.completionlogprobs.md)
+ +### **FinishReason** + +```csharp +public string FinishReason { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Constructors + +### **CompletionChoice(String, Int32, CompletionLogprobs, String)** + +```csharp +public CompletionChoice(string Text, int Index, CompletionLogprobs Logprobs, string FinishReason) +``` + +#### Parameters + +`Text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Index` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Logprobs` [CompletionLogprobs](./llama.oldversion.completionlogprobs.md)
+ +`FinishReason` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(CompletionChoice)** + +```csharp +public bool Equals(CompletionChoice other) +``` + +#### Parameters + +`other` [CompletionChoice](./llama.oldversion.completionchoice.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public CompletionChoice $() +``` + +#### Returns + +[CompletionChoice](./llama.oldversion.completionchoice.md)
+ +### **Deconstruct(String&, Int32&, CompletionLogprobs&, String&)** + +```csharp +public void Deconstruct(String& Text, Int32& Index, CompletionLogprobs& Logprobs, String& FinishReason) +``` + +#### Parameters + +`Text` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Index` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Logprobs` [CompletionLogprobs&](./llama.oldversion.completionlogprobs&.md)
+ +`FinishReason` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
diff --git a/docs/xmldocs/llama.oldversion.completionchunk.md b/docs/xmldocs/llama.oldversion.completionchunk.md new file mode 100644 index 00000000..cc2ccec8 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.completionchunk.md @@ -0,0 +1,174 @@ +# CompletionChunk + +Namespace: LLama.OldVersion + +```csharp +public class CompletionChunk : System.IEquatable`1[[LLama.OldVersion.CompletionChunk, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [CompletionChunk](./llama.oldversion.completionchunk.md)
+Implements [IEquatable<CompletionChunk>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Id** + +```csharp +public string Id { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Object** + +```csharp +public string Object { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Created** + +```csharp +public int Created { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Model** + +```csharp +public string Model { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Choices** + +```csharp +public CompletionChoice[] Choices { get; set; } +``` + +#### Property Value + +[CompletionChoice[]](./llama.oldversion.completionchoice.md)
+ +## Constructors + +### **CompletionChunk(String, String, Int32, String, CompletionChoice[])** + +```csharp +public CompletionChunk(string Id, string Object, int Created, string Model, CompletionChoice[] Choices) +``` + +#### Parameters + +`Id` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Object` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Created` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Choices` [CompletionChoice[]](./llama.oldversion.completionchoice.md)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(CompletionChunk)** + +```csharp +public bool Equals(CompletionChunk other) +``` + +#### Parameters + +`other` [CompletionChunk](./llama.oldversion.completionchunk.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public CompletionChunk $() +``` + +#### Returns + +[CompletionChunk](./llama.oldversion.completionchunk.md)
+ +### **Deconstruct(String&, String&, Int32&, String&, CompletionChoice[]&)** + +```csharp +public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, CompletionChoice[]& Choices) +``` + +#### Parameters + +`Id` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Object` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Created` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Model` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Choices` [CompletionChoice[]&](./llama.oldversion.completionchoice&.md)
diff --git a/docs/xmldocs/llama.oldversion.completionlogprobs.md b/docs/xmldocs/llama.oldversion.completionlogprobs.md new file mode 100644 index 00000000..8c20201e --- /dev/null +++ b/docs/xmldocs/llama.oldversion.completionlogprobs.md @@ -0,0 +1,160 @@ +# CompletionLogprobs + +Namespace: LLama.OldVersion + +```csharp +public class CompletionLogprobs : System.IEquatable`1[[LLama.OldVersion.CompletionLogprobs, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [CompletionLogprobs](./llama.oldversion.completionlogprobs.md)
+Implements [IEquatable<CompletionLogprobs>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **TextOffset** + +```csharp +public Int32[] TextOffset { get; set; } +``` + +#### Property Value + +[Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **TokenLogProbs** + +```csharp +public Single[] TokenLogProbs { get; set; } +``` + +#### Property Value + +[Single[]](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **Tokens** + +```csharp +public String[] Tokens { get; set; } +``` + +#### Property Value + +[String[]](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **TopLogprobs** + +```csharp +public Dictionary`2[] TopLogprobs { get; set; } +``` + +#### Property Value + +[Dictionary`2[]](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2)
+ +## Constructors + +### **CompletionLogprobs(Int32[], Single[], String[], Dictionary`2[])** + +```csharp +public CompletionLogprobs(Int32[] TextOffset, Single[] TokenLogProbs, String[] Tokens, Dictionary`2[] TopLogprobs) +``` + +#### Parameters + +`TextOffset` [Int32[]](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`TokenLogProbs` [Single[]](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`Tokens` [String[]](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`TopLogprobs` [Dictionary`2[]](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(CompletionLogprobs)** + +```csharp +public bool Equals(CompletionLogprobs other) +``` + +#### Parameters + +`other` [CompletionLogprobs](./llama.oldversion.completionlogprobs.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public CompletionLogprobs $() +``` + +#### Returns + +[CompletionLogprobs](./llama.oldversion.completionlogprobs.md)
+ +### **Deconstruct(Int32[]&, Single[]&, String[]&, Dictionary`2[]&)** + +```csharp +public void Deconstruct(Int32[]& TextOffset, Single[]& TokenLogProbs, String[]& Tokens, Dictionary`2[]& TopLogprobs) +``` + +#### Parameters + +`TextOffset` [Int32[]&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`TokenLogProbs` [Single[]&](https://docs.microsoft.com/en-us/dotnet/api/system.single&)
+ +`Tokens` [String[]&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`TopLogprobs` [Dictionary`2[]&](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2&)
diff --git a/docs/xmldocs/llama.oldversion.completionusage.md b/docs/xmldocs/llama.oldversion.completionusage.md new file mode 100644 index 00000000..ec996c50 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.completionusage.md @@ -0,0 +1,146 @@ +# CompletionUsage + +Namespace: LLama.OldVersion + +```csharp +public class CompletionUsage : System.IEquatable`1[[LLama.OldVersion.CompletionUsage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [CompletionUsage](./llama.oldversion.completionusage.md)
+Implements [IEquatable<CompletionUsage>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **PromptTokens** + +```csharp +public int PromptTokens { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **CompletionTokens** + +```csharp +public int CompletionTokens { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **TotalTokens** + +```csharp +public int TotalTokens { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +## Constructors + +### **CompletionUsage(Int32, Int32, Int32)** + +```csharp +public CompletionUsage(int PromptTokens, int CompletionTokens, int TotalTokens) +``` + +#### Parameters + +`PromptTokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`CompletionTokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`TotalTokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(CompletionUsage)** + +```csharp +public bool Equals(CompletionUsage other) +``` + +#### Parameters + +`other` [CompletionUsage](./llama.oldversion.completionusage.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public CompletionUsage $() +``` + +#### Returns + +[CompletionUsage](./llama.oldversion.completionusage.md)
+ +### **Deconstruct(Int32&, Int32&, Int32&)** + +```csharp +public void Deconstruct(Int32& PromptTokens, Int32& CompletionTokens, Int32& TotalTokens) +``` + +#### Parameters + +`PromptTokens` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`CompletionTokens` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`TotalTokens` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
diff --git a/docs/xmldocs/llama.oldversion.embedding.md b/docs/xmldocs/llama.oldversion.embedding.md new file mode 100644 index 00000000..e1fa7a89 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.embedding.md @@ -0,0 +1,160 @@ +# Embedding + +Namespace: LLama.OldVersion + +```csharp +public class Embedding : System.IEquatable`1[[LLama.OldVersion.Embedding, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [Embedding](./llama.oldversion.embedding.md)
+Implements [IEquatable<Embedding>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Object** + +```csharp +public string Object { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Model** + +```csharp +public string Model { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Data** + +```csharp +public EmbeddingData[] Data { get; set; } +``` + +#### Property Value + +[EmbeddingData[]](./llama.oldversion.embeddingdata.md)
+ +### **Usage** + +```csharp +public EmbeddingUsage Usage { get; set; } +``` + +#### Property Value + +[EmbeddingUsage](./llama.oldversion.embeddingusage.md)
+ +## Constructors + +### **Embedding(String, String, EmbeddingData[], EmbeddingUsage)** + +```csharp +public Embedding(string Object, string Model, EmbeddingData[] Data, EmbeddingUsage Usage) +``` + +#### Parameters + +`Object` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Data` [EmbeddingData[]](./llama.oldversion.embeddingdata.md)
+ +`Usage` [EmbeddingUsage](./llama.oldversion.embeddingusage.md)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(Embedding)** + +```csharp +public bool Equals(Embedding other) +``` + +#### Parameters + +`other` [Embedding](./llama.oldversion.embedding.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public Embedding $() +``` + +#### Returns + +[Embedding](./llama.oldversion.embedding.md)
+ +### **Deconstruct(String&, String&, EmbeddingData[]&, EmbeddingUsage&)** + +```csharp +public void Deconstruct(String& Object, String& Model, EmbeddingData[]& Data, EmbeddingUsage& Usage) +``` + +#### Parameters + +`Object` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Model` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Data` [EmbeddingData[]&](./llama.oldversion.embeddingdata&.md)
+ +`Usage` [EmbeddingUsage&](./llama.oldversion.embeddingusage&.md)
diff --git a/docs/xmldocs/llama.oldversion.embeddingdata.md b/docs/xmldocs/llama.oldversion.embeddingdata.md new file mode 100644 index 00000000..34f58e77 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.embeddingdata.md @@ -0,0 +1,146 @@ +# EmbeddingData + +Namespace: LLama.OldVersion + +```csharp +public class EmbeddingData : System.IEquatable`1[[LLama.OldVersion.EmbeddingData, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [EmbeddingData](./llama.oldversion.embeddingdata.md)
+Implements [IEquatable<EmbeddingData>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **Index** + +```csharp +public int Index { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Object** + +```csharp +public string Object { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Embedding** + +```csharp +public Single[] Embedding { get; set; } +``` + +#### Property Value + +[Single[]](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +## Constructors + +### **EmbeddingData(Int32, String, Single[])** + +```csharp +public EmbeddingData(int Index, string Object, Single[] Embedding) +``` + +#### Parameters + +`Index` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`Object` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`Embedding` [Single[]](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(EmbeddingData)** + +```csharp +public bool Equals(EmbeddingData other) +``` + +#### Parameters + +`other` [EmbeddingData](./llama.oldversion.embeddingdata.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public EmbeddingData $() +``` + +#### Returns + +[EmbeddingData](./llama.oldversion.embeddingdata.md)
+ +### **Deconstruct(Int32&, String&, Single[]&)** + +```csharp +public void Deconstruct(Int32& Index, String& Object, Single[]& Embedding) +``` + +#### Parameters + +`Index` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`Object` [String&](https://docs.microsoft.com/en-us/dotnet/api/system.string&)
+ +`Embedding` [Single[]&](https://docs.microsoft.com/en-us/dotnet/api/system.single&)
diff --git a/docs/xmldocs/llama.oldversion.embeddingusage.md b/docs/xmldocs/llama.oldversion.embeddingusage.md new file mode 100644 index 00000000..f6d39441 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.embeddingusage.md @@ -0,0 +1,132 @@ +# EmbeddingUsage + +Namespace: LLama.OldVersion + +```csharp +public class EmbeddingUsage : System.IEquatable`1[[LLama.OldVersion.EmbeddingUsage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]] +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [EmbeddingUsage](./llama.oldversion.embeddingusage.md)
+Implements [IEquatable<EmbeddingUsage>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1) + +## Properties + +### **PromptTokens** + +```csharp +public int PromptTokens { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **TotalTokens** + +```csharp +public int TotalTokens { get; set; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +## Constructors + +### **EmbeddingUsage(Int32, Int32)** + +```csharp +public EmbeddingUsage(int PromptTokens, int TotalTokens) +``` + +#### Parameters + +`PromptTokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`TotalTokens` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +## Methods + +### **ToString()** + +```csharp +public string ToString() +``` + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **PrintMembers(StringBuilder)** + +```csharp +protected bool PrintMembers(StringBuilder builder) +``` + +#### Parameters + +`builder` [StringBuilder](https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **GetHashCode()** + +```csharp +public int GetHashCode() +``` + +#### Returns + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Equals(Object)** + +```csharp +public bool Equals(object obj) +``` + +#### Parameters + +`obj` [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **Equals(EmbeddingUsage)** + +```csharp +public bool Equals(EmbeddingUsage other) +``` + +#### Parameters + +`other` [EmbeddingUsage](./llama.oldversion.embeddingusage.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **<Clone>$()** + +```csharp +public EmbeddingUsage $() +``` + +#### Returns + +[EmbeddingUsage](./llama.oldversion.embeddingusage.md)
+ +### **Deconstruct(Int32&, Int32&)** + +```csharp +public void Deconstruct(Int32& PromptTokens, Int32& TotalTokens) +``` + +#### Parameters + +`PromptTokens` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
+ +`TotalTokens` [Int32&](https://docs.microsoft.com/en-us/dotnet/api/system.int32&)
diff --git a/docs/xmldocs/llama.oldversion.ichatmodel.md b/docs/xmldocs/llama.oldversion.ichatmodel.md new file mode 100644 index 00000000..ce7b7134 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.ichatmodel.md @@ -0,0 +1,63 @@ +# IChatModel + +Namespace: LLama.OldVersion + +```csharp +public interface IChatModel +``` + +## Properties + +### **Name** + +```csharp +public abstract string Name { get; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **Chat(String, String, String)** + +```csharp +IEnumerable Chat(string text, string prompt, string encoding) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **InitChatPrompt(String, String)** + +Init a prompt for chat and automatically produce the next prompt during the chat. + +```csharp +void InitChatPrompt(string prompt, string encoding) +``` + +#### Parameters + +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **InitChatAntiprompt(String[])** + +```csharp +void InitChatAntiprompt(String[] antiprompt) +``` + +#### Parameters + +`antiprompt` [String[]](https://docs.microsoft.com/en-us/dotnet/api/system.string)
diff --git a/docs/xmldocs/llama.oldversion.llamaembedder.md b/docs/xmldocs/llama.oldversion.llamaembedder.md new file mode 100644 index 00000000..0259316d --- /dev/null +++ b/docs/xmldocs/llama.oldversion.llamaembedder.md @@ -0,0 +1,50 @@ +# LLamaEmbedder + +Namespace: LLama.OldVersion + +```csharp +public class LLamaEmbedder : System.IDisposable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaEmbedder](./llama.oldversion.llamaembedder.md)
+Implements [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) + +## Constructors + +### **LLamaEmbedder(LLamaParams)** + +```csharp +public LLamaEmbedder(LLamaParams params) +``` + +#### Parameters + +`params` [LLamaParams](./llama.oldversion.llamaparams.md)
+ +## Methods + +### **GetEmbeddings(String, Int32, Boolean, String)** + +```csharp +public Single[] GetEmbeddings(string text, int n_thread, bool add_bos, string encoding) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`n_thread` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`add_bos` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[Single[]](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +### **Dispose()** + +```csharp +public void Dispose() +``` diff --git a/docs/xmldocs/llama.oldversion.llamamodel.md b/docs/xmldocs/llama.oldversion.llamamodel.md new file mode 100644 index 00000000..4f014907 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.llamamodel.md @@ -0,0 +1,362 @@ +# LLamaModel + +Namespace: LLama.OldVersion + +```csharp +public class LLamaModel : IChatModel, System.IDisposable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaModel](./llama.oldversion.llamamodel.md)
+Implements [IChatModel](./llama.oldversion.ichatmodel.md), [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) + +## Properties + +### **Name** + +```csharp +public string Name { get; set; } +``` + +#### Property Value + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Verbose** + +```csharp +public bool Verbose { get; set; } +``` + +#### Property Value + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **NativeHandle** + +```csharp +public SafeLLamaContextHandle NativeHandle { get; } +``` + +#### Property Value + +[SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +## Constructors + +### **LLamaModel(String, String, Boolean, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Dictionary<Int32, Single>, Int32, Single, Single, Single, Single, Single, Int32, Single, Single, Int32, Single, Single, String, String, String, String, List<String>, String, String, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, String)** + +Please refer `LLamaParams` to find the meanings of each arg. Be sure to have set the `n_gpu_layers`, otherwise it will + load 20 layers to gpu by default. + +```csharp +public LLamaModel(string model_path, string model_name, bool verbose, int seed, int n_threads, int n_predict, int n_ctx, int n_batch, int n_keep, int n_gpu_layers, Dictionary logit_bias, int top_k, float top_p, float tfs_z, float typical_p, float temp, float repeat_penalty, int repeat_last_n, float frequency_penalty, float presence_penalty, int mirostat, float mirostat_tau, float mirostat_eta, string prompt, string path_session, string input_prefix, string input_suffix, List antiprompt, string lora_adapter, string lora_base, bool memory_f16, bool random_prompt, bool use_color, bool interactive, bool embedding, bool interactive_first, bool prompt_cache_all, bool instruct, bool penalize_nl, bool perplexity, bool use_mmap, bool use_mlock, bool mem_test, bool verbose_prompt, string encoding) +``` + +#### Parameters + +`model_path` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The model file path. + +`model_name` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The model name. + +`verbose` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to print details when running the model. + +`seed` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_threads` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_predict` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_ctx` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_batch` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_keep` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_gpu_layers` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`logit_bias` [Dictionary<Int32, Single>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2)
+ +`top_k` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`top_p` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`tfs_z` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`typical_p` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`temp` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`repeat_penalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`repeat_last_n` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`frequency_penalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`presence_penalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`mirostat` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`mirostat_tau` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`mirostat_eta` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`path_session` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`input_prefix` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`input_suffix` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`antiprompt` [List<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1)
+ +`lora_adapter` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`lora_base` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`memory_f16` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`random_prompt` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`use_color` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`interactive` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`embedding` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`interactive_first` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`prompt_cache_all` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`instruct` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`penalize_nl` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`perplexity` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`use_mmap` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`use_mlock` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`mem_test` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`verbose_prompt` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **LLamaModel(LLamaParams, String, Boolean, String)** + +Please refer `LLamaParams` to find the meanings of each arg. Be sure to have set the `n_gpu_layers`, otherwise it will + load 20 layers to gpu by default. + +```csharp +public LLamaModel(LLamaParams params, string name, bool verbose, string encoding) +``` + +#### Parameters + +`params` [LLamaParams](./llama.oldversion.llamaparams.md)
+The LLamaModel params + +`name` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+Model name + +`verbose` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to output the detailed info. + +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +## Methods + +### **WithPrompt(String, String)** + +Apply a prompt to the model. + +```csharp +public LLamaModel WithPrompt(string prompt, string encoding) +``` + +#### Parameters + +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[LLamaModel](./llama.oldversion.llamamodel.md)
+ +#### Exceptions + +[ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/system.argumentexception)
+ +### **WithPromptFile(String)** + +Apply the prompt file to the model. + +```csharp +public LLamaModel WithPromptFile(string promptFileName) +``` + +#### Parameters + +`promptFileName` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[LLamaModel](./llama.oldversion.llamamodel.md)
+ +### **InitChatPrompt(String, String)** + +```csharp +public void InitChatPrompt(string prompt, string encoding) +``` + +#### Parameters + +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **InitChatAntiprompt(String[])** + +```csharp +public void InitChatAntiprompt(String[] antiprompt) +``` + +#### Parameters + +`antiprompt` [String[]](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Chat(String, String, String)** + +Chat with the LLaMa model under interactive mode. + +```csharp +public IEnumerable Chat(string text, string prompt, string encoding) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +#### Exceptions + +[ArgumentException](https://docs.microsoft.com/en-us/dotnet/api/system.argumentexception)
+ +### **SaveState(String)** + +Save the state to specified path. + +```csharp +public void SaveState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **LoadState(String, Boolean)** + +Load the state from specified path. + +```csharp +public void LoadState(string filename, bool clearPreviousEmbed) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`clearPreviousEmbed` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+Whether to clear previous footprints of this model. + +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +### **Tokenize(String, String)** + +Tokenize a string. + +```csharp +public List Tokenize(string text, string encoding) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The utf-8 encoded string to tokenize. + +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[List<Int32>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1)
+A list of tokens. + +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+If the tokenization failed. + +### **DeTokenize(IEnumerable<Int32>)** + +Detokenize a list of tokens. + +```csharp +public string DeTokenize(IEnumerable tokens) +``` + +#### Parameters + +`tokens` [IEnumerable<Int32>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+The list of tokens to detokenize. + +#### Returns + +[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+The detokenized string. + +### **Call(String, String)** + +Call the model to run inference. + +```csharp +public IEnumerable Call(string text, string encoding) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +#### Exceptions + +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +### **Dispose()** + +```csharp +public void Dispose() +``` diff --git a/docs/xmldocs/llama.oldversion.llamaparams.md b/docs/xmldocs/llama.oldversion.llamaparams.md new file mode 100644 index 00000000..ce242f59 --- /dev/null +++ b/docs/xmldocs/llama.oldversion.llamaparams.md @@ -0,0 +1,357 @@ +# LLamaParams + +Namespace: LLama.OldVersion + +```csharp +public struct LLamaParams +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ValueType](https://docs.microsoft.com/en-us/dotnet/api/system.valuetype) → [LLamaParams](./llama.oldversion.llamaparams.md) + +## Fields + +### **seed** + +```csharp +public int seed; +``` + +### **n_threads** + +```csharp +public int n_threads; +``` + +### **n_predict** + +```csharp +public int n_predict; +``` + +### **n_ctx** + +```csharp +public int n_ctx; +``` + +### **n_batch** + +```csharp +public int n_batch; +``` + +### **n_keep** + +```csharp +public int n_keep; +``` + +### **n_gpu_layers** + +```csharp +public int n_gpu_layers; +``` + +### **logit_bias** + +```csharp +public Dictionary logit_bias; +``` + +### **top_k** + +```csharp +public int top_k; +``` + +### **top_p** + +```csharp +public float top_p; +``` + +### **tfs_z** + +```csharp +public float tfs_z; +``` + +### **typical_p** + +```csharp +public float typical_p; +``` + +### **temp** + +```csharp +public float temp; +``` + +### **repeat_penalty** + +```csharp +public float repeat_penalty; +``` + +### **repeat_last_n** + +```csharp +public int repeat_last_n; +``` + +### **frequency_penalty** + +```csharp +public float frequency_penalty; +``` + +### **presence_penalty** + +```csharp +public float presence_penalty; +``` + +### **mirostat** + +```csharp +public int mirostat; +``` + +### **mirostat_tau** + +```csharp +public float mirostat_tau; +``` + +### **mirostat_eta** + +```csharp +public float mirostat_eta; +``` + +### **model** + +```csharp +public string model; +``` + +### **prompt** + +```csharp +public string prompt; +``` + +### **path_session** + +```csharp +public string path_session; +``` + +### **input_prefix** + +```csharp +public string input_prefix; +``` + +### **input_suffix** + +```csharp +public string input_suffix; +``` + +### **antiprompt** + +```csharp +public List antiprompt; +``` + +### **lora_adapter** + +```csharp +public string lora_adapter; +``` + +### **lora_base** + +```csharp +public string lora_base; +``` + +### **memory_f16** + +```csharp +public bool memory_f16; +``` + +### **random_prompt** + +```csharp +public bool random_prompt; +``` + +### **use_color** + +```csharp +public bool use_color; +``` + +### **interactive** + +```csharp +public bool interactive; +``` + +### **prompt_cache_all** + +```csharp +public bool prompt_cache_all; +``` + +### **embedding** + +```csharp +public bool embedding; +``` + +### **interactive_first** + +```csharp +public bool interactive_first; +``` + +### **instruct** + +```csharp +public bool instruct; +``` + +### **penalize_nl** + +```csharp +public bool penalize_nl; +``` + +### **perplexity** + +```csharp +public bool perplexity; +``` + +### **use_mmap** + +```csharp +public bool use_mmap; +``` + +### **use_mlock** + +```csharp +public bool use_mlock; +``` + +### **mem_test** + +```csharp +public bool mem_test; +``` + +### **verbose_prompt** + +```csharp +public bool verbose_prompt; +``` + +## Constructors + +### **LLamaParams(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Dictionary<Int32, Single>, Int32, Single, Single, Single, Single, Single, Int32, Single, Single, Int32, Single, Single, String, String, String, String, String, List<String>, String, String, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)** + +```csharp +LLamaParams(int seed, int n_threads, int n_predict, int n_ctx, int n_batch, int n_keep, int n_gpu_layers, Dictionary logit_bias, int top_k, float top_p, float tfs_z, float typical_p, float temp, float repeat_penalty, int repeat_last_n, float frequency_penalty, float presence_penalty, int mirostat, float mirostat_tau, float mirostat_eta, string model, string prompt, string path_session, string input_prefix, string input_suffix, List antiprompt, string lora_adapter, string lora_base, bool memory_f16, bool random_prompt, bool use_color, bool interactive, bool prompt_cache_all, bool embedding, bool interactive_first, bool instruct, bool penalize_nl, bool perplexity, bool use_mmap, bool use_mlock, bool mem_test, bool verbose_prompt) +``` + +#### Parameters + +`seed` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_threads` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_predict` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_ctx` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_batch` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_keep` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`n_gpu_layers` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`logit_bias` [Dictionary<Int32, Single>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2)
+ +`top_k` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`top_p` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`tfs_z` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`typical_p` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`temp` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`repeat_penalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`repeat_last_n` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`frequency_penalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`presence_penalty` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`mirostat` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +`mirostat_tau` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`mirostat_eta` [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
+ +`model` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`prompt` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`path_session` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`input_prefix` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`input_suffix` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`antiprompt` [List<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1)
+ +`lora_adapter` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`lora_base` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`memory_f16` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`random_prompt` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`use_color` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`interactive` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`prompt_cache_all` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`embedding` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`interactive_first` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`instruct` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`penalize_nl` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`perplexity` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`use_mmap` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`use_mlock` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`mem_test` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +`verbose_prompt` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
diff --git a/docs/xmldocs/llama.resettablellamamodel.md b/docs/xmldocs/llama.resettablellamamodel.md new file mode 100644 index 00000000..b43646a3 --- /dev/null +++ b/docs/xmldocs/llama.resettablellamamodel.md @@ -0,0 +1,101 @@ +# ResettableLLamaModel + +Namespace: LLama + +A LLamaModel what could be reset. Note that using this class will consume about 10% more memories. + +```csharp +public class ResettableLLamaModel : LLamaModel, System.IDisposable +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [LLamaModel](./llama.llamamodel.md) → [ResettableLLamaModel](./llama.resettablellamamodel.md)
+Implements [IDisposable](https://docs.microsoft.com/en-us/dotnet/api/system.idisposable) + +## Properties + +### **OriginalState** + +The initial state of the model + +```csharp +public Byte[] OriginalState { get; set; } +``` + +#### Property Value + +[Byte[]](https://docs.microsoft.com/en-us/dotnet/api/system.byte)
+ +### **ContextSize** + +The context size. + +```csharp +public int ContextSize { get; } +``` + +#### Property Value + +[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **Params** + +The model params set for this model. + +```csharp +public ModelParams Params { get; set; } +``` + +#### Property Value + +[ModelParams](./llama.common.modelparams.md)
+ +### **NativeHandle** + +The native handle, which is used to be passed to the native APIs. Please avoid using it + unless you know what is the usage of the Native API. + +```csharp +public SafeLLamaContextHandle NativeHandle { get; } +``` + +#### Property Value + +[SafeLLamaContextHandle](./llama.native.safellamacontexthandle.md)
+ +### **Encoding** + +The encoding set for this model to deal with text input. + +```csharp +public Encoding Encoding { get; } +``` + +#### Property Value + +[Encoding](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding)
+ +## Constructors + +### **ResettableLLamaModel(ModelParams, String)** + + + +```csharp +public ResettableLLamaModel(ModelParams Params, string encoding) +``` + +#### Parameters + +`Params` [ModelParams](./llama.common.modelparams.md)
+ +`encoding` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +## Methods + +### **Reset()** + +Reset the state to the initial state. + +```csharp +public void Reset() +``` diff --git a/docs/xmldocs/llama.statefulexecutorbase.md b/docs/xmldocs/llama.statefulexecutorbase.md new file mode 100644 index 00000000..6cd169e1 --- /dev/null +++ b/docs/xmldocs/llama.statefulexecutorbase.md @@ -0,0 +1,234 @@ +# StatefulExecutorBase + +Namespace: LLama + +The base class for stateful LLama executors. + +```csharp +public abstract class StatefulExecutorBase : LLama.Abstractions.ILLamaExecutor +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [StatefulExecutorBase](./llama.statefulexecutorbase.md)
+Implements [ILLamaExecutor](./llama.abstractions.illamaexecutor.md) + +## Properties + +### **Model** + +The mode used by the executor. + +```csharp +public LLamaModel Model { get; } +``` + +#### Property Value + +[LLamaModel](./llama.llamamodel.md)
+ +## Methods + +### **WithSessionFile(String)** + +This API is currently not verified. + +```csharp +public StatefulExecutorBase WithSessionFile(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +#### Returns + +[StatefulExecutorBase](./llama.statefulexecutorbase.md)
+ +#### Exceptions + +[ArgumentNullException](https://docs.microsoft.com/en-us/dotnet/api/system.argumentnullexception)
+ +[RuntimeError](./llama.exceptions.runtimeerror.md)
+ +### **SaveSessionFile(String)** + +This API has not been verified currently. + +```csharp +public void SaveSessionFile(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **HandleRunOutOfContext(Int32)** + +After running out of the context, take some tokens from the original prompt and recompute the logits in batches. + +```csharp +protected void HandleRunOutOfContext(int tokensToKeep) +``` + +#### Parameters + +`tokensToKeep` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
+ +### **TryReuseMathingPrefix()** + +Try to reuse the matching prefix from the session file. + +```csharp +protected void TryReuseMathingPrefix() +``` + +### **GetLoopCondition(InferStateArgs)** + +Decide whether to continue the loop. + +```csharp +protected abstract bool GetLoopCondition(InferStateArgs args) +``` + +#### Parameters + +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **PreprocessInputs(String, InferStateArgs)** + +Preprocess the inputs before the inference. + +```csharp +protected abstract void PreprocessInputs(string text, InferStateArgs args) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +### **PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)** + +Do some post processing after the inference. + +```csharp +protected abstract bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs) +``` + +#### Parameters + +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +`extraOutputs` [IEnumerable`1&](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1&)
+ +#### Returns + +[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
+ +### **InferInternal(InferenceParams, InferStateArgs)** + +The core inference logic. + +```csharp +protected abstract void InferInternal(InferenceParams inferenceParams, InferStateArgs args) +``` + +#### Parameters + +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`args` [InferStateArgs](./llama.statefulexecutorbase.inferstateargs.md)
+ +### **SaveState(String)** + +Save the current state to a file. + +```csharp +public abstract void SaveState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **GetStateData()** + +Get the current state data. + +```csharp +public abstract ExecutorBaseState GetStateData() +``` + +#### Returns + +[ExecutorBaseState](./llama.statefulexecutorbase.executorbasestate.md)
+ +### **LoadState(ExecutorBaseState)** + +Load the state from data. + +```csharp +public abstract void LoadState(ExecutorBaseState data) +``` + +#### Parameters + +`data` [ExecutorBaseState](./llama.statefulexecutorbase.executorbasestate.md)
+ +### **LoadState(String)** + +Load the state from a file. + +```csharp +public abstract void LoadState(string filename) +``` + +#### Parameters + +`filename` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +### **Infer(String, InferenceParams, CancellationToken)** + +Execute the inference. + +```csharp +public IEnumerable Infer(string text, InferenceParams inferenceParams, CancellationToken cancellationToken) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`cancellationToken` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **InferAsync(String, InferenceParams, CancellationToken)** + +Execute the inference asynchronously. + +```csharp +public IAsyncEnumerable InferAsync(string text, InferenceParams inferenceParams, CancellationToken cancellationToken) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`cancellationToken` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IAsyncEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iasyncenumerable-1)
diff --git a/docs/xmldocs/llama.statelessexecutor.md b/docs/xmldocs/llama.statelessexecutor.md new file mode 100644 index 00000000..60db8326 --- /dev/null +++ b/docs/xmldocs/llama.statelessexecutor.md @@ -0,0 +1,80 @@ +# StatelessExecutor + +Namespace: LLama + +This executor infer the input as one-time job. Previous inputs won't impact on the + response to current input. + +```csharp +public class StatelessExecutor : LLama.Abstractions.ILLamaExecutor +``` + +Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [StatelessExecutor](./llama.statelessexecutor.md)
+Implements [ILLamaExecutor](./llama.abstractions.illamaexecutor.md) + +## Properties + +### **Model** + +The mode used by the executor when running the inference. + +```csharp +public LLamaModel Model { get; } +``` + +#### Property Value + +[LLamaModel](./llama.llamamodel.md)
+ +## Constructors + +### **StatelessExecutor(LLamaModel)** + + + +```csharp +public StatelessExecutor(LLamaModel model) +``` + +#### Parameters + +`model` [LLamaModel](./llama.llamamodel.md)
+The LLama model. + +## Methods + +### **Infer(String, InferenceParams, CancellationToken)** + +```csharp +public IEnumerable Infer(string text, InferenceParams inferenceParams, CancellationToken cancellationToken) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`cancellationToken` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1)
+ +### **InferAsync(String, InferenceParams, CancellationToken)** + +```csharp +public IAsyncEnumerable InferAsync(string text, InferenceParams inferenceParams, CancellationToken token) +``` + +#### Parameters + +`text` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
+ +`inferenceParams` [InferenceParams](./llama.common.inferenceparams.md)
+ +`token` [CancellationToken](https://docs.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken)
+ +#### Returns + +[IAsyncEnumerable<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.iasyncenumerable-1)
diff --git a/mkdocs.yml b/mkdocs.yml index c2b69435..fb5aa2c4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -26,4 +26,65 @@ nav: - BotSharp: HighLevelApps/bot-sharp.md - More: - Logger: More/log.md -theme: readthedocs \ No newline at end of file + - API Reference: + - index: ./xmldocs/index.md + - llama.abstractions.ihistorytransform: ./xmldocs/llama.abstractions.ihistorytransform.md + - llama.abstractions.illamaexecutor: ./xmldocs/llama.abstractions.illamaexecutor.md + - llama.abstractions.itextstreamtransform: ./xmldocs/llama.abstractions.itextstreamtransform.md + - llama.abstractions.itexttransform: ./xmldocs/llama.abstractions.itexttransform.md + - llama.chatsession: ./xmldocs/llama.chatsession.md + - llama.common.authorrole: ./xmldocs/llama.common.authorrole.md + - llama.common.chathistory: ./xmldocs/llama.common.chathistory.md + - llama.common.fixedsizequeue-1: ./xmldocs/llama.common.fixedsizequeue-1.md + - llama.common.illamalogger: ./xmldocs/llama.common.illamalogger.md + - llama.common.inferenceparams: ./xmldocs/llama.common.inferenceparams.md + - llama.common.llamadefaultlogger: ./xmldocs/llama.common.llamadefaultlogger.md + - llama.common.mirostatetype: ./xmldocs/llama.common.mirostatetype.md + - llama.common.modelparams: ./xmldocs/llama.common.modelparams.md + - llama.exceptions.runtimeerror: ./xmldocs/llama.exceptions.runtimeerror.md + - llama.extensions.dictionaryextension: ./xmldocs/llama.extensions.dictionaryextension.md + - llama.instructexecutor: ./xmldocs/llama.instructexecutor.md + - llama.interactiveexecutor: ./xmldocs/llama.interactiveexecutor.md + - llama.llamaembedder: ./xmldocs/llama.llamaembedder.md + - llama.llamamodel: ./xmldocs/llama.llamamodel.md + - llama.llamaquantizer: ./xmldocs/llama.llamaquantizer.md + - llama.llamatransforms: ./xmldocs/llama.llamatransforms.md + - llama.native.llamacontextparams: ./xmldocs/llama.native.llamacontextparams.md + - llama.native.llamaftype: ./xmldocs/llama.native.llamaftype.md + - llama.native.llamatokendata: ./xmldocs/llama.native.llamatokendata.md + - llama.native.llamatokendataarray: ./xmldocs/llama.native.llamatokendataarray.md + - llama.native.llamatokendataarraynative: ./xmldocs/llama.native.llamatokendataarraynative.md + - llama.native.nativeapi: ./xmldocs/llama.native.nativeapi.md + - llama.native.safellamacontexthandle: ./xmldocs/llama.native.safellamacontexthandle.md + - llama.native.safellamahandlebase: ./xmldocs/llama.native.safellamahandlebase.md + - llama.oldversion.chatcompletion: ./xmldocs/llama.oldversion.chatcompletion.md + - llama.oldversion.chatcompletionchoice: ./xmldocs/llama.oldversion.chatcompletionchoice.md + - llama.oldversion.chatcompletionchunk: ./xmldocs/llama.oldversion.chatcompletionchunk.md + - llama.oldversion.chatcompletionchunkchoice: ./xmldocs/llama.oldversion.chatcompletionchunkchoice.md + - llama.oldversion.chatcompletionchunkdelta: ./xmldocs/llama.oldversion.chatcompletionchunkdelta.md + - llama.oldversion.chatcompletionmessage: ./xmldocs/llama.oldversion.chatcompletionmessage.md + - llama.oldversion.chatmessagerecord: ./xmldocs/llama.oldversion.chatmessagerecord.md + - llama.oldversion.chatrole: ./xmldocs/llama.oldversion.chatrole.md + - llama.oldversion.chatsession-1: ./xmldocs/llama.oldversion.chatsession-1.md + - llama.oldversion.completion: ./xmldocs/llama.oldversion.completion.md + - llama.oldversion.completionchoice: ./xmldocs/llama.oldversion.completionchoice.md + - llama.oldversion.completionchunk: ./xmldocs/llama.oldversion.completionchunk.md + - llama.oldversion.completionlogprobs: ./xmldocs/llama.oldversion.completionlogprobs.md + - llama.oldversion.completionusage: ./xmldocs/llama.oldversion.completionusage.md + - llama.oldversion.embedding: ./xmldocs/llama.oldversion.embedding.md + - llama.oldversion.embeddingdata: ./xmldocs/llama.oldversion.embeddingdata.md + - llama.oldversion.embeddingusage: ./xmldocs/llama.oldversion.embeddingusage.md + - llama.oldversion.ichatmodel: ./xmldocs/llama.oldversion.ichatmodel.md + - llama.oldversion.llamaembedder: ./xmldocs/llama.oldversion.llamaembedder.md + - llama.oldversion.llamamodel: ./xmldocs/llama.oldversion.llamamodel.md + - llama.oldversion.llamaparams: ./xmldocs/llama.oldversion.llamaparams.md + - llama.resettablellamamodel: ./xmldocs/llama.resettablellamamodel.md + - llama.statefulexecutorbase: ./xmldocs/llama.statefulexecutorbase.md + - llama.statelessexecutor: ./xmldocs/llama.statelessexecutor.md + +theme: + name: material + +extra: + version: + provider: mike \ No newline at end of file diff --git a/site/404.html b/site/404.html new file mode 100644 index 00000000..1b5587ac --- /dev/null +++ b/site/404.html @@ -0,0 +1,1526 @@ + + + + + + + + + + + + + + + + + + LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/Architecher/index.html b/site/Architecher/index.html new file mode 100644 index 00000000..83da42f3 --- /dev/null +++ b/site/Architecher/index.html @@ -0,0 +1,1629 @@ + + + + + + + + + + + + + + + + + + + + + + Architecher - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Architecher

+

Architecher of main functions

+

The figure below shows the core framework structure, which is separated to four levels.

+
    +
  • LLamaModel: The holder of a model which directly interact with native library and provide some basic APIs such as tokenization and embedding. Currently it includes three classes: LLamaModel, LLamaEmbedder and LLamaQuantizer.
  • +
  • LLamaExecutors: Executors which define the way to run the LLama model. It provides text-to-text APIs to make it easy to use. Currently we provide three kinds of executors: InteractiveExecutor, InstructuExecutor and StatelessExecutor.
  • +
  • ChatSession: A wrapping for InteractiveExecutor and LLamaModel, which supports interactive tasks and saving/re-loading sessions. It also provides a flexible way to customize the text process by IHistoryTransform, ITextTransform and ITextStreamTransform.
  • +
  • High-level Applications: Some applications that provides higher-level integration. For example, BotSharp provides integration for vector search, Chatbot UI and Web APIs. semantic-kernel provides various APIs for manipulations related with LLM. If you've made an integration, please tell us and add it to the doc!
  • +
+

structure_image

+ +

Since LLamaModel interact with native library, it's not recommended to use the methods of it directly unless you know what you are doing. So does the NativeApi, which is not included in the arcitecher figure above.

+

ChatSession is recommended to be used when you want to build an application similar to ChatGPT, or the ChatBot, because it works best with InteractiveExecutor. Though other executors are also allowed to passed as a parameter to initialize a ChatSession, it's not encouraged if you are new to LLamaSharp and LLM.

+

High-level applications, such as BotSharp, are supposed to be used when you concentrate on the part not related with LLM. For example, if you want to deploy a chat bot to help you remember your schedules, using BotSharp may be a good choice.

+

Note that the APIs of the high-level applications may not be stable now. Please take it into account when using them.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/ChatSession/basic-usages/index.html b/site/ChatSession/basic-usages/index.html new file mode 100644 index 00000000..1b9a837e --- /dev/null +++ b/site/ChatSession/basic-usages/index.html @@ -0,0 +1,1653 @@ + + + + + + + + + + + + + + + + + + + + + + Basic Usages - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Basic usages of ChatSession

+

ChatSession is a higher-level absatrction than the executors. In the context of a chat application like ChatGPT, a "chat session" refers to an interactive conversation or exchange of messages between the user and the chatbot. It represents a continuous flow of communication where the user enters input or asks questions, and the chatbot responds accordingly. A chat session typically starts when the user initiates a conversation with the chatbot and continues until the interaction comes to a natural end or is explicitly terminated by either the user or the system. During a chat session, the chatbot maintains the context of the conversation, remembers previous messages, and generates appropriate responses based on the user's inputs and the ongoing dialogue.

+

Initialize a session

+

Currently, the only parameter that is accepted is an ILLamaExecutor, because this is the only parameter that we're sure to exist in all the future versions. Since it's the high-level absatrction, we're conservative to the API designs. In the future, there may be more kinds of constructors added.

+
InteractiveExecutor ex = new(new LLamaModel(new ModelParams(modelPath)));
+ChatSession session = new ChatSession(ex);
+
+

Chat with the bot

+

There'll be two kinds of input accepted by the Chat API, which are ChatHistory and String. The API with string is quite similar to that of the executors. Meanwhile, the API with ChatHistory is aimed to provide more flexible usages. For example, you have had a chat with the bot in session A before you open the session B. Now session B has no memory for what you said before. Therefore, you can feed the history of A to B.

+
string prompt = "What is C#?";
+
+foreach (var text in session.Chat(prompt, new InferenceParams() { Temperature = 0.6f, AntiPrompts = new List<string> { "User:" } })) // the inference params should be changed depending on your statement
+{
+    Console.Write(text);
+}
+
+

Get the history

+

Currently History is a property of ChatSession.

+
foreach(var rec in session.History.Messages)
+{
+    Console.WriteLine($"{rec.AuthorRole}: {rec.Content}");
+}
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/ChatSession/save-load-session/index.html b/site/ChatSession/save-load-session/index.html new file mode 100644 index 00000000..dcbfefb5 --- /dev/null +++ b/site/ChatSession/save-load-session/index.html @@ -0,0 +1,1565 @@ + + + + + + + + + + + + + + + + + + + + + + Save/Load Session - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Save/Load Chat Session

+

Generally, the chat session could be switched, which requires the ability of loading and saving session.

+

When building a chat bot app, it's NOT encouraged to initialize many chat sessions and keep them in memory to wait for being switched, because the memory comsumption of both CPU and GPU is expensive. It's recommended to save the current session before switching to a new session, and load the file when switching back to the session.

+

The API is also quite simple, the files will be saved into a directory you specified. If the path does not exist, a new directory will be created.

+
string savePath = "<save dir>";
+session.SaveSession(savePath);
+
+session.LoadSession(savePath);
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/ChatSession/transforms/index.html b/site/ChatSession/transforms/index.html new file mode 100644 index 00000000..60f5918e --- /dev/null +++ b/site/ChatSession/transforms/index.html @@ -0,0 +1,1845 @@ + + + + + + + + + + + + + + + + + + + + + + Transoforms - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Transforms in Chat Session

+

There's three important elements in ChatSession, which are input, output and history. Besides, there're some conversions between them. Since the process of them under different conditions varies, LLamaSharp hands over this part of the power to the users.

+

Currently, there're three kinds of process that could be customized, as introduced below.

+

Input transform

+

In general, the input of the chat API is a text (without stream), therefore ChatSession processes it in a pipeline. If you want to use your customized transform, you need to define a transform that implements ITextTransform and add it to the pipeline of ChatSession.

+
public interface ITextTransform
+{
+    string Transform(string text);
+}
+
+
public class MyInputTransform1 : ITextTransform
+{
+    public string Transform(string text)
+    {
+        return $"Question: {text}\n";
+    }
+}
+
+public class MyInputTransform2 : ITextTransform
+{
+    public string Transform(string text)
+    {
+        return text + "Answer: ";
+    }
+}
+
+session.AddInputTransform(new MyInputTransform1()).AddInputTransform(new MyInputTransform2());
+
+

Output transform

+

Different from the input, the output of chat API is a text stream. Therefore you need to process it word by word, instead of getting the full text at once.

+

The interface of it has an IEnumerable<string> as input, which is actually a yield sequence.

+
public interface ITextStreamTransform
+{
+    IEnumerable<string> Transform(IEnumerable<string> tokens);
+    IAsyncEnumerable<string> TransformAsync(IAsyncEnumerable<string> tokens);
+}
+
+

When implementing it, you could throw a not-implemented exception in one of them if you only need to use the chat API in synchronously or asynchronously.

+

Different from the input transform pipeline, the output transform only supports one transform.

+
session.WithOutputTransform(new MyOutputTransform());
+
+

Here's an example of how to implement the interface. In this example, the transform detects wether there's some keywords in the response and removes them.

+
/// <summary>
+/// A text output transform that removes the keywords from the response.
+/// </summary>
+public class KeywordTextOutputStreamTransform : ITextStreamTransform
+{
+    HashSet<string> _keywords;
+    int _maxKeywordLength;
+    bool _removeAllMatchedTokens;
+
+    /// <summary>
+    /// 
+    /// </summary>
+    /// <param name="keywords">Keywords that you want to remove from the response.</param>
+    /// <param name="redundancyLength">The extra length when searching for the keyword. For example, if your only keyword is "highlight", 
+    /// maybe the token you get is "\r\nhighligt". In this condition, if redundancyLength=0, the token cannot be successfully matched because the length of "\r\nhighligt" (10)
+    /// has already exceeded the maximum length of the keywords (8). On the contrary, setting redundancyLengyh >= 2 leads to successful match.
+    /// The larger the redundancyLength is, the lower the processing speed. But as an experience, it won't introduce too much performance impact when redundancyLength <= 5 </param>
+    /// <param name="removeAllMatchedTokens">If set to true, when getting a matched keyword, all the related tokens will be removed. Otherwise only the part of keyword will be removed.</param>
+    public KeywordTextOutputStreamTransform(IEnumerable<string> keywords, int redundancyLength = 3, bool removeAllMatchedTokens = false)
+    {
+        _keywords = new(keywords);
+        _maxKeywordLength = keywords.Select(x => x.Length).Max() + redundancyLength;
+        _removeAllMatchedTokens = removeAllMatchedTokens;
+    }
+    /// <inheritdoc />
+    public IEnumerable<string> Transform(IEnumerable<string> tokens)
+    {
+        var window = new Queue<string>();
+
+        foreach (var s in tokens)
+        {
+            window.Enqueue(s);
+            var current = string.Join("", window);
+            if (_keywords.Any(x => current.Contains(x)))
+            {
+                var matchedKeyword = _keywords.First(x => current.Contains(x));
+                int total = window.Count;
+                for (int i = 0; i < total; i++)
+                {
+                    window.Dequeue();
+                }
+                if (!_removeAllMatchedTokens)
+                {
+                    yield return current.Replace(matchedKeyword, "");
+                }
+            }
+            if (current.Length >= _maxKeywordLength)
+            {
+                if (_keywords.Any(x => current.Contains(x)))
+                {
+                    var matchedKeyword = _keywords.First(x => current.Contains(x));
+                    int total = window.Count;
+                    for (int i = 0; i < total; i++)
+                    {
+                        window.Dequeue();
+                    }
+                    if (!_removeAllMatchedTokens)
+                    {
+                        yield return current.Replace(matchedKeyword, "");
+                    }
+                }
+                else
+                {
+                    int total = window.Count;
+                    for (int i = 0; i < total; i++)
+                    {
+                        yield return window.Dequeue();
+                    }
+                }
+            }
+        }
+        int totalCount = window.Count;
+        for (int i = 0; i < totalCount; i++)
+        {
+            yield return window.Dequeue();
+        }
+    }
+    /// <inheritdoc />
+    public async IAsyncEnumerable<string> TransformAsync(IAsyncEnumerable<string> tokens)
+    {
+        throw new NotImplementedException(); // This is implemented in `LLamaTransforms` but we ignore it here.
+    }
+}
+
+

History transform

+

The chat history could be converted to or from a text, which is exactly what the interface of it.

+
public interface IHistoryTransform
+{
+    string HistoryToText(ChatHistory history);
+    ChatHistory TextToHistory(AuthorRole role, string text);
+}
+
+

Similar to the output transform, the history transform is added in the following way:

+
session.WithHistoryTransform(new MyHistoryTransform());
+
+

The implementation is quite flexible, depending on what you want the history message to be like. Here's an example, which is the default history transform in LLamaSharp.

+
/// <summary>
+/// The default history transform.
+/// Uses plain text with the following format:
+/// [Author]: [Message]
+/// </summary>
+public class DefaultHistoryTransform : IHistoryTransform
+{
+    private readonly string defaultUserName = "User";
+    private readonly string defaultAssistantName = "Assistant";
+    private readonly string defaultSystemName = "System";
+    private readonly string defaultUnknownName = "??";
+
+    string _userName;
+    string _assistantName;
+    string _systemName;
+    string _unknownName;
+    bool _isInstructMode;
+    public DefaultHistoryTransform(string? userName = null, string? assistantName = null, 
+        string? systemName = null, string? unknownName = null, bool isInstructMode = false)
+    {
+        _userName = userName ?? defaultUserName;
+        _assistantName = assistantName ?? defaultAssistantName;
+        _systemName = systemName ?? defaultSystemName;
+        _unknownName = unknownName ?? defaultUnknownName;
+        _isInstructMode = isInstructMode;
+    }
+
+    public virtual string HistoryToText(ChatHistory history)
+    {
+        StringBuilder sb = new();
+        foreach (var message in history.Messages)
+        {
+            if (message.AuthorRole == AuthorRole.User)
+            {
+                sb.AppendLine($"{_userName}: {message.Content}");
+            }
+            else if (message.AuthorRole == AuthorRole.System)
+            {
+                sb.AppendLine($"{_systemName}: {message.Content}");
+            }
+            else if (message.AuthorRole == AuthorRole.Unknown)
+            {
+                sb.AppendLine($"{_unknownName}: {message.Content}");
+            }
+            else if (message.AuthorRole == AuthorRole.Assistant)
+            {
+                sb.AppendLine($"{_assistantName}: {message.Content}");
+            }
+        }
+        return sb.ToString();
+    }
+
+    public virtual ChatHistory TextToHistory(AuthorRole role, string text)
+    {
+        ChatHistory history = new ChatHistory();
+        history.AddMessage(role, TrimNamesFromText(text, role));
+        return history;
+    }
+
+    public virtual string TrimNamesFromText(string text, AuthorRole role)
+    {
+        if (role == AuthorRole.User && text.StartsWith($"{_userName}:"))
+        {
+            text = text.Substring($"{_userName}:".Length).TrimStart();
+        }
+        else if (role == AuthorRole.Assistant && text.EndsWith($"{_assistantName}:"))
+        {
+            text = text.Substring(0, text.Length - $"{_assistantName}:".Length).TrimEnd();
+        }
+        if (_isInstructMode && role == AuthorRole.Assistant && text.EndsWith("\n> "))
+        {
+            text = text.Substring(0, text.Length - "\n> ".Length).TrimEnd();
+        }
+        return text;
+    }
+}
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/ContributingGuide/index.html b/site/ContributingGuide/index.html new file mode 100644 index 00000000..33169a5b --- /dev/null +++ b/site/ContributingGuide/index.html @@ -0,0 +1,1711 @@ + + + + + + + + + + + + + + + + + + + + + + Contributing Guide - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + +

LLamaSharp Contributing Guide

+

Hi, welcome to develop LLamaSharp with us together! We are always open for every contributor and any format of contributions! If you want to maintain this library actively together, please contact us to get the write access after some PRs. (Email: AsakusaRinne@gmail.com)

+

In this page, we'd like to introduce how to make contributions here easily. 😊

+

Compile the native library from source

+

Firstly, please clone the llama.cpp repository and following the instructions in llama.cpp readme to configure your local environment.

+

If you want to support cublas in the compilation, please make sure that you've installed the cuda.

+

When building from source, please add -DBUILD_SHARED_LIBS=ON to the cmake instruction. For example, when building with cublas but without openblas, use the following instruction:

+
cmake .. -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON
+
+

After running cmake --build . --config Release, you could find the llama.dll, llama.so or llama.dylib in your build directory. After pasting it to LLamaSharp/LLama/runtimes and renaming it to libllama.dll, libllama.so or libllama.dylib, you can use it as the native library in LLamaSharp.

+

Add a new feature to LLamaSharp

+

After refactoring the framework in v0.4.0, LLamaSharp will try to maintain the backward compatibility. However, in the following cases, break change is okay:

+
    +
  1. Due to some break changes in llama.cpp, making a break change will help to maintain the good abstraction and friendly user APIs.
  2. +
  3. A very improtant feature cannot be implemented unless refactoring some parts.
  4. +
  5. After some discussions, an agreement was reached that making the break change is reasonable.
  6. +
+

If a new feature could be added without introducing any break change, please open a PR rather than open an issue first. We will never refuse the PR but help to improve it, unless it's malicious.

+

When adding the feature, please take care of the namespace and the naming convention. For example, if you are adding an integration for WPF, please put the code under namespace LLama.WPF or LLama.Integration.WPF instead of putting it under the root namespace. The naming convention of LLamaSharp follows the pascal naming convention, but in some parts that are invisible to users, you can do whatever you want.

+

Find the problem and fix the BUG

+

If the issue is related to the LLM internal behaviors, such as endless generating the response, the best way to find the problem is to do comparison test between llama.cpp and LLamaSharp.

+

You could use exactly the same prompt, the same model and the same parameters to run the inference in llama.cpp and LLamaSharp respectively to see if it's really a problem caused by the implementation in LLamaSharp.

+

If the experiment showed that it worked well in llama.cpp but didn't in LLamaSharp, a the search for the problem could be started. While the reason of the problem could be various, the best way I think is to add log-print in the code of llama.cpp and use it in LLamaSharp after compilation. Thus, when running LLamaSharp, you could see what happened in the native library.

+

After finding out the reason, a painful but happy process comes. When working on the BUG fix, there's only one rule to follow, that is keeping the examples working well. If the modification fixed the BUG but impact on other functions, it would not be a good fix.

+

During the BUG fix process, please don't hesitate to discuss together when you stuck on something.

+

Add integrations

+

All kinds of integration are welcomed here! Currently the following integrations are under work or on our schedule:

+
    +
  1. BotSharp
  2. +
  3. semantic-kernel
  4. +
  5. Unity
  6. +
+

Besides, for some other integrations, like ASP.NET core, SQL, Blazor and so on, we'll appreciate it if you could help with that. If the time is limited for you, providing an example for it also means a lot!

+

Add examples

+

There're mainly two ways to add an example:

+
    +
  1. Add the example to LLama.Examples of the repository.
  2. +
  3. Put the example in another repositpry and add the link to the readme or docs of LLamaSharp.
  4. +
+

Add documents

+

LLamaSharp uses mkdocs to build the documantation, please follow the tutorial of mkdocs to add or modify documents in LLamaSharp.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/GetStarted/index.html b/site/GetStarted/index.html new file mode 100644 index 00000000..bbe18825 --- /dev/null +++ b/site/GetStarted/index.html @@ -0,0 +1,1748 @@ + + + + + + + + + + + + + + + + + + + + + + Get Started - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Get Started

+

Install packages

+

Firstly, search LLamaSharp in nuget package manager and install it.

+
PM> Install-Package LLamaSharp
+
+

Then, search and install one of the following backends:

+
LLamaSharp.Backend.Cpu
+LLamaSharp.Backend.Cuda11
+LLamaSharp.Backend.Cuda12
+
+

Here's the mapping of them and corresponding model samples provided by LLamaSharp. If you're not sure which model is available for a version, please try our sample model.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LLamaSharp.BackendLLamaSharpVerified Model Resourcesllama.cpp commit id
-v0.2.0This version is not recommended to use.-
-v0.2.1WizardLM, Vicuna (filenames with "old")-
v0.2.2v0.2.2, v0.2.3WizardLM, Vicuna (filenames without "old")63d2046
v0.3.0v0.3.0LLamaSharpSamples v0.3.0, WizardLM7e4ea5b
+

Download a model

+

One of the following models could be okay:

+ +

Note that because llama.cpp is under fast development now and often introduce break changes, some model weights on huggingface which works under a version may be invalid with another version. If it's your first time to configure LLamaSharp, we'd like to suggest for using verified model weights in the table above.

+

Run the program

+

Please create a console program with dotnet runtime >= netstandard 2.0 (>= net6.0 is more recommended). Then, paste the following code to program.cs;

+
using LLama.Common;
+using LLama;
+
+string modelPath = "<Your model path>" // change it to your own model path
+var prompt = "Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.\r\n\r\nUser: Hello, Bob.\r\nBob: Hello. How may I help you today?\r\nUser: Please tell me the largest city in Europe.\r\nBob: Sure. The largest city in Europe is Moscow, the capital of Russia.\r\nUser:"; // use the "chat-with-bob" prompt here.
+
+// Initialize a chat session
+var ex = new InteractiveExecutor(new LLamaModel(new ModelParams(modelPath, contextSize: 1024, seed: 1337, gpuLayerCount: 5)));
+ChatSession session = new ChatSession(ex);
+
+// show the prompt
+Console.WriteLine();
+Console.Write(prompt);
+
+// run the inference in a loop to chat with LLM
+while (true)
+{
+    foreach (var text in session.Chat(prompt, new InferenceParams() { Temperature = 0.6f, AntiPrompts = new List<string> { "User:" } }))
+    {
+        Console.Write(text);
+    }
+
+    Console.ForegroundColor = ConsoleColor.Green;
+    prompt = Console.ReadLine();
+    Console.ForegroundColor = ConsoleColor.White;
+}
+
+

After starting it, you'll see the following outputs.

+
Please input your model path: D:\development\llama\weights\wizard-vicuna-13B.ggmlv3.q4_1.bin
+llama.cpp: loading model from D:\development\llama\weights\wizard-vicuna-13B.ggmlv3.q4_1.bin
+llama_model_load_internal: format     = ggjt v3 (latest)
+llama_model_load_internal: n_vocab    = 32000
+llama_model_load_internal: n_ctx      = 1024
+llama_model_load_internal: n_embd     = 5120
+llama_model_load_internal: n_mult     = 256
+llama_model_load_internal: n_head     = 40
+llama_model_load_internal: n_layer    = 40
+llama_model_load_internal: n_rot      = 128
+llama_model_load_internal: ftype      = 3 (mostly Q4_1)
+llama_model_load_internal: n_ff       = 13824
+llama_model_load_internal: n_parts    = 1
+llama_model_load_internal: model size = 13B
+llama_model_load_internal: ggml ctx size = 7759.48 MB
+llama_model_load_internal: mem required  = 9807.48 MB (+ 1608.00 MB per state)
+....................................................................................................
+llama_init_from_file: kv self size  =  800.00 MB
+
+Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.
+
+User: Hello, Bob.
+Bob: Hello. How may I help you today?
+User: Please tell me the largest city in Europe.
+Bob: Sure. The largest city in Europe is Moscow, the capital of Russia.
+User:
+
+

Now, enjoy chatting with LLM!

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/HighLevelApps/bot-sharp/index.html b/site/HighLevelApps/bot-sharp/index.html new file mode 100644 index 00000000..726d08de --- /dev/null +++ b/site/HighLevelApps/bot-sharp/index.html @@ -0,0 +1,1558 @@ + + + + + + + + + + + + + + + + + + + + + + BotSharp - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

The Usage of BotSharp Integration

+

The document is under work, please have a wait. Thank you for your support! :)

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaExecutors/differences/index.html b/site/LLamaExecutors/differences/index.html new file mode 100644 index 00000000..ba524e9b --- /dev/null +++ b/site/LLamaExecutors/differences/index.html @@ -0,0 +1,1667 @@ + + + + + + + + + + + + + + + + + + + + + + Differences of Executors - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Differences of Executors

+ +

Differences between the executors

+

There're currently three kinds of executors provided, which are InteractiveExecutor, InstructExecutor and StatelessExecutor.

+

In a word, InteractiveExecutor is suitable for getting answer of your questions from LLM continuously. InstructExecutor let LLM execute your instructions, such as "continue writing". StatelessExecutor is best for one-time job because the previous inference has no impact on the current inference.

+

Interactive mode & Instruct mode

+

Both of them are taking "completing the prompt" as the goal to generate the response. For example, if you input Long long ago, there was a fox who wanted to make friend with humen. One day, then the LLM will continue to write the story.

+

Under interactive mode, you serve a role of user and the LLM serves the role of assistant. Then it will help you with your question or request.

+

Under instruct mode, you give LLM some instructions and it follows.

+

Though the behaviors of them sounds similar, it could introduce many differences depending on your prompt. For example, "chat-with-bob" has good performance under interactive mode and alpaca does well with instruct mode.

+
// chat-with-bob
+
+Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.
+
+User: Hello, Bob.
+Bob: Hello. How may I help you today?
+User: Please tell me the largest city in Europe.
+Bob: Sure. The largest city in Europe is Moscow, the capital of Russia.
+User:
+
+
// alpaca
+
+Below is an instruction that describes a task. Write a response that appropriately completes the request.
+
+

Therefore, please modify the prompt correspondingly when switching from one mode to the other.

+

Stateful mode and Stateless mode.

+

Despite the differences between interactive mode and instruct mode, both of them are stateful mode. That is, your previous question/instruction will impact on the current response from LLM. On the contrary, the steteless executor does not have such a "memory". No matter how many times you talk to it, it will only concentrate on what you say in this time.

+

Since the stateless executor has no memory of conversations before, you need to input your question with the whole prompt into it to get the better answer.

+

For example, if you feed Q: Who is Trump? A: to the steteless executor, it may give the following answer with the antiprompt Q:.

+
Donald J. Trump, born June 14, 1946, is an American businessman, television personality, politician and the 45th President of the United States (2017-2021). # Anexo:Torneo de Hamburgo 2022 (individual masculino)
+
+## Presentación previa
+
+* Defensor del título:  Daniil Medvédev
+
+

It seems that things went well at first. However, after answering the question itself, LLM began to talk about some other things until the answer reached the token count limit. The reason of this strange behavior is the anti-prompt cannot be match. With the input, LLM cannot decide whether to append a string "A: " at the end of the response.

+

As an improvement, let's take the following text as the input:

+
Q: What is the capital of the USA? A: Washingtong. Q: What is the sum of 1 and 2? A: 3. Q: Who is Trump? A: 
+
+

Then, I got the following answer with the anti-prompt Q:.

+
45th president of the United States.
+
+

At this time, by repeating the same mode of Q: xxx? A: xxx., LLM outputs the anti-prompt we want to help to decide where to dtop the generation.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaExecutors/parameters/index.html b/site/LLamaExecutors/parameters/index.html new file mode 100644 index 00000000..d7e5ad41 --- /dev/null +++ b/site/LLamaExecutors/parameters/index.html @@ -0,0 +1,1689 @@ + + + + + + + + + + + + + + + + + + + + + + Inference Parameters - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Inference Parameters

+

Different from LLamaModel, when using an exeuctor, InferenceParams is passed to the Infer method instead of constructor. This is because executors only define the ways to run the model, therefore in each run, you can change the settings for this time inference.

+

InferenceParams

+

Namespace: LLama.Common

+
public class InferenceParams
+
+

Inheritance ObjectInferenceParams

+

Properties

+

TokensKeep

+

number of tokens to keep from initial prompt

+
public int TokensKeep { get; set; }
+
+

Property Value

+

Int32

+

MaxTokens

+

how many new tokens to predict (n_predict), set to -1 to inifinitely generate response + until it complete.

+
public int MaxTokens { get; set; }
+
+

Property Value

+

Int32

+

LogitBias

+

logit bias for specific tokens

+
public Dictionary<int, float> LogitBias { get; set; }
+
+

Property Value

+

Dictionary<Int32, Single>

+

AntiPrompts

+

Sequences where the model will stop generating further tokens.

+
public IEnumerable<string> AntiPrompts { get; set; }
+
+

Property Value

+

IEnumerable<String>

+

PathSession

+

path to file for saving/loading model eval state

+
public string PathSession { get; set; }
+
+

Property Value

+

String

+

InputSuffix

+

string to suffix user inputs with

+
public string InputSuffix { get; set; }
+
+

Property Value

+

String

+

InputPrefix

+

string to prefix user inputs with

+
public string InputPrefix { get; set; }
+
+

Property Value

+

String

+

TopK

+

0 or lower to use vocab size

+
public int TopK { get; set; }
+
+

Property Value

+

Int32

+

TopP

+

1.0 = disabled

+
public float TopP { get; set; }
+
+

Property Value

+

Single

+

TfsZ

+

1.0 = disabled

+
public float TfsZ { get; set; }
+
+

Property Value

+

Single

+

TypicalP

+

1.0 = disabled

+
public float TypicalP { get; set; }
+
+

Property Value

+

Single

+

Temperature

+

1.0 = disabled

+
public float Temperature { get; set; }
+
+

Property Value

+

Single

+

RepeatPenalty

+

1.0 = disabled

+
public float RepeatPenalty { get; set; }
+
+

Property Value

+

Single

+

RepeatLastTokensCount

+

last n tokens to penalize (0 = disable penalty, -1 = context size) (repeat_last_n)

+
public int RepeatLastTokensCount { get; set; }
+
+

Property Value

+

Int32

+

FrequencyPenalty

+

frequency penalty coefficient + 0.0 = disabled

+
public float FrequencyPenalty { get; set; }
+
+

Property Value

+

Single

+

PresencePenalty

+

presence penalty coefficient + 0.0 = disabled

+
public float PresencePenalty { get; set; }
+
+

Property Value

+

Single

+

Mirostat

+

Mirostat uses tokens instead of words. + algorithm described in the paper https://arxiv.org/abs/2007.14966. + 0 = disabled, 1 = mirostat, 2 = mirostat 2.0

+
public MiroStateType Mirostat { get; set; }
+
+

Property Value

+

MiroStateType

+

MirostatTau

+

target entropy

+
public float MirostatTau { get; set; }
+
+

Property Value

+

Single

+

MirostatEta

+

learning rate

+
public float MirostatEta { get; set; }
+
+

Property Value

+

Single

+

PenalizeNL

+

consider newlines as a repeatable token (penalize_nl)

+
public bool PenalizeNL { get; set; }
+
+

Property Value

+

Boolean

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaExecutors/save-load-state/index.html b/site/LLamaExecutors/save-load-state/index.html new file mode 100644 index 00000000..39a256d9 --- /dev/null +++ b/site/LLamaExecutors/save-load-state/index.html @@ -0,0 +1,1576 @@ + + + + + + + + + + + + + + + + + + + + + + Save/Load State - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Save/Load State of Executor

+

Similar to LLamaModel, an executor also has its state, which can be saved and loaded. Note that in most of cases, the state of executor and the state of the model should be loaded and saved at the same time.

+

To decouple the model and executor, we provide APIs to save/load state for model and executor respectively. However, during the inference, the processed information will leave footprint in LLamaModel's native context. Therefore, if you just load a state from another executor but keep the model unmodified, some strange things may happen. So will loading model state only.

+

Is there a condition that requires to load one of them only? The answer is YES. For example, after resetting the model state, if you don't want the inference starting from the new position, leaving the executor unmodified is okay. But, anyway, this flexible usage may cause some unexpected behaviors, therefore please ensure you know what you're doing before using it in this way.

+

In the future version, we'll open the access for some variables inside the executor to support more flexible usages.

+

The APIs to load/save state of the executors is similar to that of LLamaModel. However, note that StatelessExecutor doesn't have such APIs because it's stateless itself. Besides, the output of GetStateData is an object of type ExecutorBaseState.

+
LLamaModel model = new LLamaModel(new ModelParams("<modelPath>"));
+InteractiveExecutor executor = new InteractiveExecutor(model);
+// do some things...
+executor.SaveState("executor.st");
+var stateData = model.GetStateData();
+
+InteractiveExecutor executor2 = new InteractiveExecutor(model);
+executor2.LoadState(stateData);
+// do some things...
+
+InteractiveExecutor executor3 = new InteractiveExecutor(model);
+executor3.LoadState("executor.st");
+// do some things...
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaExecutors/text-to-text-apis/index.html b/site/LLamaExecutors/text-to-text-apis/index.html new file mode 100644 index 00000000..e6682adc --- /dev/null +++ b/site/LLamaExecutors/text-to-text-apis/index.html @@ -0,0 +1,1569 @@ + + + + + + + + + + + + + + + + + + + + + + Text-to-Text APIs - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Text-to-Text APIs of the executors

+

All the executors implements the interface ILLamaExecutor, which provides two APIs to execute text-to-text tasks.

+
public interface ILLamaExecutor
+{
+    public LLamaModel Model { get; }
+
+    IEnumerable<string> Infer(string text, InferenceParams? inferenceParams = null, CancellationToken token = default);
+
+    IAsyncEnumerable<string> InferAsync(string text, InferenceParams? inferenceParams = null, CancellationToken token = default);
+}
+
+

Just pass the text to the executor with the inference parameters. For the inference parameters, please refer to executor inference parameters doc.

+

The output of both two APIs are yield enumerable. Therefore, when receiving the output, you can directly use foreach to take actions on each word you get by order, instead of waiting for the whole process completed.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaModel/embeddings/index.html b/site/LLamaModel/embeddings/index.html new file mode 100644 index 00000000..33dfb0db --- /dev/null +++ b/site/LLamaModel/embeddings/index.html @@ -0,0 +1,1564 @@ + + + + + + + + + + + + + + + + + + + + + + Get Embeddings - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Get Embeddings

+

Getting the embeddings of a text in LLM is sometimes useful, for example, to train other MLP models.

+

To get the embeddings, please initialize a LLamaEmbedder and then call GetEmbeddings.

+
var embedder = new LLamaEmbedder(new ModelParams("<modelPath>"));
+string text = "hello, LLM.";
+float[] embeddings = embedder.GetEmbeddings(text);
+
+

The output is a float array. Note that the length of the array is related with the model you load. If you just want to get a smaller size embedding, please consider changing a model.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaModel/parameters/index.html b/site/LLamaModel/parameters/index.html new file mode 100644 index 00000000..d67c803b --- /dev/null +++ b/site/LLamaModel/parameters/index.html @@ -0,0 +1,1668 @@ + + + + + + + + + + + + + + + + + + + + + + Model Parameters - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaModel Parameters

+

When initializing a LLamaModel object, there're three parameters, ModelParams Params, string encoding = "UTF-8", ILLamaLogger? logger = null.

+

The usage of logger will be further introduced in logger doc. The encoding is the encoding you want to use when dealing with text via this model.

+

The most improtant of all, is the ModelParams, which is defined as below. We'll explain the parameters step by step in this document.

+
public class ModelParams
+{
+    public int ContextSize { get; set; } = 512;
+    public int GpuLayerCount { get; set; } = 20;
+    public int Seed { get; set; } = 1686349486;
+    public bool UseFp16Memory { get; set; } = true;
+    public bool UseMemorymap { get; set; } = true;
+    public bool UseMemoryLock { get; set; } = false;
+    public bool Perplexity { get; set; } = false;
+    public string ModelPath { get; set; }
+    public string LoraAdapter { get; set; } = string.Empty;
+    public string LoraBase { get; set; } = string.Empty;
+    public int Threads { get; set; } = Math.Max(Environment.ProcessorCount / 2, 1);
+    public int BatchSize { get; set; } = 512;
+    public bool ConvertEosToNewLine { get; set; } = false;
+}
+
+

ModelParams

+

Namespace: LLama.Common

+
public class ModelParams
+
+

Inheritance ObjectModelParams

+

Properties

+

ContextSize

+

Model context size (n_ctx)

+
public int ContextSize { get; set; }
+
+

Property Value

+

Int32

+

GpuLayerCount

+

Number of layers to run in VRAM / GPU memory (n_gpu_layers)

+
public int GpuLayerCount { get; set; }
+
+

Property Value

+

Int32

+

Seed

+

Seed for the random number generator (seed)

+
public int Seed { get; set; }
+
+

Property Value

+

Int32

+

UseFp16Memory

+

Use f16 instead of f32 for memory kv (memory_f16)

+
public bool UseFp16Memory { get; set; }
+
+

Property Value

+

Boolean

+

UseMemorymap

+

Use mmap for faster loads (use_mmap)

+
public bool UseMemorymap { get; set; }
+
+

Property Value

+

Boolean

+

UseMemoryLock

+

Use mlock to keep model in memory (use_mlock)

+
public bool UseMemoryLock { get; set; }
+
+

Property Value

+

Boolean

+

Perplexity

+

Compute perplexity over the prompt (perplexity)

+
public bool Perplexity { get; set; }
+
+

Property Value

+

Boolean

+

ModelPath

+

Model path (model)

+
public string ModelPath { get; set; }
+
+

Property Value

+

String

+

LoraAdapter

+

lora adapter path (lora_adapter)

+
public string LoraAdapter { get; set; }
+
+

Property Value

+

String

+

LoraBase

+

base model path for the lora adapter (lora_base)

+
public string LoraBase { get; set; }
+
+

Property Value

+

String

+

Threads

+

Number of threads (-1 = autodetect) (n_threads)

+
public int Threads { get; set; }
+
+

Property Value

+

Int32

+

BatchSize

+

batch size for prompt processing (must be >=32 to use BLAS) (n_batch)

+
public int BatchSize { get; set; }
+
+

Property Value

+

Int32

+

ConvertEosToNewLine

+

Whether to convert eos to newline during the inference.

+
public bool ConvertEosToNewLine { get; set; }
+
+

Property Value

+

Boolean

+

EmbeddingMode

+

Whether to use embedding mode. (embedding) Note that if this is set to true, + The LLamaModel won't produce text response anymore.

+
public bool EmbeddingMode { get; set; }
+
+

Property Value

+

Boolean

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaModel/quantization/index.html b/site/LLamaModel/quantization/index.html new file mode 100644 index 00000000..06926bc1 --- /dev/null +++ b/site/LLamaModel/quantization/index.html @@ -0,0 +1,1574 @@ + + + + + + + + + + + + + + + + + + + + + + Quantization - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Quantization

+

Quantization is significant to accelerate the model inference. Since there's little accuracy (performance) reduction when quantizing the model, get it easy to quantize it!

+

To quantize the model, please call Quantize from LLamaQuantizer, which is a static method.

+
string srcPath = "<model.bin>";
+string dstPath = "<model_q4_0.bin>";
+LLamaQuantizer.Quantize(srcPath, dstPath, "q4_0");
+// The following overload is also okay.
+// LLamaQuantizer.Quantize(srcPath, dstPath, LLamaFtype.LLAMA_FTYPE_MOSTLY_Q4_0);
+
+

After calling it, a quantized model file will be saved.

+

There're currently 5 types of quantization supported:

+
    +
  • q4_0
  • +
  • q4_1
  • +
  • q5_0
  • +
  • q5_1
  • +
  • q8_0
  • +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaModel/save-load-state/index.html b/site/LLamaModel/save-load-state/index.html new file mode 100644 index 00000000..86be6384 --- /dev/null +++ b/site/LLamaModel/save-load-state/index.html @@ -0,0 +1,1572 @@ + + + + + + + + + + + + + + + + + + + + + + Save/Load State - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Save/Load State

+

There're two ways to load state: loading from path and loading from bite array. Therefore, correspondingly, state data can be extracted as byte array or saved to a file.

+
LLamaModel model = new LLamaModel(new ModelParams("<modelPath>"));
+// do some things...
+model.SaveState("model.st");
+var stateData = model.GetStateData();
+model.Dispose();
+
+LLamaModel model2 = new LLamaModel(new ModelParams("<modelPath>"));
+model2.LoadState(stateData);
+// do some things...
+
+LLamaModel model3 = new LLamaModel(new ModelParams("<modelPath>"));
+model3.LoadState("model.st");
+// do some things...
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/LLamaModel/tokenization/index.html b/site/LLamaModel/tokenization/index.html new file mode 100644 index 00000000..46bf9055 --- /dev/null +++ b/site/LLamaModel/tokenization/index.html @@ -0,0 +1,1631 @@ + + + + + + + + + + + + + + + + + + + + + + Tokenization - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Tokenization/Detokenization

+

A pair of APIs to make conversion between text and tokens.

+

Tokenization

+

The basic usage is to call Tokenize after initializing the model.

+
LLamaModel model = new LLamaModel(new ModelParams("<modelPath>"));
+string text = "hello";
+int[] tokens = model.Tokenize(text).ToArray();
+
+

Depending on different model (or vocab), the output will be various.

+

Detokenization

+

Similar to tokenization, just pass an IEnumerable<int> to Detokenize method.

+
LLamaModel model = new LLamaModel(new ModelParams("<modelPath>"));
+int[] tokens = new int[] {125, 2568, 13245};
+string text = model.Detokenize(tokens);
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/NonEnglishUsage/Chinese/index.html b/site/NonEnglishUsage/Chinese/index.html new file mode 100644 index 00000000..e79f96f2 --- /dev/null +++ b/site/NonEnglishUsage/Chinese/index.html @@ -0,0 +1,1558 @@ + + + + + + + + + + + + + + + + + + + + + + Chinese - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Use LLamaSharp with Chinese

+

It's supported now but the document is under work. Please wait for some time. Thank you for your support! :)

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/Tricks/index.html b/site/Tricks/index.html new file mode 100644 index 00000000..39c2e2b1 --- /dev/null +++ b/site/Tricks/index.html @@ -0,0 +1,1681 @@ + + + + + + + + + + + + + + + + + + + + + + Tricks for FAQ - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + + + + + +
+
+ + + + +

Tricks for FAQ

+

Sometimes, your application with LLM and LLamaSharp may have strange behaviors. Before opening an issue to report the BUG, the following tricks may worth a try.

+

Carefully set the anti-prompts

+

Anti-prompt can also be called as "Stop-keyword", which decides when to stop the response generation. Under interactive mode, the maximum tokens count is always not set, which makes the LLM generates responses infinitively. Therefore, setting anti-prompt correctly helps a lot to avoid the strange behaviors. For example, the prompt file chat-with-bob.txt has the following content:

+
Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.
+
+User: Hello, Bob.
+Bob: Hello. How may I help you today?
+User: Please tell me the largest city in Europe.
+Bob: Sure. The largest city in Europe is Moscow, the capital of Russia.
+User:
+
+

Therefore, the anti-prompt should be set as "User:". If the last line of the prompt is removed, LLM will automatically generate a question (user) and a response (bob) for one time when running the chat session. Therefore, the antiprompt is suggested to be appended to the prompt when starting a chat session.

+

What if an extra line is appended? The string "User:" in the prompt will be followed with a char "\n". Thus when running the model, the automatic generation of a pair of question and response may appear because the anti-prompt is "User:" but the last token is "User:\n". As for whether it will appear, it's an undefined behavior, which depends on the implementation inside the LLamaExecutor. Anyway, since it may leads to unexpected behaviors, it's recommended to trim your prompt or carefully keep consistent with your anti-prompt.

+

Pay attention to the length of prompt

+

Sometimes we want to input a long prompt to execute a task. However, the context size may limit the inference of LLama model. Please ensure the inequality below holds.

+

$$ len(prompt) + len(response) < len(context) $$

+

In this inequality, len(response) refers to the expected tokens for LLM to generate.

+

Try differenct executors with a prompt

+

Some prompt works well under interactive mode, such as chat-with-bob, some others may work well with instruct mode, such as alpaca. Besides, if your input is quite simple and one-time job, such as "Q: what is the satellite of the earth? A: ", stateless mode will be a good choice.

+

If your chat bot has bad performance, trying different executor will possibly make it work well.

+

Choose models weight depending on you task

+

The differences between modes may lead to much different behaviors under the same task. For example, if you're building a chat bot with non-English, a fine-tuned model specially for the language you want to use will have huge effect on the performance.

+

Set the layer count you want to offload to GPU

+

Currently, the GpuLayerCount param, which decides the number of layer loaded into GPU, is set to 20 by default. However, if you have some efficient GPUs, setting it as a larger number will attain faster inference.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/assets/images/favicon.png b/site/assets/images/favicon.png new file mode 100644 index 00000000..1cf13b9f Binary files /dev/null and b/site/assets/images/favicon.png differ diff --git a/site/assets/javascripts/bundle.a51614de.min.js b/site/assets/javascripts/bundle.a51614de.min.js new file mode 100644 index 00000000..5afb7820 --- /dev/null +++ b/site/assets/javascripts/bundle.a51614de.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var Ci=Object.create;var gr=Object.defineProperty;var Ri=Object.getOwnPropertyDescriptor;var ki=Object.getOwnPropertyNames,Ht=Object.getOwnPropertySymbols,Hi=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable;var rn=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&rn(e,r,t[r]);if(Ht)for(var r of Ht(t))nn.call(t,r)&&rn(e,r,t[r]);return e};var on=(e,t)=>{var r={};for(var n in e)yr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Ht)for(var n of Ht(e))t.indexOf(n)<0&&nn.call(e,n)&&(r[n]=e[n]);return r};var Pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Pi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ki(t))!yr.call(e,o)&&o!==r&&gr(e,o,{get:()=>t[o],enumerable:!(n=Ri(t,o))||n.enumerable});return e};var yt=(e,t,r)=>(r=e!=null?Ci(Hi(e)):{},Pi(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var sn=Pt((xr,an)=>{(function(e,t){typeof xr=="object"&&typeof an!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(xr,function(){"use strict";function e(r){var n=!0,o=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(O){return!!(O&&O!==document&&O.nodeName!=="HTML"&&O.nodeName!=="BODY"&&"classList"in O&&"contains"in O.classList)}function f(O){var Qe=O.type,De=O.tagName;return!!(De==="INPUT"&&s[Qe]&&!O.readOnly||De==="TEXTAREA"&&!O.readOnly||O.isContentEditable)}function c(O){O.classList.contains("focus-visible")||(O.classList.add("focus-visible"),O.setAttribute("data-focus-visible-added",""))}function u(O){O.hasAttribute("data-focus-visible-added")&&(O.classList.remove("focus-visible"),O.removeAttribute("data-focus-visible-added"))}function p(O){O.metaKey||O.altKey||O.ctrlKey||(a(r.activeElement)&&c(r.activeElement),n=!0)}function m(O){n=!1}function d(O){a(O.target)&&(n||f(O.target))&&c(O.target)}function h(O){a(O.target)&&(O.target.classList.contains("focus-visible")||O.target.hasAttribute("data-focus-visible-added"))&&(o=!0,window.clearTimeout(i),i=window.setTimeout(function(){o=!1},100),u(O.target))}function v(O){document.visibilityState==="hidden"&&(o&&(n=!0),Y())}function Y(){document.addEventListener("mousemove",N),document.addEventListener("mousedown",N),document.addEventListener("mouseup",N),document.addEventListener("pointermove",N),document.addEventListener("pointerdown",N),document.addEventListener("pointerup",N),document.addEventListener("touchmove",N),document.addEventListener("touchstart",N),document.addEventListener("touchend",N)}function B(){document.removeEventListener("mousemove",N),document.removeEventListener("mousedown",N),document.removeEventListener("mouseup",N),document.removeEventListener("pointermove",N),document.removeEventListener("pointerdown",N),document.removeEventListener("pointerup",N),document.removeEventListener("touchmove",N),document.removeEventListener("touchstart",N),document.removeEventListener("touchend",N)}function N(O){O.target.nodeName&&O.target.nodeName.toLowerCase()==="html"||(n=!1,B())}document.addEventListener("keydown",p,!0),document.addEventListener("mousedown",m,!0),document.addEventListener("pointerdown",m,!0),document.addEventListener("touchstart",m,!0),document.addEventListener("visibilitychange",v,!0),Y(),r.addEventListener("focus",d,!0),r.addEventListener("blur",h,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var cn=Pt(Er=>{(function(e){var t=function(){try{return!!Symbol.iterator}catch(c){return!1}},r=t(),n=function(c){var u={next:function(){var p=c.shift();return{done:p===void 0,value:p}}};return r&&(u[Symbol.iterator]=function(){return u}),u},o=function(c){return encodeURIComponent(c).replace(/%20/g,"+")},i=function(c){return decodeURIComponent(String(c).replace(/\+/g," "))},s=function(){var c=function(p){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var m=typeof p;if(m!=="undefined")if(m==="string")p!==""&&this._fromString(p);else if(p instanceof c){var d=this;p.forEach(function(B,N){d.append(N,B)})}else if(p!==null&&m==="object")if(Object.prototype.toString.call(p)==="[object Array]")for(var h=0;hd[0]?1:0}),c._entries&&(c._entries={});for(var p=0;p1?i(d[1]):"")}})})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er);(function(e){var t=function(){try{var o=new e.URL("b","http://a");return o.pathname="c d",o.href==="http://a/c%20d"&&o.searchParams}catch(i){return!1}},r=function(){var o=e.URL,i=function(f,c){typeof f!="string"&&(f=String(f)),c&&typeof c!="string"&&(c=String(c));var u=document,p;if(c&&(e.location===void 0||c!==e.location.href)){c=c.toLowerCase(),u=document.implementation.createHTMLDocument(""),p=u.createElement("base"),p.href=c,u.head.appendChild(p);try{if(p.href.indexOf(c)!==0)throw new Error(p.href)}catch(O){throw new Error("URL unable to set base "+c+" due to "+O)}}var m=u.createElement("a");m.href=f,p&&(u.body.appendChild(m),m.href=m.href);var d=u.createElement("input");if(d.type="url",d.value=f,m.protocol===":"||!/:/.test(m.href)||!d.checkValidity()&&!c)throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:m});var h=new e.URLSearchParams(this.search),v=!0,Y=!0,B=this;["append","delete","set"].forEach(function(O){var Qe=h[O];h[O]=function(){Qe.apply(h,arguments),v&&(Y=!1,B.search=h.toString(),Y=!0)}}),Object.defineProperty(this,"searchParams",{value:h,enumerable:!0});var N=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==N&&(N=this.search,Y&&(v=!1,this.searchParams._fromString(this.search),v=!0))}})},s=i.prototype,a=function(f){Object.defineProperty(s,f,{get:function(){return this._anchorElement[f]},set:function(c){this._anchorElement[f]=c},enumerable:!0})};["hash","host","hostname","port","protocol"].forEach(function(f){a(f)}),Object.defineProperty(s,"search",{get:function(){return this._anchorElement.search},set:function(f){this._anchorElement.search=f,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(s,{toString:{get:function(){var f=this;return function(){return f.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(f){this._anchorElement.href=f,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(f){this._anchorElement.pathname=f},enumerable:!0},origin:{get:function(){var f={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol],c=this._anchorElement.port!=f&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(c?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(f){},enumerable:!0},username:{get:function(){return""},set:function(f){},enumerable:!0}}),i.createObjectURL=function(f){return o.createObjectURL.apply(o,arguments)},i.revokeObjectURL=function(f){return o.revokeObjectURL.apply(o,arguments)},e.URL=i};if(t()||r(),e.location!==void 0&&!("origin"in e.location)){var n=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:n,enumerable:!0})}catch(o){setInterval(function(){e.location.origin=n()},100)}}})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Er)});var qr=Pt((Mt,Nr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Mt=="object"&&typeof Nr=="object"?Nr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Mt=="object"?Mt.ClipboardJS=r():t.ClipboardJS=r()})(Mt,function(){return function(){var e={686:function(n,o,i){"use strict";i.d(o,{default:function(){return Ai}});var s=i(279),a=i.n(s),f=i(370),c=i.n(f),u=i(817),p=i.n(u);function m(j){try{return document.execCommand(j)}catch(T){return!1}}var d=function(T){var E=p()(T);return m("cut"),E},h=d;function v(j){var T=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[T?"right":"left"]="-9999px";var H=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(H,"px"),E.setAttribute("readonly",""),E.value=j,E}var Y=function(T,E){var H=v(T);E.container.appendChild(H);var I=p()(H);return m("copy"),H.remove(),I},B=function(T){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},H="";return typeof T=="string"?H=Y(T,E):T instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(T==null?void 0:T.type)?H=Y(T.value,E):(H=p()(T),m("copy")),H},N=B;function O(j){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?O=function(E){return typeof E}:O=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},O(j)}var Qe=function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=T.action,H=E===void 0?"copy":E,I=T.container,q=T.target,Me=T.text;if(H!=="copy"&&H!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(q!==void 0)if(q&&O(q)==="object"&&q.nodeType===1){if(H==="copy"&&q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(H==="cut"&&(q.hasAttribute("readonly")||q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Me)return N(Me,{container:I});if(q)return H==="cut"?h(q):N(q,{container:I})},De=Qe;function $e(j){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$e=function(E){return typeof E}:$e=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},$e(j)}function Ei(j,T){if(!(j instanceof T))throw new TypeError("Cannot call a class as a function")}function tn(j,T){for(var E=0;E0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof I.action=="function"?I.action:this.defaultAction,this.target=typeof I.target=="function"?I.target:this.defaultTarget,this.text=typeof I.text=="function"?I.text:this.defaultText,this.container=$e(I.container)==="object"?I.container:document.body}},{key:"listenClick",value:function(I){var q=this;this.listener=c()(I,"click",function(Me){return q.onClick(Me)})}},{key:"onClick",value:function(I){var q=I.delegateTarget||I.currentTarget,Me=this.action(q)||"copy",kt=De({action:Me,container:this.container,target:this.target(q),text:this.text(q)});this.emit(kt?"success":"error",{action:Me,text:kt,trigger:q,clearSelection:function(){q&&q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(I){return vr("action",I)}},{key:"defaultTarget",value:function(I){var q=vr("target",I);if(q)return document.querySelector(q)}},{key:"defaultText",value:function(I){return vr("text",I)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(I){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return N(I,q)}},{key:"cut",value:function(I){return h(I)}},{key:"isSupported",value:function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],q=typeof I=="string"?[I]:I,Me=!!document.queryCommandSupported;return q.forEach(function(kt){Me=Me&&!!document.queryCommandSupported(kt)}),Me}}]),E}(a()),Ai=Li},828:function(n){var o=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,f){for(;a&&a.nodeType!==o;){if(typeof a.matches=="function"&&a.matches(f))return a;a=a.parentNode}}n.exports=s},438:function(n,o,i){var s=i(828);function a(u,p,m,d,h){var v=c.apply(this,arguments);return u.addEventListener(m,v,h),{destroy:function(){u.removeEventListener(m,v,h)}}}function f(u,p,m,d,h){return typeof u.addEventListener=="function"?a.apply(null,arguments):typeof m=="function"?a.bind(null,document).apply(null,arguments):(typeof u=="string"&&(u=document.querySelectorAll(u)),Array.prototype.map.call(u,function(v){return a(v,p,m,d,h)}))}function c(u,p,m,d){return function(h){h.delegateTarget=s(h.target,p),h.delegateTarget&&d.call(u,h)}}n.exports=f},879:function(n,o){o.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},o.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||o.node(i[0]))},o.string=function(i){return typeof i=="string"||i instanceof String},o.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(n,o,i){var s=i(879),a=i(438);function f(m,d,h){if(!m&&!d&&!h)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(h))throw new TypeError("Third argument must be a Function");if(s.node(m))return c(m,d,h);if(s.nodeList(m))return u(m,d,h);if(s.string(m))return p(m,d,h);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(m,d,h){return m.addEventListener(d,h),{destroy:function(){m.removeEventListener(d,h)}}}function u(m,d,h){return Array.prototype.forEach.call(m,function(v){v.addEventListener(d,h)}),{destroy:function(){Array.prototype.forEach.call(m,function(v){v.removeEventListener(d,h)})}}}function p(m,d,h){return a(document.body,m,d,h)}n.exports=f},817:function(n){function o(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var f=window.getSelection(),c=document.createRange();c.selectNodeContents(i),f.removeAllRanges(),f.addRange(c),s=f.toString()}return s}n.exports=o},279:function(n){function o(){}o.prototype={on:function(i,s,a){var f=this.e||(this.e={});return(f[i]||(f[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var f=this;function c(){f.off(i,c),s.apply(a,arguments)}return c._=s,this.on(i,c,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),f=0,c=a.length;for(f;f{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var rs=/["'&<>]/;Yo.exports=ns;function ns(e){var t=""+e,r=rs.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function W(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function D(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n1||a(m,d)})})}function a(m,d){try{f(n[m](d))}catch(h){p(i[0][3],h)}}function f(m){m.value instanceof et?Promise.resolve(m.value.v).then(c,u):p(i[0][2],m)}function c(m){a("next",m)}function u(m){a("throw",m)}function p(m,d){m(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function pn(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Ee=="function"?Ee(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(s){return new Promise(function(a,f){s=e[i](s),o(a,f,s.done,s.value)})}}function o(i,s,a,f){Promise.resolve(f).then(function(c){i({value:c,done:a})},s)}}function C(e){return typeof e=="function"}function at(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var It=at(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(n,o){return o+1+") "+n.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Ee(s),f=a.next();!f.done;f=a.next()){var c=f.value;c.remove(this)}}catch(v){t={error:v}}finally{try{f&&!f.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var u=this.initialTeardown;if(C(u))try{u()}catch(v){i=v instanceof It?v.errors:[v]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var m=Ee(p),d=m.next();!d.done;d=m.next()){var h=d.value;try{ln(h)}catch(v){i=i!=null?i:[],v instanceof It?i=D(D([],W(i)),W(v.errors)):i.push(v)}}}catch(v){n={error:v}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}}if(i)throw new It(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ln(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Sr=Ie.EMPTY;function jt(e){return e instanceof Ie||e&&"closed"in e&&C(e.remove)&&C(e.add)&&C(e.unsubscribe)}function ln(e){C(e)?e():e.unsubscribe()}var Le={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var st={setTimeout:function(e,t){for(var r=[],n=2;n0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?Sr:(this.currentObservers=null,a.push(r),new Ie(function(){n.currentObservers=null,Ve(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,n){return new xn(r,n)},t}(F);var xn=function(e){ie(t,e);function t(r,n){var o=e.call(this)||this;return o.destination=r,o.source=n,o}return t.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},t.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},t.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},t.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Sr},t}(x);var Et={now:function(){return(Et.delegate||Date).now()},delegate:void 0};var wt=function(e){ie(t,e);function t(r,n,o){r===void 0&&(r=1/0),n===void 0&&(n=1/0),o===void 0&&(o=Et);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=n,i._timestampProvider=o,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(r){var n=this,o=n.isStopped,i=n._buffer,s=n._infiniteTimeWindow,a=n._timestampProvider,f=n._windowTime;o||(i.push(r),!s&&i.push(a.now()+f)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(r),o=this,i=o._infiniteTimeWindow,s=o._buffer,a=s.slice(),f=0;f0?e.prototype.requestAsyncId.call(this,r,n,o):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,o){var i;if(o===void 0&&(o=0),o!=null?o>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,o);var s=r.actions;n!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==n&&(ut.cancelAnimationFrame(n),r._scheduled=void 0)},t}(Wt);var Sn=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var o=this.actions,i;r=r||o.shift();do if(i=r.execute(r.state,r.delay))break;while((r=o[0])&&r.id===n&&o.shift());if(this._active=!1,i){for(;(r=o[0])&&r.id===n&&o.shift();)r.unsubscribe();throw i}},t}(Dt);var Oe=new Sn(wn);var M=new F(function(e){return e.complete()});function Vt(e){return e&&C(e.schedule)}function Cr(e){return e[e.length-1]}function Ye(e){return C(Cr(e))?e.pop():void 0}function Te(e){return Vt(Cr(e))?e.pop():void 0}function zt(e,t){return typeof Cr(e)=="number"?e.pop():t}var pt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Nt(e){return C(e==null?void 0:e.then)}function qt(e){return C(e[ft])}function Kt(e){return Symbol.asyncIterator&&C(e==null?void 0:e[Symbol.asyncIterator])}function Qt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Yt=zi();function Gt(e){return C(e==null?void 0:e[Yt])}function Bt(e){return un(this,arguments,function(){var r,n,o,i;return $t(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,et(r.read())];case 3:return n=s.sent(),o=n.value,i=n.done,i?[4,et(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,et(o)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function Jt(e){return C(e==null?void 0:e.getReader)}function U(e){if(e instanceof F)return e;if(e!=null){if(qt(e))return Ni(e);if(pt(e))return qi(e);if(Nt(e))return Ki(e);if(Kt(e))return On(e);if(Gt(e))return Qi(e);if(Jt(e))return Yi(e)}throw Qt(e)}function Ni(e){return new F(function(t){var r=e[ft]();if(C(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function qi(e){return new F(function(t){for(var r=0;r=2;return function(n){return n.pipe(e?A(function(o,i){return e(o,i,n)}):de,ge(1),r?He(t):Dn(function(){return new Zt}))}}function Vn(){for(var e=[],t=0;t=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new x}:t,n=e.resetOnError,o=n===void 0?!0:n,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,f=a===void 0?!0:a;return function(c){var u,p,m,d=0,h=!1,v=!1,Y=function(){p==null||p.unsubscribe(),p=void 0},B=function(){Y(),u=m=void 0,h=v=!1},N=function(){var O=u;B(),O==null||O.unsubscribe()};return y(function(O,Qe){d++,!v&&!h&&Y();var De=m=m!=null?m:r();Qe.add(function(){d--,d===0&&!v&&!h&&(p=$r(N,f))}),De.subscribe(Qe),!u&&d>0&&(u=new rt({next:function($e){return De.next($e)},error:function($e){v=!0,Y(),p=$r(B,o,$e),De.error($e)},complete:function(){h=!0,Y(),p=$r(B,s),De.complete()}}),U(O).subscribe(u))})(c)}}function $r(e,t){for(var r=[],n=2;ne.next(document)),e}function K(e,t=document){return Array.from(t.querySelectorAll(e))}function z(e,t=document){let r=ce(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ce(e,t=document){return t.querySelector(e)||void 0}function _e(){return document.activeElement instanceof HTMLElement&&document.activeElement||void 0}function tr(e){return L(b(document.body,"focusin"),b(document.body,"focusout")).pipe(ke(1),l(()=>{let t=_e();return typeof t!="undefined"?e.contains(t):!1}),V(e===_e()),J())}function Xe(e){return{x:e.offsetLeft,y:e.offsetTop}}function Kn(e){return L(b(window,"load"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>Xe(e)),V(Xe(e)))}function rr(e){return{x:e.scrollLeft,y:e.scrollTop}}function dt(e){return L(b(e,"scroll"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>rr(e)),V(rr(e)))}var Yn=function(){if(typeof Map!="undefined")return Map;function e(t,r){var n=-1;return t.some(function(o,i){return o[0]===r?(n=i,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,i=this.__entries__;o0},e.prototype.connect_=function(){!Wr||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),va?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){!Wr||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=ba.some(function(i){return!!~n.indexOf(i)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),Gn=function(e,t){for(var r=0,n=Object.keys(t);r0},e}(),Jn=typeof WeakMap!="undefined"?new WeakMap:new Yn,Xn=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ga.getInstance(),n=new La(t,r,this);Jn.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Xn.prototype[e]=function(){var t;return(t=Jn.get(this))[e].apply(t,arguments)}});var Aa=function(){return typeof nr.ResizeObserver!="undefined"?nr.ResizeObserver:Xn}(),Zn=Aa;var eo=new x,Ca=$(()=>k(new Zn(e=>{for(let t of e)eo.next(t)}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function he(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ye(e){return Ca.pipe(S(t=>t.observe(e)),g(t=>eo.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(()=>he(e)))),V(he(e)))}function bt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function ar(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var to=new x,Ra=$(()=>k(new IntersectionObserver(e=>{for(let t of e)to.next(t)},{threshold:0}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function sr(e){return Ra.pipe(S(t=>t.observe(e)),g(t=>to.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(({isIntersecting:r})=>r))))}function ro(e,t=16){return dt(e).pipe(l(({y:r})=>{let n=he(e),o=bt(e);return r>=o.height-n.height-t}),J())}var cr={drawer:z("[data-md-toggle=drawer]"),search:z("[data-md-toggle=search]")};function no(e){return cr[e].checked}function Ke(e,t){cr[e].checked!==t&&cr[e].click()}function Ue(e){let t=cr[e];return b(t,"change").pipe(l(()=>t.checked),V(t.checked))}function ka(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Ha(){return L(b(window,"compositionstart").pipe(l(()=>!0)),b(window,"compositionend").pipe(l(()=>!1))).pipe(V(!1))}function oo(){let e=b(window,"keydown").pipe(A(t=>!(t.metaKey||t.ctrlKey)),l(t=>({mode:no("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),A(({mode:t,type:r})=>{if(t==="global"){let n=_e();if(typeof n!="undefined")return!ka(n,r)}return!0}),pe());return Ha().pipe(g(t=>t?M:e))}function le(){return new URL(location.href)}function ot(e){location.href=e.href}function io(){return new x}function ao(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)ao(e,r)}function _(e,t,...r){let n=document.createElement(e);if(t)for(let o of Object.keys(t))typeof t[o]!="undefined"&&(typeof t[o]!="boolean"?n.setAttribute(o,t[o]):n.setAttribute(o,""));for(let o of r)ao(n,o);return n}function fr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function so(){return location.hash.substring(1)}function Dr(e){let t=_("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Pa(e){return L(b(window,"hashchange"),e).pipe(l(so),V(so()),A(t=>t.length>0),X(1))}function co(e){return Pa(e).pipe(l(t=>ce(`[id="${t}"]`)),A(t=>typeof t!="undefined"))}function Vr(e){let t=matchMedia(e);return er(r=>t.addListener(()=>r(t.matches))).pipe(V(t.matches))}function fo(){let e=matchMedia("print");return L(b(window,"beforeprint").pipe(l(()=>!0)),b(window,"afterprint").pipe(l(()=>!1))).pipe(V(e.matches))}function zr(e,t){return e.pipe(g(r=>r?t():M))}function ur(e,t={credentials:"same-origin"}){return ue(fetch(`${e}`,t)).pipe(fe(()=>M),g(r=>r.status!==200?Ot(()=>new Error(r.statusText)):k(r)))}function We(e,t){return ur(e,t).pipe(g(r=>r.json()),X(1))}function uo(e,t){let r=new DOMParser;return ur(e,t).pipe(g(n=>n.text()),l(n=>r.parseFromString(n,"text/xml")),X(1))}function pr(e){let t=_("script",{src:e});return $(()=>(document.head.appendChild(t),L(b(t,"load"),b(t,"error").pipe(g(()=>Ot(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(l(()=>{}),R(()=>document.head.removeChild(t)),ge(1))))}function po(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function lo(){return L(b(window,"scroll",{passive:!0}),b(window,"resize",{passive:!0})).pipe(l(po),V(po()))}function mo(){return{width:innerWidth,height:innerHeight}}function ho(){return b(window,"resize",{passive:!0}).pipe(l(mo),V(mo()))}function bo(){return G([lo(),ho()]).pipe(l(([e,t])=>({offset:e,size:t})),X(1))}function lr(e,{viewport$:t,header$:r}){let n=t.pipe(ee("size")),o=G([n,r]).pipe(l(()=>Xe(e)));return G([r,t,o]).pipe(l(([{height:i},{offset:s,size:a},{x:f,y:c}])=>({offset:{x:s.x-f,y:s.y-c+i},size:a})))}(()=>{function e(n,o){parent.postMessage(n,o||"*")}function t(...n){return n.reduce((o,i)=>o.then(()=>new Promise(s=>{let a=document.createElement("script");a.src=i,a.onload=s,document.body.appendChild(a)})),Promise.resolve())}var r=class extends EventTarget{constructor(n){super(),this.url=n,this.m=i=>{i.source===this.w&&(this.dispatchEvent(new MessageEvent("message",{data:i.data})),this.onmessage&&this.onmessage(i))},this.e=(i,s,a,f,c)=>{if(s===`${this.url}`){let u=new ErrorEvent("error",{message:i,filename:s,lineno:a,colno:f,error:c});this.dispatchEvent(u),this.onerror&&this.onerror(u)}};let o=document.createElement("iframe");o.hidden=!0,document.body.appendChild(this.iframe=o),this.w.document.open(),this.w.document.write(` + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Overview

+

logo

+

LLamaSharp is the C#/.NET binding of llama.cpp. It provides APIs to inference the LLaMa Models and deploy it on native environment or Web. It could help C# developers to deploy the LLM (Large Language Model) locally and integrate with C# apps.

+

Main features

+
    +
  • Model inference
  • +
  • Model quantization
  • +
  • Generating embeddings
  • +
  • Interactive/Instruct/Stateless executor mode
  • +
  • Chat session APIs
  • +
  • Save/load the state
  • +
  • Integration with other applications like BotSharp and semantic-kernel
  • +
+

Essential insights for novice learners

+

If you are new to LLM, here're some tips for you to help you to get start with LLamaSharp. If you are experienced in this field, we'd still recommend you to take a few minutes to read it because somethings performs differently compared to cpp/python.

+
    +
  1. Tha main ability of LLamaSharp is to provide an efficient way to run inference of LLM (Large Language Model) locally (and fine-tune model in the future). The model weights, however, needs to be downloaded from other resources, like huggingface.
  2. +
  3. Since LLamaSharp supports multiple platforms, The nuget package is splitted to LLamaSharp and LLama.Backend. After installing LLamaSharp, please install one of LLama.Backend.Cpu, LLama.Backend.Cuda11 and LLama.Backend.Cuda12. If you use the source code, dynamic libraries could be found in LLama/Runtimes. Then rename the one you want to use to libllama.dll.
  4. +
  5. LLaMa originally refers to the weights released by Meta (Facebook Research). After that, many models are fine-tuned based on it, such as Vicuna, GPT4All, and Pyglion. Though all of these models are supported by LLamaSharp, some steps are necessary with different file formats. There're mainly three kinds of files, which are .pth, .bin (ggml), .bin (quantized). If you have the .bin (quantized) file, it could be used directly by LLamaSharp. If you have the .bin (ggml) file, you could use it directly but get higher inference speed after the quantization. If you have the .pth file, you need to follow the instructions in llama.cpp to convert it to .bin (ggml) file at first.
  6. +
  7. LLamaSharp supports GPU acceleration, but it requires cuda installation. Please install cuda 11 or cuda 12 on your system before using LLamaSharp to enable GPU. If you have another cuda version, you could compile llama.cpp from source to get the dll. For building from source, please refer to issue #5.
  8. +
+

Welcome to join the development!

+

Community effort is always one of the most important things in open-source projects. Any contribution in any way is welcomed here. For example, the following things mean a lot for LLamaSharp:

+
    +
  1. Open an issue when you find something wrong.
  2. +
  3. Open an PR if you've fixed something. Even if just correcting a typo, it also makes great sense.
  4. +
  5. Help to optimize the documentation.
  6. +
  7. Write an example or blog about how to integrate LLamaSharp with your APPs.
  8. +
  9. Ask for a missed feature and discuss with other developers.
  10. +
+

If you'd like to get deeply involved in development, please touch us in discord channel or send email to AsakusaRinne@gmail.com. :)

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/media/LLamaSharpLogo.png b/site/media/LLamaSharpLogo.png new file mode 100644 index 00000000..62df789a Binary files /dev/null and b/site/media/LLamaSharpLogo.png differ diff --git a/site/media/structure.jpg b/site/media/structure.jpg new file mode 100644 index 00000000..a0b708bc Binary files /dev/null and b/site/media/structure.jpg differ diff --git a/site/media/structure.vsdx b/site/media/structure.vsdx new file mode 100644 index 00000000..e703b502 Binary files /dev/null and b/site/media/structure.vsdx differ diff --git a/site/sciprts/map_xml_files_to_yml.py b/site/sciprts/map_xml_files_to_yml.py new file mode 100644 index 00000000..a2cf98ca --- /dev/null +++ b/site/sciprts/map_xml_files_to_yml.py @@ -0,0 +1,16 @@ +import os + +def generate_string_list(folder_path, prefix): + file_names = os.listdir(folder_path) + string_list = [] + for file_name in file_names: + new_string = f"- {'.'.join(file_name.split('.')[:-1])}: {prefix}{file_name}" + string_list.append(new_string) + return string_list + +folder_path = "./docs/xmldocs" +prefix = "./xmldocs/" + +string_list = generate_string_list(folder_path, prefix) +result = '\n'.join(string_list) +print(result) diff --git a/site/search/search_index.json b/site/search/search_index.json new file mode 100644 index 00000000..5cf525c0 --- /dev/null +++ b/site/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Overview","text":"

LLamaSharp is the C#/.NET binding of llama.cpp. It provides APIs to inference the LLaMa Models and deploy it on native environment or Web. It could help C# developers to deploy the LLM (Large Language Model) locally and integrate with C# apps.

"},{"location":"#main-features","title":"Main features","text":"
  • Model inference
  • Model quantization
  • Generating embeddings
  • Interactive/Instruct/Stateless executor mode
  • Chat session APIs
  • Save/load the state
  • Integration with other applications like BotSharp and semantic-kernel
"},{"location":"#essential-insights-for-novice-learners","title":"Essential insights for novice learners","text":"

If you are new to LLM, here're some tips for you to help you to get start with LLamaSharp. If you are experienced in this field, we'd still recommend you to take a few minutes to read it because somethings performs differently compared to cpp/python.

  1. Tha main ability of LLamaSharp is to provide an efficient way to run inference of LLM (Large Language Model) locally (and fine-tune model in the future). The model weights, however, needs to be downloaded from other resources, like huggingface.
  2. Since LLamaSharp supports multiple platforms, The nuget package is splitted to LLamaSharp and LLama.Backend. After installing LLamaSharp, please install one of LLama.Backend.Cpu, LLama.Backend.Cuda11 and LLama.Backend.Cuda12. If you use the source code, dynamic libraries could be found in LLama/Runtimes. Then rename the one you want to use to libllama.dll.
  3. LLaMa originally refers to the weights released by Meta (Facebook Research). After that, many models are fine-tuned based on it, such as Vicuna, GPT4All, and Pyglion. Though all of these models are supported by LLamaSharp, some steps are necessary with different file formats. There're mainly three kinds of files, which are .pth, .bin (ggml), .bin (quantized). If you have the .bin (quantized) file, it could be used directly by LLamaSharp. If you have the .bin (ggml) file, you could use it directly but get higher inference speed after the quantization. If you have the .pth file, you need to follow the instructions in llama.cpp to convert it to .bin (ggml) file at first.
  4. LLamaSharp supports GPU acceleration, but it requires cuda installation. Please install cuda 11 or cuda 12 on your system before using LLamaSharp to enable GPU. If you have another cuda version, you could compile llama.cpp from source to get the dll. For building from source, please refer to issue #5.
"},{"location":"#welcome-to-join-the-development","title":"Welcome to join the development!","text":"

Community effort is always one of the most important things in open-source projects. Any contribution in any way is welcomed here. For example, the following things mean a lot for LLamaSharp:

  1. Open an issue when you find something wrong.
  2. Open an PR if you've fixed something. Even if just correcting a typo, it also makes great sense.
  3. Help to optimize the documentation.
  4. Write an example or blog about how to integrate LLamaSharp with your APPs.
  5. Ask for a missed feature and discuss with other developers.

If you'd like to get deeply involved in development, please touch us in discord channel or send email to AsakusaRinne@gmail.com. :)

"},{"location":"Architecher/","title":"Architecher","text":""},{"location":"Architecher/#architecher-of-main-functions","title":"Architecher of main functions","text":"

The figure below shows the core framework structure, which is separated to four levels.

  • LLamaModel: The holder of a model which directly interact with native library and provide some basic APIs such as tokenization and embedding. Currently it includes three classes: LLamaModel, LLamaEmbedder and LLamaQuantizer.
  • LLamaExecutors: Executors which define the way to run the LLama model. It provides text-to-text APIs to make it easy to use. Currently we provide three kinds of executors: InteractiveExecutor, InstructuExecutor and StatelessExecutor.
  • ChatSession: A wrapping for InteractiveExecutor and LLamaModel, which supports interactive tasks and saving/re-loading sessions. It also provides a flexible way to customize the text process by IHistoryTransform, ITextTransform and ITextStreamTransform.
  • High-level Applications: Some applications that provides higher-level integration. For example, BotSharp provides integration for vector search, Chatbot UI and Web APIs. semantic-kernel provides various APIs for manipulations related with LLM. If you've made an integration, please tell us and add it to the doc!

"},{"location":"Architecher/#recommended-usings","title":"Recommended usings","text":"

Since LLamaModel interact with native library, it's not recommended to use the methods of it directly unless you know what you are doing. So does the NativeApi, which is not included in the arcitecher figure above.

ChatSession is recommended to be used when you want to build an application similar to ChatGPT, or the ChatBot, because it works best with InteractiveExecutor. Though other executors are also allowed to passed as a parameter to initialize a ChatSession, it's not encouraged if you are new to LLamaSharp and LLM.

High-level applications, such as BotSharp, are supposed to be used when you concentrate on the part not related with LLM. For example, if you want to deploy a chat bot to help you remember your schedules, using BotSharp may be a good choice.

Note that the APIs of the high-level applications may not be stable now. Please take it into account when using them.

"},{"location":"ContributingGuide/","title":"LLamaSharp Contributing Guide","text":"

Hi, welcome to develop LLamaSharp with us together! We are always open for every contributor and any format of contributions! If you want to maintain this library actively together, please contact us to get the write access after some PRs. (Email: AsakusaRinne@gmail.com)

In this page, we'd like to introduce how to make contributions here easily. \ud83d\ude0a

"},{"location":"ContributingGuide/#compile-the-native-library-from-source","title":"Compile the native library from source","text":"

Firstly, please clone the llama.cpp repository and following the instructions in llama.cpp readme to configure your local environment.

If you want to support cublas in the compilation, please make sure that you've installed the cuda.

When building from source, please add -DBUILD_SHARED_LIBS=ON to the cmake instruction. For example, when building with cublas but without openblas, use the following instruction:

cmake .. -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON\n

After running cmake --build . --config Release, you could find the llama.dll, llama.so or llama.dylib in your build directory. After pasting it to LLamaSharp/LLama/runtimes and renaming it to libllama.dll, libllama.so or libllama.dylib, you can use it as the native library in LLamaSharp.

"},{"location":"ContributingGuide/#add-a-new-feature-to-llamasharp","title":"Add a new feature to LLamaSharp","text":"

After refactoring the framework in v0.4.0, LLamaSharp will try to maintain the backward compatibility. However, in the following cases, break change is okay:

  1. Due to some break changes in llama.cpp, making a break change will help to maintain the good abstraction and friendly user APIs.
  2. A very improtant feature cannot be implemented unless refactoring some parts.
  3. After some discussions, an agreement was reached that making the break change is reasonable.

If a new feature could be added without introducing any break change, please open a PR rather than open an issue first. We will never refuse the PR but help to improve it, unless it's malicious.

When adding the feature, please take care of the namespace and the naming convention. For example, if you are adding an integration for WPF, please put the code under namespace LLama.WPF or LLama.Integration.WPF instead of putting it under the root namespace. The naming convention of LLamaSharp follows the pascal naming convention, but in some parts that are invisible to users, you can do whatever you want.

"},{"location":"ContributingGuide/#find-the-problem-and-fix-the-bug","title":"Find the problem and fix the BUG","text":"

If the issue is related to the LLM internal behaviors, such as endless generating the response, the best way to find the problem is to do comparison test between llama.cpp and LLamaSharp.

You could use exactly the same prompt, the same model and the same parameters to run the inference in llama.cpp and LLamaSharp respectively to see if it's really a problem caused by the implementation in LLamaSharp.

If the experiment showed that it worked well in llama.cpp but didn't in LLamaSharp, a the search for the problem could be started. While the reason of the problem could be various, the best way I think is to add log-print in the code of llama.cpp and use it in LLamaSharp after compilation. Thus, when running LLamaSharp, you could see what happened in the native library.

After finding out the reason, a painful but happy process comes. When working on the BUG fix, there's only one rule to follow, that is keeping the examples working well. If the modification fixed the BUG but impact on other functions, it would not be a good fix.

During the BUG fix process, please don't hesitate to discuss together when you stuck on something.

"},{"location":"ContributingGuide/#add-integrations","title":"Add integrations","text":"

All kinds of integration are welcomed here! Currently the following integrations are under work or on our schedule:

  1. BotSharp
  2. semantic-kernel
  3. Unity

Besides, for some other integrations, like ASP.NET core, SQL, Blazor and so on, we'll appreciate it if you could help with that. If the time is limited for you, providing an example for it also means a lot!

"},{"location":"ContributingGuide/#add-examples","title":"Add examples","text":"

There're mainly two ways to add an example:

  1. Add the example to LLama.Examples of the repository.
  2. Put the example in another repositpry and add the link to the readme or docs of LLamaSharp.
"},{"location":"ContributingGuide/#add-documents","title":"Add documents","text":"

LLamaSharp uses mkdocs to build the documantation, please follow the tutorial of mkdocs to add or modify documents in LLamaSharp.

"},{"location":"GetStarted/","title":"Get Started","text":""},{"location":"GetStarted/#install-packages","title":"Install packages","text":"

Firstly, search LLamaSharp in nuget package manager and install it.

PM> Install-Package LLamaSharp\n

Then, search and install one of the following backends:

LLamaSharp.Backend.Cpu\nLLamaSharp.Backend.Cuda11\nLLamaSharp.Backend.Cuda12\n

Here's the mapping of them and corresponding model samples provided by LLamaSharp. If you're not sure which model is available for a version, please try our sample model.

LLamaSharp.Backend LLamaSharp Verified Model Resources llama.cpp commit id - v0.2.0 This version is not recommended to use. - - v0.2.1 WizardLM, Vicuna (filenames with \"old\") - v0.2.2 v0.2.2, v0.2.3 WizardLM, Vicuna (filenames without \"old\") 63d2046 v0.3.0 v0.3.0 LLamaSharpSamples v0.3.0, WizardLM 7e4ea5b"},{"location":"GetStarted/#download-a-model","title":"Download a model","text":"

One of the following models could be okay:

  • LLaMA \ud83e\udd99
  • Alpaca
  • GPT4All
  • Chinese LLaMA / Alpaca
  • Vigogne (French)
  • Vicuna
  • Koala
  • OpenBuddy \ud83d\udc36 (Multilingual)
  • Pygmalion 7B / Metharme 7B
  • WizardLM

Note that because llama.cpp is under fast development now and often introduce break changes, some model weights on huggingface which works under a version may be invalid with another version. If it's your first time to configure LLamaSharp, we'd like to suggest for using verified model weights in the table above.

"},{"location":"GetStarted/#run-the-program","title":"Run the program","text":"

Please create a console program with dotnet runtime >= netstandard 2.0 (>= net6.0 is more recommended). Then, paste the following code to program.cs;

using LLama.Common;\nusing LLama;\n\nstring modelPath = \"<Your model path>\" // change it to your own model path\nvar prompt = \"Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.\\r\\n\\r\\nUser: Hello, Bob.\\r\\nBob: Hello. How may I help you today?\\r\\nUser: Please tell me the largest city in Europe.\\r\\nBob: Sure. The largest city in Europe is Moscow, the capital of Russia.\\r\\nUser:\"; // use the \"chat-with-bob\" prompt here.\n\n// Initialize a chat session\nvar ex = new InteractiveExecutor(new LLamaModel(new ModelParams(modelPath, contextSize: 1024, seed: 1337, gpuLayerCount: 5)));\nChatSession session = new ChatSession(ex);\n\n// show the prompt\nConsole.WriteLine();\nConsole.Write(prompt);\n\n// run the inference in a loop to chat with LLM\nwhile (true)\n{\n    foreach (var text in session.Chat(prompt, new InferenceParams() { Temperature = 0.6f, AntiPrompts = new List<string> { \"User:\" } }))\n    {\n        Console.Write(text);\n    }\n\n    Console.ForegroundColor = ConsoleColor.Green;\n    prompt = Console.ReadLine();\n    Console.ForegroundColor = ConsoleColor.White;\n}\n

After starting it, you'll see the following outputs.

Please input your model path: D:\\development\\llama\\weights\\wizard-vicuna-13B.ggmlv3.q4_1.bin\nllama.cpp: loading model from D:\\development\\llama\\weights\\wizard-vicuna-13B.ggmlv3.q4_1.bin\nllama_model_load_internal: format     = ggjt v3 (latest)\nllama_model_load_internal: n_vocab    = 32000\nllama_model_load_internal: n_ctx      = 1024\nllama_model_load_internal: n_embd     = 5120\nllama_model_load_internal: n_mult     = 256\nllama_model_load_internal: n_head     = 40\nllama_model_load_internal: n_layer    = 40\nllama_model_load_internal: n_rot      = 128\nllama_model_load_internal: ftype      = 3 (mostly Q4_1)\nllama_model_load_internal: n_ff       = 13824\nllama_model_load_internal: n_parts    = 1\nllama_model_load_internal: model size = 13B\nllama_model_load_internal: ggml ctx size = 7759.48 MB\nllama_model_load_internal: mem required  = 9807.48 MB (+ 1608.00 MB per state)\n....................................................................................................\nllama_init_from_file: kv self size  =  800.00 MB\n\nTranscript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.\n\nUser: Hello, Bob.\nBob: Hello. How may I help you today?\nUser: Please tell me the largest city in Europe.\nBob: Sure. The largest city in Europe is Moscow, the capital of Russia.\nUser:\n

Now, enjoy chatting with LLM!

"},{"location":"Tricks/","title":"Tricks for FAQ","text":"

Sometimes, your application with LLM and LLamaSharp may have strange behaviors. Before opening an issue to report the BUG, the following tricks may worth a try.

"},{"location":"Tricks/#carefully-set-the-anti-prompts","title":"Carefully set the anti-prompts","text":"

Anti-prompt can also be called as \"Stop-keyword\", which decides when to stop the response generation. Under interactive mode, the maximum tokens count is always not set, which makes the LLM generates responses infinitively. Therefore, setting anti-prompt correctly helps a lot to avoid the strange behaviors. For example, the prompt file chat-with-bob.txt has the following content:

Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.\n\nUser: Hello, Bob.\nBob: Hello. How may I help you today?\nUser: Please tell me the largest city in Europe.\nBob: Sure. The largest city in Europe is Moscow, the capital of Russia.\nUser:\n

Therefore, the anti-prompt should be set as \"User:\". If the last line of the prompt is removed, LLM will automatically generate a question (user) and a response (bob) for one time when running the chat session. Therefore, the antiprompt is suggested to be appended to the prompt when starting a chat session.

What if an extra line is appended? The string \"User:\" in the prompt will be followed with a char \"\\n\". Thus when running the model, the automatic generation of a pair of question and response may appear because the anti-prompt is \"User:\" but the last token is \"User:\\n\". As for whether it will appear, it's an undefined behavior, which depends on the implementation inside the LLamaExecutor. Anyway, since it may leads to unexpected behaviors, it's recommended to trim your prompt or carefully keep consistent with your anti-prompt.

"},{"location":"Tricks/#pay-attention-to-the-length-of-prompt","title":"Pay attention to the length of prompt","text":"

Sometimes we want to input a long prompt to execute a task. However, the context size may limit the inference of LLama model. Please ensure the inequality below holds.

$$ len(prompt) + len(response) < len(context) $$

In this inequality, len(response) refers to the expected tokens for LLM to generate.

"},{"location":"Tricks/#try-differenct-executors-with-a-prompt","title":"Try differenct executors with a prompt","text":"

Some prompt works well under interactive mode, such as chat-with-bob, some others may work well with instruct mode, such as alpaca. Besides, if your input is quite simple and one-time job, such as \"Q: what is the satellite of the earth? A: \", stateless mode will be a good choice.

If your chat bot has bad performance, trying different executor will possibly make it work well.

"},{"location":"Tricks/#choose-models-weight-depending-on-you-task","title":"Choose models weight depending on you task","text":"

The differences between modes may lead to much different behaviors under the same task. For example, if you're building a chat bot with non-English, a fine-tuned model specially for the language you want to use will have huge effect on the performance.

"},{"location":"Tricks/#set-the-layer-count-you-want-to-offload-to-gpu","title":"Set the layer count you want to offload to GPU","text":"

Currently, the GpuLayerCount param, which decides the number of layer loaded into GPU, is set to 20 by default. However, if you have some efficient GPUs, setting it as a larger number will attain faster inference.

"},{"location":"ChatSession/basic-usages/","title":"Basic usages of ChatSession","text":"

ChatSession is a higher-level absatrction than the executors. In the context of a chat application like ChatGPT, a \"chat session\" refers to an interactive conversation or exchange of messages between the user and the chatbot. It represents a continuous flow of communication where the user enters input or asks questions, and the chatbot responds accordingly. A chat session typically starts when the user initiates a conversation with the chatbot and continues until the interaction comes to a natural end or is explicitly terminated by either the user or the system. During a chat session, the chatbot maintains the context of the conversation, remembers previous messages, and generates appropriate responses based on the user's inputs and the ongoing dialogue.

"},{"location":"ChatSession/basic-usages/#initialize-a-session","title":"Initialize a session","text":"

Currently, the only parameter that is accepted is an ILLamaExecutor, because this is the only parameter that we're sure to exist in all the future versions. Since it's the high-level absatrction, we're conservative to the API designs. In the future, there may be more kinds of constructors added.

InteractiveExecutor ex = new(new LLamaModel(new ModelParams(modelPath)));\nChatSession session = new ChatSession(ex);\n
"},{"location":"ChatSession/basic-usages/#chat-with-the-bot","title":"Chat with the bot","text":"

There'll be two kinds of input accepted by the Chat API, which are ChatHistory and String. The API with string is quite similar to that of the executors. Meanwhile, the API with ChatHistory is aimed to provide more flexible usages. For example, you have had a chat with the bot in session A before you open the session B. Now session B has no memory for what you said before. Therefore, you can feed the history of A to B.

string prompt = \"What is C#?\";\n\nforeach (var text in session.Chat(prompt, new InferenceParams() { Temperature = 0.6f, AntiPrompts = new List<string> { \"User:\" } })) // the inference params should be changed depending on your statement\n{\n    Console.Write(text);\n}\n
"},{"location":"ChatSession/basic-usages/#get-the-history","title":"Get the history","text":"

Currently History is a property of ChatSession.

foreach(var rec in session.History.Messages)\n{\n    Console.WriteLine($\"{rec.AuthorRole}: {rec.Content}\");\n}\n
"},{"location":"ChatSession/save-load-session/","title":"Save/Load Chat Session","text":"

Generally, the chat session could be switched, which requires the ability of loading and saving session.

When building a chat bot app, it's NOT encouraged to initialize many chat sessions and keep them in memory to wait for being switched, because the memory comsumption of both CPU and GPU is expensive. It's recommended to save the current session before switching to a new session, and load the file when switching back to the session.

The API is also quite simple, the files will be saved into a directory you specified. If the path does not exist, a new directory will be created.

string savePath = \"<save dir>\";\nsession.SaveSession(savePath);\n\nsession.LoadSession(savePath);\n
"},{"location":"ChatSession/transforms/","title":"Transforms in Chat Session","text":"

There's three important elements in ChatSession, which are input, output and history. Besides, there're some conversions between them. Since the process of them under different conditions varies, LLamaSharp hands over this part of the power to the users.

Currently, there're three kinds of process that could be customized, as introduced below.

"},{"location":"ChatSession/transforms/#input-transform","title":"Input transform","text":"

In general, the input of the chat API is a text (without stream), therefore ChatSession processes it in a pipeline. If you want to use your customized transform, you need to define a transform that implements ITextTransform and add it to the pipeline of ChatSession.

public interface ITextTransform\n{\n    string Transform(string text);\n}\n
public class MyInputTransform1 : ITextTransform\n{\n    public string Transform(string text)\n    {\n        return $\"Question: {text}\\n\";\n    }\n}\n\npublic class MyInputTransform2 : ITextTransform\n{\n    public string Transform(string text)\n    {\n        return text + \"Answer: \";\n    }\n}\n\nsession.AddInputTransform(new MyInputTransform1()).AddInputTransform(new MyInputTransform2());\n
"},{"location":"ChatSession/transforms/#output-transform","title":"Output transform","text":"

Different from the input, the output of chat API is a text stream. Therefore you need to process it word by word, instead of getting the full text at once.

The interface of it has an IEnumerable<string> as input, which is actually a yield sequence.

public interface ITextStreamTransform\n{\n    IEnumerable<string> Transform(IEnumerable<string> tokens);\n    IAsyncEnumerable<string> TransformAsync(IAsyncEnumerable<string> tokens);\n}\n

When implementing it, you could throw a not-implemented exception in one of them if you only need to use the chat API in synchronously or asynchronously.

Different from the input transform pipeline, the output transform only supports one transform.

session.WithOutputTransform(new MyOutputTransform());\n

Here's an example of how to implement the interface. In this example, the transform detects wether there's some keywords in the response and removes them.

/// <summary>\n/// A text output transform that removes the keywords from the response.\n/// </summary>\npublic class KeywordTextOutputStreamTransform : ITextStreamTransform\n{\n    HashSet<string> _keywords;\n    int _maxKeywordLength;\n    bool _removeAllMatchedTokens;\n\n    /// <summary>\n    /// \n    /// </summary>\n    /// <param name=\"keywords\">Keywords that you want to remove from the response.</param>\n    /// <param name=\"redundancyLength\">The extra length when searching for the keyword. For example, if your only keyword is \"highlight\", \n    /// maybe the token you get is \"\\r\\nhighligt\". In this condition, if redundancyLength=0, the token cannot be successfully matched because the length of \"\\r\\nhighligt\" (10)\n    /// has already exceeded the maximum length of the keywords (8). On the contrary, setting redundancyLengyh >= 2 leads to successful match.\n    /// The larger the redundancyLength is, the lower the processing speed. But as an experience, it won't introduce too much performance impact when redundancyLength <= 5 </param>\n    /// <param name=\"removeAllMatchedTokens\">If set to true, when getting a matched keyword, all the related tokens will be removed. Otherwise only the part of keyword will be removed.</param>\n    public KeywordTextOutputStreamTransform(IEnumerable<string> keywords, int redundancyLength = 3, bool removeAllMatchedTokens = false)\n    {\n        _keywords = new(keywords);\n        _maxKeywordLength = keywords.Select(x => x.Length).Max() + redundancyLength;\n        _removeAllMatchedTokens = removeAllMatchedTokens;\n    }\n    /// <inheritdoc />\n    public IEnumerable<string> Transform(IEnumerable<string> tokens)\n    {\n        var window = new Queue<string>();\n\n        foreach (var s in tokens)\n        {\n            window.Enqueue(s);\n            var current = string.Join(\"\", window);\n            if (_keywords.Any(x => current.Contains(x)))\n            {\n                var matchedKeyword = _keywords.First(x => current.Contains(x));\n                int total = window.Count;\n                for (int i = 0; i < total; i++)\n                {\n                    window.Dequeue();\n                }\n                if (!_removeAllMatchedTokens)\n                {\n                    yield return current.Replace(matchedKeyword, \"\");\n                }\n            }\n            if (current.Length >= _maxKeywordLength)\n            {\n                if (_keywords.Any(x => current.Contains(x)))\n                {\n                    var matchedKeyword = _keywords.First(x => current.Contains(x));\n                    int total = window.Count;\n                    for (int i = 0; i < total; i++)\n                    {\n                        window.Dequeue();\n                    }\n                    if (!_removeAllMatchedTokens)\n                    {\n                        yield return current.Replace(matchedKeyword, \"\");\n                    }\n                }\n                else\n                {\n                    int total = window.Count;\n                    for (int i = 0; i < total; i++)\n                    {\n                        yield return window.Dequeue();\n                    }\n                }\n            }\n        }\n        int totalCount = window.Count;\n        for (int i = 0; i < totalCount; i++)\n        {\n            yield return window.Dequeue();\n        }\n    }\n    /// <inheritdoc />\n    public async IAsyncEnumerable<string> TransformAsync(IAsyncEnumerable<string> tokens)\n    {\n        throw new NotImplementedException(); // This is implemented in `LLamaTransforms` but we ignore it here.\n    }\n}\n
"},{"location":"ChatSession/transforms/#history-transform","title":"History transform","text":"

The chat history could be converted to or from a text, which is exactly what the interface of it.

public interface IHistoryTransform\n{\n    string HistoryToText(ChatHistory history);\n    ChatHistory TextToHistory(AuthorRole role, string text);\n}\n

Similar to the output transform, the history transform is added in the following way:

session.WithHistoryTransform(new MyHistoryTransform());\n

The implementation is quite flexible, depending on what you want the history message to be like. Here's an example, which is the default history transform in LLamaSharp.

/// <summary>\n/// The default history transform.\n/// Uses plain text with the following format:\n/// [Author]: [Message]\n/// </summary>\npublic class DefaultHistoryTransform : IHistoryTransform\n{\n    private readonly string defaultUserName = \"User\";\n    private readonly string defaultAssistantName = \"Assistant\";\n    private readonly string defaultSystemName = \"System\";\n    private readonly string defaultUnknownName = \"??\";\n\n    string _userName;\n    string _assistantName;\n    string _systemName;\n    string _unknownName;\n    bool _isInstructMode;\n    public DefaultHistoryTransform(string? userName = null, string? assistantName = null, \n        string? systemName = null, string? unknownName = null, bool isInstructMode = false)\n    {\n        _userName = userName ?? defaultUserName;\n        _assistantName = assistantName ?? defaultAssistantName;\n        _systemName = systemName ?? defaultSystemName;\n        _unknownName = unknownName ?? defaultUnknownName;\n        _isInstructMode = isInstructMode;\n    }\n\n    public virtual string HistoryToText(ChatHistory history)\n    {\n        StringBuilder sb = new();\n        foreach (var message in history.Messages)\n        {\n            if (message.AuthorRole == AuthorRole.User)\n            {\n                sb.AppendLine($\"{_userName}: {message.Content}\");\n            }\n            else if (message.AuthorRole == AuthorRole.System)\n            {\n                sb.AppendLine($\"{_systemName}: {message.Content}\");\n            }\n            else if (message.AuthorRole == AuthorRole.Unknown)\n            {\n                sb.AppendLine($\"{_unknownName}: {message.Content}\");\n            }\n            else if (message.AuthorRole == AuthorRole.Assistant)\n            {\n                sb.AppendLine($\"{_assistantName}: {message.Content}\");\n            }\n        }\n        return sb.ToString();\n    }\n\n    public virtual ChatHistory TextToHistory(AuthorRole role, string text)\n    {\n        ChatHistory history = new ChatHistory();\n        history.AddMessage(role, TrimNamesFromText(text, role));\n        return history;\n    }\n\n    public virtual string TrimNamesFromText(string text, AuthorRole role)\n    {\n        if (role == AuthorRole.User && text.StartsWith($\"{_userName}:\"))\n        {\n            text = text.Substring($\"{_userName}:\".Length).TrimStart();\n        }\n        else if (role == AuthorRole.Assistant && text.EndsWith($\"{_assistantName}:\"))\n        {\n            text = text.Substring(0, text.Length - $\"{_assistantName}:\".Length).TrimEnd();\n        }\n        if (_isInstructMode && role == AuthorRole.Assistant && text.EndsWith(\"\\n> \"))\n        {\n            text = text.Substring(0, text.Length - \"\\n> \".Length).TrimEnd();\n        }\n        return text;\n    }\n}\n
"},{"location":"HighLevelApps/bot-sharp/","title":"The Usage of BotSharp Integration","text":"

The document is under work, please have a wait. Thank you for your support! :)

"},{"location":"LLamaExecutors/differences/","title":"Differences of Executors","text":""},{"location":"LLamaExecutors/differences/#differences-between-the-executors","title":"Differences between the executors","text":"

There're currently three kinds of executors provided, which are InteractiveExecutor, InstructExecutor and StatelessExecutor.

In a word, InteractiveExecutor is suitable for getting answer of your questions from LLM continuously. InstructExecutor let LLM execute your instructions, such as \"continue writing\". StatelessExecutor is best for one-time job because the previous inference has no impact on the current inference.

"},{"location":"LLamaExecutors/differences/#interactive-mode-instruct-mode","title":"Interactive mode & Instruct mode","text":"

Both of them are taking \"completing the prompt\" as the goal to generate the response. For example, if you input Long long ago, there was a fox who wanted to make friend with humen. One day, then the LLM will continue to write the story.

Under interactive mode, you serve a role of user and the LLM serves the role of assistant. Then it will help you with your question or request.

Under instruct mode, you give LLM some instructions and it follows.

Though the behaviors of them sounds similar, it could introduce many differences depending on your prompt. For example, \"chat-with-bob\" has good performance under interactive mode and alpaca does well with instruct mode.

// chat-with-bob\n\nTranscript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User's requests immediately and with precision.\n\nUser: Hello, Bob.\nBob: Hello. How may I help you today?\nUser: Please tell me the largest city in Europe.\nBob: Sure. The largest city in Europe is Moscow, the capital of Russia.\nUser:\n
// alpaca\n\nBelow is an instruction that describes a task. Write a response that appropriately completes the request.\n

Therefore, please modify the prompt correspondingly when switching from one mode to the other.

"},{"location":"LLamaExecutors/differences/#stateful-mode-and-stateless-mode","title":"Stateful mode and Stateless mode.","text":"

Despite the differences between interactive mode and instruct mode, both of them are stateful mode. That is, your previous question/instruction will impact on the current response from LLM. On the contrary, the steteless executor does not have such a \"memory\". No matter how many times you talk to it, it will only concentrate on what you say in this time.

Since the stateless executor has no memory of conversations before, you need to input your question with the whole prompt into it to get the better answer.

For example, if you feed Q: Who is Trump? A: to the steteless executor, it may give the following answer with the antiprompt Q:.

Donald J. Trump, born June 14, 1946, is an American businessman, television personality, politician and the 45th President of the United States (2017-2021). # Anexo:Torneo de Hamburgo 2022 (individual masculino)\n\n## Presentaci\u00f3n previa\n\n* Defensor del t\u00edtulo:  Daniil Medv\u00e9dev\n

It seems that things went well at first. However, after answering the question itself, LLM began to talk about some other things until the answer reached the token count limit. The reason of this strange behavior is the anti-prompt cannot be match. With the input, LLM cannot decide whether to append a string \"A: \" at the end of the response.

As an improvement, let's take the following text as the input:

Q: What is the capital of the USA? A: Washingtong. Q: What is the sum of 1 and 2? A: 3. Q: Who is Trump? A: \n

Then, I got the following answer with the anti-prompt Q:.

45th president of the United States.\n

At this time, by repeating the same mode of Q: xxx? A: xxx., LLM outputs the anti-prompt we want to help to decide where to dtop the generation.

"},{"location":"LLamaExecutors/parameters/","title":"Inference Parameters","text":"

Different from LLamaModel, when using an exeuctor, InferenceParams is passed to the Infer method instead of constructor. This is because executors only define the ways to run the model, therefore in each run, you can change the settings for this time inference.

"},{"location":"LLamaExecutors/parameters/#inferenceparams","title":"InferenceParams","text":"

Namespace: LLama.Common

public class InferenceParams\n

Inheritance Object \u2192 InferenceParams

"},{"location":"LLamaExecutors/parameters/#properties","title":"Properties","text":""},{"location":"LLamaExecutors/parameters/#tokenskeep","title":"TokensKeep","text":"

number of tokens to keep from initial prompt

public int TokensKeep { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value","title":"Property Value","text":"

Int32

"},{"location":"LLamaExecutors/parameters/#maxtokens","title":"MaxTokens","text":"

how many new tokens to predict (n_predict), set to -1 to inifinitely generate response until it complete.

public int MaxTokens { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"LLamaExecutors/parameters/#logitbias","title":"LogitBias","text":"

logit bias for specific tokens

public Dictionary<int, float> LogitBias { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_2","title":"Property Value","text":"

Dictionary<Int32, Single>

"},{"location":"LLamaExecutors/parameters/#antiprompts","title":"AntiPrompts","text":"

Sequences where the model will stop generating further tokens.

public IEnumerable<string> AntiPrompts { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_3","title":"Property Value","text":"

IEnumerable<String>

"},{"location":"LLamaExecutors/parameters/#pathsession","title":"PathSession","text":"

path to file for saving/loading model eval state

public string PathSession { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_4","title":"Property Value","text":"

String

"},{"location":"LLamaExecutors/parameters/#inputsuffix","title":"InputSuffix","text":"

string to suffix user inputs with

public string InputSuffix { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_5","title":"Property Value","text":"

String

"},{"location":"LLamaExecutors/parameters/#inputprefix","title":"InputPrefix","text":"

string to prefix user inputs with

public string InputPrefix { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_6","title":"Property Value","text":"

String

"},{"location":"LLamaExecutors/parameters/#topk","title":"TopK","text":"

0 or lower to use vocab size

public int TopK { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_7","title":"Property Value","text":"

Int32

"},{"location":"LLamaExecutors/parameters/#topp","title":"TopP","text":"

1.0 = disabled

public float TopP { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_8","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#tfsz","title":"TfsZ","text":"

1.0 = disabled

public float TfsZ { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_9","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#typicalp","title":"TypicalP","text":"

1.0 = disabled

public float TypicalP { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_10","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#temperature","title":"Temperature","text":"

1.0 = disabled

public float Temperature { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_11","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#repeatpenalty","title":"RepeatPenalty","text":"

1.0 = disabled

public float RepeatPenalty { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_12","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#repeatlasttokenscount","title":"RepeatLastTokensCount","text":"

last n tokens to penalize (0 = disable penalty, -1 = context size) (repeat_last_n)

public int RepeatLastTokensCount { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_13","title":"Property Value","text":"

Int32

"},{"location":"LLamaExecutors/parameters/#frequencypenalty","title":"FrequencyPenalty","text":"

frequency penalty coefficient 0.0 = disabled

public float FrequencyPenalty { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_14","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#presencepenalty","title":"PresencePenalty","text":"

presence penalty coefficient 0.0 = disabled

public float PresencePenalty { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_15","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#mirostat","title":"Mirostat","text":"

Mirostat uses tokens instead of words. algorithm described in the paper https://arxiv.org/abs/2007.14966. 0 = disabled, 1 = mirostat, 2 = mirostat 2.0

public MiroStateType Mirostat { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_16","title":"Property Value","text":"

MiroStateType

"},{"location":"LLamaExecutors/parameters/#mirostattau","title":"MirostatTau","text":"

target entropy

public float MirostatTau { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_17","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#mirostateta","title":"MirostatEta","text":"

learning rate

public float MirostatEta { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_18","title":"Property Value","text":"

Single

"},{"location":"LLamaExecutors/parameters/#penalizenl","title":"PenalizeNL","text":"

consider newlines as a repeatable token (penalize_nl)

public bool PenalizeNL { get; set; }\n
"},{"location":"LLamaExecutors/parameters/#property-value_19","title":"Property Value","text":"

Boolean

"},{"location":"LLamaExecutors/save-load-state/","title":"Save/Load State of Executor","text":"

Similar to LLamaModel, an executor also has its state, which can be saved and loaded. Note that in most of cases, the state of executor and the state of the model should be loaded and saved at the same time.

To decouple the model and executor, we provide APIs to save/load state for model and executor respectively. However, during the inference, the processed information will leave footprint in LLamaModel's native context. Therefore, if you just load a state from another executor but keep the model unmodified, some strange things may happen. So will loading model state only.

Is there a condition that requires to load one of them only? The answer is YES. For example, after resetting the model state, if you don't want the inference starting from the new position, leaving the executor unmodified is okay. But, anyway, this flexible usage may cause some unexpected behaviors, therefore please ensure you know what you're doing before using it in this way.

In the future version, we'll open the access for some variables inside the executor to support more flexible usages.

The APIs to load/save state of the executors is similar to that of LLamaModel. However, note that StatelessExecutor doesn't have such APIs because it's stateless itself. Besides, the output of GetStateData is an object of type ExecutorBaseState.

LLamaModel model = new LLamaModel(new ModelParams(\"<modelPath>\"));\nInteractiveExecutor executor = new InteractiveExecutor(model);\n// do some things...\nexecutor.SaveState(\"executor.st\");\nvar stateData = model.GetStateData();\n\nInteractiveExecutor executor2 = new InteractiveExecutor(model);\nexecutor2.LoadState(stateData);\n// do some things...\n\nInteractiveExecutor executor3 = new InteractiveExecutor(model);\nexecutor3.LoadState(\"executor.st\");\n// do some things...\n
"},{"location":"LLamaExecutors/text-to-text-apis/","title":"Text-to-Text APIs of the executors","text":"

All the executors implements the interface ILLamaExecutor, which provides two APIs to execute text-to-text tasks.

public interface ILLamaExecutor\n{\n    public LLamaModel Model { get; }\n\n    IEnumerable<string> Infer(string text, InferenceParams? inferenceParams = null, CancellationToken token = default);\n\n    IAsyncEnumerable<string> InferAsync(string text, InferenceParams? inferenceParams = null, CancellationToken token = default);\n}\n

Just pass the text to the executor with the inference parameters. For the inference parameters, please refer to executor inference parameters doc.

The output of both two APIs are yield enumerable. Therefore, when receiving the output, you can directly use foreach to take actions on each word you get by order, instead of waiting for the whole process completed.

"},{"location":"LLamaModel/embeddings/","title":"Get Embeddings","text":"

Getting the embeddings of a text in LLM is sometimes useful, for example, to train other MLP models.

To get the embeddings, please initialize a LLamaEmbedder and then call GetEmbeddings.

var embedder = new LLamaEmbedder(new ModelParams(\"<modelPath>\"));\nstring text = \"hello, LLM.\";\nfloat[] embeddings = embedder.GetEmbeddings(text);\n

The output is a float array. Note that the length of the array is related with the model you load. If you just want to get a smaller size embedding, please consider changing a model.

"},{"location":"LLamaModel/parameters/","title":"LLamaModel Parameters","text":"

When initializing a LLamaModel object, there're three parameters, ModelParams Params, string encoding = \"UTF-8\", ILLamaLogger? logger = null.

The usage of logger will be further introduced in logger doc. The encoding is the encoding you want to use when dealing with text via this model.

The most improtant of all, is the ModelParams, which is defined as below. We'll explain the parameters step by step in this document.

public class ModelParams\n{\n    public int ContextSize { get; set; } = 512;\n    public int GpuLayerCount { get; set; } = 20;\n    public int Seed { get; set; } = 1686349486;\n    public bool UseFp16Memory { get; set; } = true;\n    public bool UseMemorymap { get; set; } = true;\n    public bool UseMemoryLock { get; set; } = false;\n    public bool Perplexity { get; set; } = false;\n    public string ModelPath { get; set; }\n    public string LoraAdapter { get; set; } = string.Empty;\n    public string LoraBase { get; set; } = string.Empty;\n    public int Threads { get; set; } = Math.Max(Environment.ProcessorCount / 2, 1);\n    public int BatchSize { get; set; } = 512;\n    public bool ConvertEosToNewLine { get; set; } = false;\n}\n
"},{"location":"LLamaModel/parameters/#modelparams","title":"ModelParams","text":"

Namespace: LLama.Common

public class ModelParams\n

Inheritance Object \u2192 ModelParams

"},{"location":"LLamaModel/parameters/#properties","title":"Properties","text":""},{"location":"LLamaModel/parameters/#contextsize","title":"ContextSize","text":"

Model context size (n_ctx)

public int ContextSize { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value","title":"Property Value","text":"

Int32

"},{"location":"LLamaModel/parameters/#gpulayercount","title":"GpuLayerCount","text":"

Number of layers to run in VRAM / GPU memory (n_gpu_layers)

public int GpuLayerCount { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"LLamaModel/parameters/#seed","title":"Seed","text":"

Seed for the random number generator (seed)

public int Seed { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_2","title":"Property Value","text":"

Int32

"},{"location":"LLamaModel/parameters/#usefp16memory","title":"UseFp16Memory","text":"

Use f16 instead of f32 for memory kv (memory_f16)

public bool UseFp16Memory { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_3","title":"Property Value","text":"

Boolean

"},{"location":"LLamaModel/parameters/#usememorymap","title":"UseMemorymap","text":"

Use mmap for faster loads (use_mmap)

public bool UseMemorymap { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_4","title":"Property Value","text":"

Boolean

"},{"location":"LLamaModel/parameters/#usememorylock","title":"UseMemoryLock","text":"

Use mlock to keep model in memory (use_mlock)

public bool UseMemoryLock { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_5","title":"Property Value","text":"

Boolean

"},{"location":"LLamaModel/parameters/#perplexity","title":"Perplexity","text":"

Compute perplexity over the prompt (perplexity)

public bool Perplexity { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_6","title":"Property Value","text":"

Boolean

"},{"location":"LLamaModel/parameters/#modelpath","title":"ModelPath","text":"

Model path (model)

public string ModelPath { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_7","title":"Property Value","text":"

String

"},{"location":"LLamaModel/parameters/#loraadapter","title":"LoraAdapter","text":"

lora adapter path (lora_adapter)

public string LoraAdapter { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_8","title":"Property Value","text":"

String

"},{"location":"LLamaModel/parameters/#lorabase","title":"LoraBase","text":"

base model path for the lora adapter (lora_base)

public string LoraBase { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_9","title":"Property Value","text":"

String

"},{"location":"LLamaModel/parameters/#threads","title":"Threads","text":"

Number of threads (-1 = autodetect) (n_threads)

public int Threads { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_10","title":"Property Value","text":"

Int32

"},{"location":"LLamaModel/parameters/#batchsize","title":"BatchSize","text":"

batch size for prompt processing (must be >=32 to use BLAS) (n_batch)

public int BatchSize { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_11","title":"Property Value","text":"

Int32

"},{"location":"LLamaModel/parameters/#converteostonewline","title":"ConvertEosToNewLine","text":"

Whether to convert eos to newline during the inference.

public bool ConvertEosToNewLine { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_12","title":"Property Value","text":"

Boolean

"},{"location":"LLamaModel/parameters/#embeddingmode","title":"EmbeddingMode","text":"

Whether to use embedding mode. (embedding) Note that if this is set to true, The LLamaModel won't produce text response anymore.

public bool EmbeddingMode { get; set; }\n
"},{"location":"LLamaModel/parameters/#property-value_13","title":"Property Value","text":"

Boolean

"},{"location":"LLamaModel/quantization/","title":"Quantization","text":"

Quantization is significant to accelerate the model inference. Since there's little accuracy (performance) reduction when quantizing the model, get it easy to quantize it!

To quantize the model, please call Quantize from LLamaQuantizer, which is a static method.

string srcPath = \"<model.bin>\";\nstring dstPath = \"<model_q4_0.bin>\";\nLLamaQuantizer.Quantize(srcPath, dstPath, \"q4_0\");\n// The following overload is also okay.\n// LLamaQuantizer.Quantize(srcPath, dstPath, LLamaFtype.LLAMA_FTYPE_MOSTLY_Q4_0);\n

After calling it, a quantized model file will be saved.

There're currently 5 types of quantization supported:

  • q4_0
  • q4_1
  • q5_0
  • q5_1
  • q8_0
"},{"location":"LLamaModel/save-load-state/","title":"Save/Load State","text":"

There're two ways to load state: loading from path and loading from bite array. Therefore, correspondingly, state data can be extracted as byte array or saved to a file.

LLamaModel model = new LLamaModel(new ModelParams(\"<modelPath>\"));\n// do some things...\nmodel.SaveState(\"model.st\");\nvar stateData = model.GetStateData();\nmodel.Dispose();\n\nLLamaModel model2 = new LLamaModel(new ModelParams(\"<modelPath>\"));\nmodel2.LoadState(stateData);\n// do some things...\n\nLLamaModel model3 = new LLamaModel(new ModelParams(\"<modelPath>\"));\nmodel3.LoadState(\"model.st\");\n// do some things...\n
"},{"location":"LLamaModel/tokenization/","title":"Tokenization/Detokenization","text":"

A pair of APIs to make conversion between text and tokens.

"},{"location":"LLamaModel/tokenization/#tokenization","title":"Tokenization","text":"

The basic usage is to call Tokenize after initializing the model.

LLamaModel model = new LLamaModel(new ModelParams(\"<modelPath>\"));\nstring text = \"hello\";\nint[] tokens = model.Tokenize(text).ToArray();\n

Depending on different model (or vocab), the output will be various.

"},{"location":"LLamaModel/tokenization/#detokenization","title":"Detokenization","text":"

Similar to tokenization, just pass an IEnumerable<int> to Detokenize method.

LLamaModel model = new LLamaModel(new ModelParams(\"<modelPath>\"));\nint[] tokens = new int[] {125, 2568, 13245};\nstring text = model.Detokenize(tokens);\n
"},{"location":"More/log/","title":"The Logger in LLamaSharp","text":"

LLamaSharp supports customized logger because it could be used in many kinds of applications, like Winform/WPF, WebAPI and Blazor, so that the preference of logger varies.

"},{"location":"More/log/#define-customized-logger","title":"Define customized logger","text":"

What you need to do is to implement the ILogger interface.

public interface ILLamaLogger\n{\n    public enum LogLevel\n    {\n        Info,\n        Debug,\n        Warning,\n        Error\n    }\n    void Log(string source, string message, LogLevel level);\n}\n

The source specifies where the log message is from, which could be a function, a class, etc..

The message is the log message itself.

The level is the level of the information in the log. As shown above, there're four levels, which are info, debug, warning and error respectively.

The following is a simple example of theb logger implementation:

public sealed class LLamaDefaultLogger : ILLamaLogger\n{\n    private static readonly Lazy<LLamaDefaultLogger> _instance = new Lazy<LLamaDefaultLogger>(() => new LLamaDefaultLogger());\n\n    private bool _toConsole = true;\n    private bool _toFile = false;\n\n    private FileStream? _fileStream = null;\n    private StreamWriter _fileWriter = null;\n\n    public static LLamaDefaultLogger Default => _instance.Value;\n\n    private LLamaDefaultLogger()\n    {\n\n    }\n\n    public LLamaDefaultLogger EnableConsole()\n    {\n        _toConsole = true;\n        return this;\n    }\n\n    public LLamaDefaultLogger DisableConsole()\n    {\n        _toConsole = false;\n        return this;\n    }\n\n    public LLamaDefaultLogger EnableFile(string filename, FileMode mode = FileMode.Append)\n    {\n        _fileStream = new FileStream(filename, mode, FileAccess.Write);\n        _fileWriter = new StreamWriter(_fileStream);\n        _toFile = true;\n        return this;\n    }\n\n    public LLamaDefaultLogger DisableFile(string filename)\n    {\n        if (_fileWriter is not null)\n        {\n            _fileWriter.Close();\n            _fileWriter = null;\n        }\n        if (_fileStream is not null)\n        {\n            _fileStream.Close();\n            _fileStream = null;\n        }\n        _toFile = false;\n        return this;\n    }\n\n    public void Log(string source, string message, LogLevel level)\n    {\n        if (level == LogLevel.Info)\n        {\n            Info(message);\n        }\n        else if (level == LogLevel.Debug)\n        {\n\n        }\n        else if (level == LogLevel.Warning)\n        {\n            Warn(message);\n        }\n        else if (level == LogLevel.Error)\n        {\n            Error(message);\n        }\n    }\n\n    public void Info(string message)\n    {\n        message = MessageFormat(\"info\", message);\n        if (_toConsole)\n        {\n            Console.ForegroundColor = ConsoleColor.White;\n            Console.WriteLine(message);\n            Console.ResetColor();\n        }\n        if (_toFile)\n        {\n            Debug.Assert(_fileStream is not null);\n            Debug.Assert(_fileWriter is not null);\n            _fileWriter.WriteLine(message);\n        }\n    }\n\n    public void Warn(string message)\n    {\n        message = MessageFormat(\"warn\", message);\n        if (_toConsole)\n        {\n            Console.ForegroundColor = ConsoleColor.Yellow;\n            Console.WriteLine(message);\n            Console.ResetColor();\n        }\n        if (_toFile)\n        {\n            Debug.Assert(_fileStream is not null);\n            Debug.Assert(_fileWriter is not null);\n            _fileWriter.WriteLine(message);\n        }\n    }\n\n    public void Error(string message)\n    {\n        message = MessageFormat(\"error\", message);\n        if (_toConsole)\n        {\n            Console.ForegroundColor = ConsoleColor.Red;\n            Console.WriteLine(message);\n            Console.ResetColor();\n        }\n        if (_toFile)\n        {\n            Debug.Assert(_fileStream is not null);\n            Debug.Assert(_fileWriter is not null);\n            _fileWriter.WriteLine(message);\n        }\n    }\n\n    private string MessageFormat(string level, string message)\n    {\n        DateTime now = DateTime.Now;\n        string formattedDate = now.ToString(\"yyyy.MM.dd HH:mm:ss\");\n        return $\"[{formattedDate}][{level}]: {message}\";\n    }\n}\n
"},{"location":"NonEnglishUsage/Chinese/","title":"Use LLamaSharp with Chinese","text":"

It's supported now but the document is under work. Please wait for some time. Thank you for your support! :)

"},{"location":"xmldocs/","title":"LLamaSharp","text":""},{"location":"xmldocs/#llama","title":"LLama","text":"

ChatSession

InstructExecutor

InteractiveExecutor

LLamaEmbedder

LLamaModel

LLamaQuantizer

LLamaTransforms

ResettableLLamaModel

StatefulExecutorBase

StatelessExecutor

"},{"location":"xmldocs/#llamaabstractions","title":"LLama.Abstractions","text":"

IHistoryTransform

ILLamaExecutor

ITextStreamTransform

ITextTransform

"},{"location":"xmldocs/#llamacommon","title":"LLama.Common","text":"

AuthorRole

ChatHistory

FixedSizeQueue<T>

ILLamaLogger

InferenceParams

LLamaDefaultLogger

MiroStateType

ModelParams

"},{"location":"xmldocs/#llamaexceptions","title":"LLama.Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/#llamaextensions","title":"LLama.Extensions","text":"

DictionaryExtension

"},{"location":"xmldocs/#llamanative","title":"LLama.Native","text":"

LLamaContextParams

LLamaFtype

LLamaTokenData

LLamaTokenDataArray

LLamaTokenDataArrayNative

NativeApi

SafeLLamaContextHandle

SafeLLamaHandleBase

"},{"location":"xmldocs/#llamaoldversion","title":"LLama.OldVersion","text":"

ChatCompletion

ChatCompletionChoice

ChatCompletionChunk

ChatCompletionChunkChoice

ChatCompletionChunkDelta

ChatCompletionMessage

ChatMessageRecord

ChatRole

ChatSession<T>

Completion

CompletionChoice

CompletionChunk

CompletionLogprobs

CompletionUsage

Embedding

EmbeddingData

EmbeddingUsage

IChatModel

LLamaEmbedder

LLamaModel

LLamaParams

"},{"location":"xmldocs/llama.abstractions.ihistorytransform/","title":"IHistoryTransform","text":"

Namespace: LLama.Abstractions

Transform history to plain text and vice versa.

public interface IHistoryTransform\n
"},{"location":"xmldocs/llama.abstractions.ihistorytransform/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.abstractions.ihistorytransform/#historytotextchathistory","title":"HistoryToText(ChatHistory)","text":"

Convert a ChatHistory instance to plain text.

string HistoryToText(ChatHistory history)\n
"},{"location":"xmldocs/llama.abstractions.ihistorytransform/#parameters","title":"Parameters","text":"

history ChatHistory The ChatHistory instance

"},{"location":"xmldocs/llama.abstractions.ihistorytransform/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.abstractions.ihistorytransform/#texttohistoryauthorrole-string","title":"TextToHistory(AuthorRole, String)","text":"

Converts plain text to a ChatHistory instance.

ChatHistory TextToHistory(AuthorRole role, string text)\n
"},{"location":"xmldocs/llama.abstractions.ihistorytransform/#parameters_1","title":"Parameters","text":"

role AuthorRole The role for the author.

text String The chat history as plain text.

"},{"location":"xmldocs/llama.abstractions.ihistorytransform/#returns_1","title":"Returns","text":"

ChatHistory The updated history.

"},{"location":"xmldocs/llama.abstractions.illamaexecutor/","title":"ILLamaExecutor","text":"

Namespace: LLama.Abstractions

A high level interface for LLama models.

public interface ILLamaExecutor\n
"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.abstractions.illamaexecutor/#model","title":"Model","text":"

The loaded model for this executor.

public abstract LLamaModel Model { get; }\n
"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#property-value","title":"Property Value","text":"

LLamaModel

"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.abstractions.illamaexecutor/#inferstring-inferenceparams-cancellationtoken","title":"Infer(String, InferenceParams, CancellationToken)","text":"

Infers a response from the model.

IEnumerable<string> Infer(string text, InferenceParams inferenceParams, CancellationToken token)\n
"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#parameters","title":"Parameters","text":"

text String Your prompt

inferenceParams InferenceParams Any additional parameters

token CancellationToken A cancellation token.

"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#returns","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#inferasyncstring-inferenceparams-cancellationtoken","title":"InferAsync(String, InferenceParams, CancellationToken)","text":"
IAsyncEnumerable<string> InferAsync(string text, InferenceParams inferenceParams, CancellationToken token)\n
"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#parameters_1","title":"Parameters","text":"

text String

inferenceParams InferenceParams

token CancellationToken

"},{"location":"xmldocs/llama.abstractions.illamaexecutor/#returns_1","title":"Returns","text":"

IAsyncEnumerable<String>

"},{"location":"xmldocs/llama.abstractions.itextstreamtransform/","title":"ITextStreamTransform","text":"

Namespace: LLama.Abstractions

Takes a stream of tokens and transforms them.

public interface ITextStreamTransform\n
"},{"location":"xmldocs/llama.abstractions.itextstreamtransform/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.abstractions.itextstreamtransform/#transformienumerablestring","title":"Transform(IEnumerable<String>)","text":"

Takes a stream of tokens and transforms them, returning a new stream of tokens.

IEnumerable<string> Transform(IEnumerable<string> tokens)\n
"},{"location":"xmldocs/llama.abstractions.itextstreamtransform/#parameters","title":"Parameters","text":"

tokens IEnumerable<String>

"},{"location":"xmldocs/llama.abstractions.itextstreamtransform/#returns","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.abstractions.itextstreamtransform/#transformasynciasyncenumerablestring","title":"TransformAsync(IAsyncEnumerable<String>)","text":"

Takes a stream of tokens and transforms them, returning a new stream of tokens asynchronously.

IAsyncEnumerable<string> TransformAsync(IAsyncEnumerable<string> tokens)\n
"},{"location":"xmldocs/llama.abstractions.itextstreamtransform/#parameters_1","title":"Parameters","text":"

tokens IAsyncEnumerable<String>

"},{"location":"xmldocs/llama.abstractions.itextstreamtransform/#returns_1","title":"Returns","text":"

IAsyncEnumerable<String>

"},{"location":"xmldocs/llama.abstractions.itexttransform/","title":"ITextTransform","text":"

Namespace: LLama.Abstractions

An interface for text transformations. These can be used to compose a pipeline of text transformations, such as: - Tokenization - Lowercasing - Punctuation removal - Trimming - etc.

public interface ITextTransform\n
"},{"location":"xmldocs/llama.abstractions.itexttransform/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.abstractions.itexttransform/#transformstring","title":"Transform(String)","text":"

Takes a string and transforms it.

string Transform(string text)\n
"},{"location":"xmldocs/llama.abstractions.itexttransform/#parameters","title":"Parameters","text":"

text String

"},{"location":"xmldocs/llama.abstractions.itexttransform/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.chatsession/","title":"ChatSession","text":"

Namespace: LLama

The main chat session class.

public class ChatSession\n

Inheritance Object \u2192 ChatSession

"},{"location":"xmldocs/llama.chatsession/#fields","title":"Fields","text":""},{"location":"xmldocs/llama.chatsession/#outputtransform","title":"OutputTransform","text":"

The output transform used in this session.

public ITextStreamTransform OutputTransform;\n
"},{"location":"xmldocs/llama.chatsession/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.chatsession/#executor","title":"Executor","text":"

The executor for this session.

public ILLamaExecutor Executor { get; }\n
"},{"location":"xmldocs/llama.chatsession/#property-value","title":"Property Value","text":"

ILLamaExecutor

"},{"location":"xmldocs/llama.chatsession/#history","title":"History","text":"

The chat history for this session.

public ChatHistory History { get; }\n
"},{"location":"xmldocs/llama.chatsession/#property-value_1","title":"Property Value","text":"

ChatHistory

"},{"location":"xmldocs/llama.chatsession/#historytransform","title":"HistoryTransform","text":"

The history transform used in this session.

public IHistoryTransform HistoryTransform { get; set; }\n
"},{"location":"xmldocs/llama.chatsession/#property-value_2","title":"Property Value","text":"

IHistoryTransform

"},{"location":"xmldocs/llama.chatsession/#inputtransformpipeline","title":"InputTransformPipeline","text":"

The input transform pipeline used in this session.

public List<ITextTransform> InputTransformPipeline { get; set; }\n
"},{"location":"xmldocs/llama.chatsession/#property-value_3","title":"Property Value","text":"

List<ITextTransform>

"},{"location":"xmldocs/llama.chatsession/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.chatsession/#chatsessionillamaexecutor","title":"ChatSession(ILLamaExecutor)","text":"
public ChatSession(ILLamaExecutor executor)\n
"},{"location":"xmldocs/llama.chatsession/#parameters","title":"Parameters","text":"

executor ILLamaExecutor The executor for this session

"},{"location":"xmldocs/llama.chatsession/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.chatsession/#withhistorytransformihistorytransform","title":"WithHistoryTransform(IHistoryTransform)","text":"

Use a custom history transform.

public ChatSession WithHistoryTransform(IHistoryTransform transform)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_1","title":"Parameters","text":"

transform IHistoryTransform

"},{"location":"xmldocs/llama.chatsession/#returns","title":"Returns","text":"

ChatSession

"},{"location":"xmldocs/llama.chatsession/#addinputtransformitexttransform","title":"AddInputTransform(ITextTransform)","text":"

Add a text transform to the input transform pipeline.

public ChatSession AddInputTransform(ITextTransform transform)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_2","title":"Parameters","text":"

transform ITextTransform

"},{"location":"xmldocs/llama.chatsession/#returns_1","title":"Returns","text":"

ChatSession

"},{"location":"xmldocs/llama.chatsession/#withoutputtransformitextstreamtransform","title":"WithOutputTransform(ITextStreamTransform)","text":"

Use a custom output transform.

public ChatSession WithOutputTransform(ITextStreamTransform transform)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_3","title":"Parameters","text":"

transform ITextStreamTransform

"},{"location":"xmldocs/llama.chatsession/#returns_2","title":"Returns","text":"

ChatSession

"},{"location":"xmldocs/llama.chatsession/#savesessionstring","title":"SaveSession(String)","text":"
public void SaveSession(string path)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_4","title":"Parameters","text":"

path String The directory name to save the session. If the directory does not exist, a new directory will be created.

"},{"location":"xmldocs/llama.chatsession/#loadsessionstring","title":"LoadSession(String)","text":"
public void LoadSession(string path)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_5","title":"Parameters","text":"

path String The directory name to load the session.

"},{"location":"xmldocs/llama.chatsession/#chatchathistory-inferenceparams-cancellationtoken","title":"Chat(ChatHistory, InferenceParams, CancellationToken)","text":"

Get the response from the LLama model with chat histories.

public IEnumerable<string> Chat(ChatHistory history, InferenceParams inferenceParams, CancellationToken cancellationToken)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_6","title":"Parameters","text":"

history ChatHistory

inferenceParams InferenceParams

cancellationToken CancellationToken

"},{"location":"xmldocs/llama.chatsession/#returns_3","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.chatsession/#chatstring-inferenceparams-cancellationtoken","title":"Chat(String, InferenceParams, CancellationToken)","text":"

Get the response from the LLama model. Note that prompt could not only be the preset words, but also the question you want to ask.

public IEnumerable<string> Chat(string prompt, InferenceParams inferenceParams, CancellationToken cancellationToken)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_7","title":"Parameters","text":"

prompt String

inferenceParams InferenceParams

cancellationToken CancellationToken

"},{"location":"xmldocs/llama.chatsession/#returns_4","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.chatsession/#chatasyncchathistory-inferenceparams-cancellationtoken","title":"ChatAsync(ChatHistory, InferenceParams, CancellationToken)","text":"

Get the response from the LLama model with chat histories.

public IAsyncEnumerable<string> ChatAsync(ChatHistory history, InferenceParams inferenceParams, CancellationToken cancellationToken)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_8","title":"Parameters","text":"

history ChatHistory

inferenceParams InferenceParams

cancellationToken CancellationToken

"},{"location":"xmldocs/llama.chatsession/#returns_5","title":"Returns","text":"

IAsyncEnumerable<String>

"},{"location":"xmldocs/llama.chatsession/#chatasyncstring-inferenceparams-cancellationtoken","title":"ChatAsync(String, InferenceParams, CancellationToken)","text":"

Get the response from the LLama model with chat histories asynchronously.

public IAsyncEnumerable<string> ChatAsync(string prompt, InferenceParams inferenceParams, CancellationToken cancellationToken)\n
"},{"location":"xmldocs/llama.chatsession/#parameters_9","title":"Parameters","text":"

prompt String

inferenceParams InferenceParams

cancellationToken CancellationToken

"},{"location":"xmldocs/llama.chatsession/#returns_6","title":"Returns","text":"

IAsyncEnumerable<String>

"},{"location":"xmldocs/llama.common.authorrole/","title":"AuthorRole","text":"

Namespace: LLama.Common

public enum AuthorRole\n

Inheritance Object \u2192 ValueType \u2192 Enum \u2192 AuthorRole Implements IComparable, IFormattable, IConvertible

"},{"location":"xmldocs/llama.common.authorrole/#fields","title":"Fields","text":"Name Value Description"},{"location":"xmldocs/llama.common.chathistory/","title":"ChatHistory","text":"

Namespace: LLama.Common

The chat history class

public class ChatHistory\n

Inheritance Object \u2192 ChatHistory

"},{"location":"xmldocs/llama.common.chathistory/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.common.chathistory/#messages","title":"Messages","text":"

List of messages in the chat

public List<Message> Messages { get; }\n
"},{"location":"xmldocs/llama.common.chathistory/#property-value","title":"Property Value","text":"

List<Message>

"},{"location":"xmldocs/llama.common.chathistory/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.common.chathistory/#chathistory_1","title":"ChatHistory()","text":"

Create a new instance of the chat content class

public ChatHistory()\n
"},{"location":"xmldocs/llama.common.chathistory/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.common.chathistory/#addmessageauthorrole-string","title":"AddMessage(AuthorRole, String)","text":"

Add a message to the chat history

public void AddMessage(AuthorRole authorRole, string content)\n
"},{"location":"xmldocs/llama.common.chathistory/#parameters","title":"Parameters","text":"

authorRole AuthorRole Role of the message author

content String Message content

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/","title":"FixedSizeQueue<T>","text":"

Namespace: LLama.Common

A queue with fixed storage size. Currently it's only a naive implementation and needs to be further optimized in the future.

public class FixedSizeQueue<T> : , System.Collections.IEnumerable\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#type-parameters","title":"Type Parameters","text":"

T

Inheritance Object \u2192 FixedSizeQueue<T> Implements IEnumerable<T>, IEnumerable

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.common.fixedsizequeue-1/#count","title":"Count","text":"
public int Count { get; }\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#capacity","title":"Capacity","text":"
public int Capacity { get; }\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.common.fixedsizequeue-1/#fixedsizequeueint32","title":"FixedSizeQueue(Int32)","text":"
public FixedSizeQueue(int size)\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#parameters","title":"Parameters","text":"

size Int32

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#fixedsizequeueint32-ienumerablet","title":"FixedSizeQueue(Int32, IEnumerable<T>)","text":"
public FixedSizeQueue(int size, IEnumerable<T> data)\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#parameters_1","title":"Parameters","text":"

size Int32

data IEnumerable<T>

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.common.fixedsizequeue-1/#fillwitht","title":"FillWith(T)","text":"
public FixedSizeQueue<T> FillWith(T value)\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#parameters_2","title":"Parameters","text":"

value T

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#returns","title":"Returns","text":"

FixedSizeQueue<T>

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#enqueuet","title":"Enqueue(T)","text":"

Enquene an element.

public void Enqueue(T item)\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#parameters_3","title":"Parameters","text":"

item T

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#toarray","title":"ToArray()","text":"
public T[] ToArray()\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#returns_1","title":"Returns","text":"

T[]

"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#getenumerator","title":"GetEnumerator()","text":"
public IEnumerator<T> GetEnumerator()\n
"},{"location":"xmldocs/llama.common.fixedsizequeue-1/#returns_2","title":"Returns","text":"

IEnumerator<T>

"},{"location":"xmldocs/llama.common.illamalogger/","title":"ILLamaLogger","text":"

Namespace: LLama.Common

public interface ILLamaLogger\n
"},{"location":"xmldocs/llama.common.illamalogger/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.common.illamalogger/#logstring-string-loglevel","title":"Log(String, String, LogLevel)","text":"

Write the log in cosutomized way

void Log(string source, string message, LogLevel level)\n
"},{"location":"xmldocs/llama.common.illamalogger/#parameters","title":"Parameters","text":"

source String The source of the log. It may be a method name or class name.

message String The message.

level LogLevel The log level.

"},{"location":"xmldocs/llama.common.inferenceparams/","title":"InferenceParams","text":"

Namespace: LLama.Common

public class InferenceParams\n

Inheritance Object \u2192 InferenceParams

"},{"location":"xmldocs/llama.common.inferenceparams/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.common.inferenceparams/#tokenskeep","title":"TokensKeep","text":"

number of tokens to keep from initial prompt

public int TokensKeep { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.inferenceparams/#maxtokens","title":"MaxTokens","text":"

how many new tokens to predict (n_predict), set to -1 to inifinitely generate response until it complete.

public int MaxTokens { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.inferenceparams/#logitbias","title":"LogitBias","text":"

logit bias for specific tokens

public Dictionary<int, float> LogitBias { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_2","title":"Property Value","text":"

Dictionary<Int32, Single>

"},{"location":"xmldocs/llama.common.inferenceparams/#antiprompts","title":"AntiPrompts","text":"

Sequences where the model will stop generating further tokens.

public IEnumerable<string> AntiPrompts { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_3","title":"Property Value","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.common.inferenceparams/#pathsession","title":"PathSession","text":"

path to file for saving/loading model eval state

public string PathSession { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_4","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.common.inferenceparams/#inputsuffix","title":"InputSuffix","text":"

string to suffix user inputs with

public string InputSuffix { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_5","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.common.inferenceparams/#inputprefix","title":"InputPrefix","text":"

string to prefix user inputs with

public string InputPrefix { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_6","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.common.inferenceparams/#topk","title":"TopK","text":"

0 or lower to use vocab size

public int TopK { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_7","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.inferenceparams/#topp","title":"TopP","text":"

1.0 = disabled

public float TopP { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_8","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#tfsz","title":"TfsZ","text":"

1.0 = disabled

public float TfsZ { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_9","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#typicalp","title":"TypicalP","text":"

1.0 = disabled

public float TypicalP { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_10","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#temperature","title":"Temperature","text":"

1.0 = disabled

public float Temperature { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_11","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#repeatpenalty","title":"RepeatPenalty","text":"

1.0 = disabled

public float RepeatPenalty { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_12","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#repeatlasttokenscount","title":"RepeatLastTokensCount","text":"

last n tokens to penalize (0 = disable penalty, -1 = context size) (repeat_last_n)

public int RepeatLastTokensCount { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_13","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.inferenceparams/#frequencypenalty","title":"FrequencyPenalty","text":"

frequency penalty coefficient 0.0 = disabled

public float FrequencyPenalty { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_14","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#presencepenalty","title":"PresencePenalty","text":"

presence penalty coefficient 0.0 = disabled

public float PresencePenalty { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_15","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#mirostat","title":"Mirostat","text":"

Mirostat uses tokens instead of words. algorithm described in the paper https://arxiv.org/abs/2007.14966. 0 = disabled, 1 = mirostat, 2 = mirostat 2.0

public MiroStateType Mirostat { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_16","title":"Property Value","text":"

MiroStateType

"},{"location":"xmldocs/llama.common.inferenceparams/#mirostattau","title":"MirostatTau","text":"

target entropy

public float MirostatTau { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_17","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#mirostateta","title":"MirostatEta","text":"

learning rate

public float MirostatEta { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_18","title":"Property Value","text":"

Single

"},{"location":"xmldocs/llama.common.inferenceparams/#penalizenl","title":"PenalizeNL","text":"

consider newlines as a repeatable token (penalize_nl)

public bool PenalizeNL { get; set; }\n
"},{"location":"xmldocs/llama.common.inferenceparams/#property-value_19","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.common.inferenceparams/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.common.inferenceparams/#inferenceparams_1","title":"InferenceParams()","text":"
public InferenceParams()\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/","title":"LLamaDefaultLogger","text":"

Namespace: LLama.Common

The default logger of LLamaSharp. On default it write to console. User methods of LLamaLogger.Default to change the behavior. It's more recommended to inherit ILLamaLogger to cosutomize the behavior.

public sealed class LLamaDefaultLogger : ILLamaLogger\n

Inheritance Object \u2192 LLamaDefaultLogger Implements ILLamaLogger

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.common.llamadefaultlogger/#default","title":"Default","text":"
public static LLamaDefaultLogger Default { get; }\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#property-value","title":"Property Value","text":"

LLamaDefaultLogger

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.common.llamadefaultlogger/#enableconsole","title":"EnableConsole()","text":"
public LLamaDefaultLogger EnableConsole()\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#returns","title":"Returns","text":"

LLamaDefaultLogger

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#disableconsole","title":"DisableConsole()","text":"
public LLamaDefaultLogger DisableConsole()\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#returns_1","title":"Returns","text":"

LLamaDefaultLogger

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#enablefilestring-filemode","title":"EnableFile(String, FileMode)","text":"
public LLamaDefaultLogger EnableFile(string filename, FileMode mode)\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#parameters","title":"Parameters","text":"

filename String

mode FileMode

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#returns_2","title":"Returns","text":"

LLamaDefaultLogger

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#disablefilestring","title":"DisableFile(String)","text":"
public LLamaDefaultLogger DisableFile(string filename)\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#parameters_1","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#returns_3","title":"Returns","text":"

LLamaDefaultLogger

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#logstring-string-loglevel","title":"Log(String, String, LogLevel)","text":"
public void Log(string source, string message, LogLevel level)\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#parameters_2","title":"Parameters","text":"

source String

message String

level LogLevel

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#infostring","title":"Info(String)","text":"
public void Info(string message)\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#parameters_3","title":"Parameters","text":"

message String

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#warnstring","title":"Warn(String)","text":"
public void Warn(string message)\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#parameters_4","title":"Parameters","text":"

message String

"},{"location":"xmldocs/llama.common.llamadefaultlogger/#errorstring","title":"Error(String)","text":"
public void Error(string message)\n
"},{"location":"xmldocs/llama.common.llamadefaultlogger/#parameters_5","title":"Parameters","text":"

message String

"},{"location":"xmldocs/llama.common.mirostatetype/","title":"MiroStateType","text":"

Namespace: LLama.Common

public enum MiroStateType\n

Inheritance Object \u2192 ValueType \u2192 Enum \u2192 MiroStateType Implements IComparable, IFormattable, IConvertible

"},{"location":"xmldocs/llama.common.mirostatetype/#fields","title":"Fields","text":"Name Value Description"},{"location":"xmldocs/llama.common.modelparams/","title":"ModelParams","text":"

Namespace: LLama.Common

public class ModelParams\n

Inheritance Object \u2192 ModelParams

"},{"location":"xmldocs/llama.common.modelparams/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.common.modelparams/#contextsize","title":"ContextSize","text":"

Model context size (n_ctx)

public int ContextSize { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.modelparams/#gpulayercount","title":"GpuLayerCount","text":"

Number of layers to run in VRAM / GPU memory (n_gpu_layers)

public int GpuLayerCount { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.modelparams/#seed","title":"Seed","text":"

Seed for the random number generator (seed)

public int Seed { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_2","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.modelparams/#usefp16memory","title":"UseFp16Memory","text":"

Use f16 instead of f32 for memory kv (memory_f16)

public bool UseFp16Memory { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_3","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.common.modelparams/#usememorymap","title":"UseMemorymap","text":"

Use mmap for faster loads (use_mmap)

public bool UseMemorymap { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_4","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.common.modelparams/#usememorylock","title":"UseMemoryLock","text":"

Use mlock to keep model in memory (use_mlock)

public bool UseMemoryLock { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_5","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.common.modelparams/#perplexity","title":"Perplexity","text":"

Compute perplexity over the prompt (perplexity)

public bool Perplexity { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_6","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.common.modelparams/#modelpath","title":"ModelPath","text":"

Model path (model)

public string ModelPath { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_7","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.common.modelparams/#loraadapter","title":"LoraAdapter","text":"

lora adapter path (lora_adapter)

public string LoraAdapter { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_8","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.common.modelparams/#lorabase","title":"LoraBase","text":"

base model path for the lora adapter (lora_base)

public string LoraBase { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_9","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.common.modelparams/#threads","title":"Threads","text":"

Number of threads (-1 = autodetect) (n_threads)

public int Threads { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_10","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.modelparams/#batchsize","title":"BatchSize","text":"

batch size for prompt processing (must be >=32 to use BLAS) (n_batch)

public int BatchSize { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_11","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.common.modelparams/#converteostonewline","title":"ConvertEosToNewLine","text":"

Whether to convert eos to newline during the inference.

public bool ConvertEosToNewLine { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_12","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.common.modelparams/#embeddingmode","title":"EmbeddingMode","text":"

Whether to use embedding mode. (embedding) Note that if this is set to true, The LLamaModel won't produce text response anymore.

public bool EmbeddingMode { get; set; }\n
"},{"location":"xmldocs/llama.common.modelparams/#property-value_13","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.common.modelparams/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.common.modelparams/#modelparamsstring-int32-int32-int32-boolean-boolean-boolean-boolean-string-string-int32-int32-boolean-boolean","title":"ModelParams(String, Int32, Int32, Int32, Boolean, Boolean, Boolean, Boolean, String, String, Int32, Int32, Boolean, Boolean)","text":"
public ModelParams(string modelPath, int contextSize, int gpuLayerCount, int seed, bool useFp16Memory, bool useMemorymap, bool useMemoryLock, bool perplexity, string loraAdapter, string loraBase, int threads, int batchSize, bool convertEosToNewLine, bool embeddingMode)\n
"},{"location":"xmldocs/llama.common.modelparams/#parameters","title":"Parameters","text":"

modelPath String The model path.

contextSize Int32 Model context size (n_ctx)

gpuLayerCount Int32 Number of layers to run in VRAM / GPU memory (n_gpu_layers)

seed Int32 Seed for the random number generator (seed)

useFp16Memory Boolean Whether to use f16 instead of f32 for memory kv (memory_f16)

useMemorymap Boolean Whether to use mmap for faster loads (use_mmap)

useMemoryLock Boolean Whether to use mlock to keep model in memory (use_mlock)

perplexity Boolean Thether to compute perplexity over the prompt (perplexity)

loraAdapter String Lora adapter path (lora_adapter)

loraBase String Base model path for the lora adapter (lora_base)

threads Int32 Number of threads (-1 = autodetect) (n_threads)

batchSize Int32 Batch size for prompt processing (must be >=32 to use BLAS) (n_batch)

convertEosToNewLine Boolean Whether to convert eos to newline during the inference.

embeddingMode Boolean Whether to use embedding mode. (embedding) Note that if this is set to true, The LLamaModel won't produce text response anymore.

"},{"location":"xmldocs/llama.exceptions.runtimeerror/","title":"RuntimeError","text":"

Namespace: LLama.Exceptions

public class RuntimeError : System.Exception, System.Runtime.Serialization.ISerializable\n

Inheritance Object \u2192 Exception \u2192 RuntimeError Implements ISerializable

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.exceptions.runtimeerror/#targetsite","title":"TargetSite","text":"
public MethodBase TargetSite { get; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value","title":"Property Value","text":"

MethodBase

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#message","title":"Message","text":"
public string Message { get; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#data","title":"Data","text":"
public IDictionary Data { get; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value_2","title":"Property Value","text":"

IDictionary

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#innerexception","title":"InnerException","text":"
public Exception InnerException { get; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value_3","title":"Property Value","text":"

Exception

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#helplink","title":"HelpLink","text":"
public string HelpLink { get; set; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value_4","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#source","title":"Source","text":"
public string Source { get; set; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value_5","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#hresult","title":"HResult","text":"
public int HResult { get; set; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value_6","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#stacktrace","title":"StackTrace","text":"
public string StackTrace { get; }\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#property-value_7","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.exceptions.runtimeerror/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.exceptions.runtimeerror/#runtimeerror_1","title":"RuntimeError()","text":"
public RuntimeError()\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#runtimeerrorstring","title":"RuntimeError(String)","text":"
public RuntimeError(string message)\n
"},{"location":"xmldocs/llama.exceptions.runtimeerror/#parameters","title":"Parameters","text":"

message String

"},{"location":"xmldocs/llama.extensions.dictionaryextension/","title":"DictionaryExtension","text":"

Namespace: LLama.Extensions

public static class DictionaryExtension\n

Inheritance Object \u2192 DictionaryExtension

"},{"location":"xmldocs/llama.extensions.dictionaryextension/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.extensions.dictionaryextension/#deconstructt1-t2keyvaluepairt1-t2-t1-t2","title":"Deconstruct<T1, T2>(KeyValuePair<T1, T2>, T1&, T2&)","text":"
public static void Deconstruct<T1, T2>(KeyValuePair<T1, T2> pair, T1& first, T2& second)\n
"},{"location":"xmldocs/llama.extensions.dictionaryextension/#type-parameters","title":"Type Parameters","text":"

T1

T2

"},{"location":"xmldocs/llama.extensions.dictionaryextension/#parameters","title":"Parameters","text":"

pair KeyValuePair<T1, T2>

first T1&

second T2&

"},{"location":"xmldocs/llama.extensions.dictionaryextension/#updatet1-t2dictionaryt1-t2-idictionaryt1-t2","title":"Update<T1, T2>(Dictionary<T1, T2>, IDictionary<T1, T2>)","text":"
public static void Update<T1, T2>(Dictionary<T1, T2> dic, IDictionary<T1, T2> other)\n
"},{"location":"xmldocs/llama.extensions.dictionaryextension/#type-parameters_1","title":"Type Parameters","text":"

T1

T2

"},{"location":"xmldocs/llama.extensions.dictionaryextension/#parameters_1","title":"Parameters","text":"

dic Dictionary<T1, T2>

other IDictionary<T1, T2>

"},{"location":"xmldocs/llama.extensions.dictionaryextension/#getordefaultt1-t2dictionaryt1-t2-t1-t2","title":"GetOrDefault<T1, T2>(Dictionary<T1, T2>, T1, T2)","text":"
public static T2 GetOrDefault<T1, T2>(Dictionary<T1, T2> dic, T1 key, T2 defaultValue)\n
"},{"location":"xmldocs/llama.extensions.dictionaryextension/#type-parameters_2","title":"Type Parameters","text":"

T1

T2

"},{"location":"xmldocs/llama.extensions.dictionaryextension/#parameters_2","title":"Parameters","text":"

dic Dictionary<T1, T2>

key T1

defaultValue T2

"},{"location":"xmldocs/llama.extensions.dictionaryextension/#returns","title":"Returns","text":"

T2

"},{"location":"xmldocs/llama.instructexecutor/","title":"InstructExecutor","text":"

Namespace: LLama

The LLama executor for instruct mode.

public class InstructExecutor : StatefulExecutorBase, LLama.Abstractions.ILLamaExecutor\n

Inheritance Object \u2192 StatefulExecutorBase \u2192 InstructExecutor Implements ILLamaExecutor

"},{"location":"xmldocs/llama.instructexecutor/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.instructexecutor/#model","title":"Model","text":"

The mode used by the executor.

public LLamaModel Model { get; }\n
"},{"location":"xmldocs/llama.instructexecutor/#property-value","title":"Property Value","text":"

LLamaModel

"},{"location":"xmldocs/llama.instructexecutor/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.instructexecutor/#instructexecutorllamamodel-string-string","title":"InstructExecutor(LLamaModel, String, String)","text":"
public InstructExecutor(LLamaModel model, string instructionPrefix, string instructionSuffix)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters","title":"Parameters","text":"

model LLamaModel

instructionPrefix String

instructionSuffix String

"},{"location":"xmldocs/llama.instructexecutor/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.instructexecutor/#getstatedata","title":"GetStateData()","text":"
public ExecutorBaseState GetStateData()\n
"},{"location":"xmldocs/llama.instructexecutor/#returns","title":"Returns","text":"

ExecutorBaseState

"},{"location":"xmldocs/llama.instructexecutor/#loadstateexecutorbasestate","title":"LoadState(ExecutorBaseState)","text":"
public void LoadState(ExecutorBaseState data)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters_1","title":"Parameters","text":"

data ExecutorBaseState

"},{"location":"xmldocs/llama.instructexecutor/#savestatestring","title":"SaveState(String)","text":"
public void SaveState(string filename)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters_2","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.instructexecutor/#loadstatestring","title":"LoadState(String)","text":"
public void LoadState(string filename)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters_3","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.instructexecutor/#getloopconditioninferstateargs","title":"GetLoopCondition(InferStateArgs)","text":"
protected bool GetLoopCondition(InferStateArgs args)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters_4","title":"Parameters","text":"

args InferStateArgs

"},{"location":"xmldocs/llama.instructexecutor/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.instructexecutor/#preprocessinputsstring-inferstateargs","title":"PreprocessInputs(String, InferStateArgs)","text":"
protected void PreprocessInputs(string text, InferStateArgs args)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters_5","title":"Parameters","text":"

text String

args InferStateArgs

"},{"location":"xmldocs/llama.instructexecutor/#postprocessinferenceparams-inferstateargs-ienumerable1","title":"PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)","text":"
protected bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters_6","title":"Parameters","text":"

inferenceParams InferenceParams

args InferStateArgs

extraOutputs IEnumerable`1&

"},{"location":"xmldocs/llama.instructexecutor/#returns_2","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.instructexecutor/#inferinternalinferenceparams-inferstateargs","title":"InferInternal(InferenceParams, InferStateArgs)","text":"
protected void InferInternal(InferenceParams inferenceParams, InferStateArgs args)\n
"},{"location":"xmldocs/llama.instructexecutor/#parameters_7","title":"Parameters","text":"

inferenceParams InferenceParams

args InferStateArgs

"},{"location":"xmldocs/llama.interactiveexecutor/","title":"InteractiveExecutor","text":"

Namespace: LLama

The LLama executor for interactive mode.

public class InteractiveExecutor : StatefulExecutorBase, LLama.Abstractions.ILLamaExecutor\n

Inheritance Object \u2192 StatefulExecutorBase \u2192 InteractiveExecutor Implements ILLamaExecutor

"},{"location":"xmldocs/llama.interactiveexecutor/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.interactiveexecutor/#model","title":"Model","text":"

The mode used by the executor.

public LLamaModel Model { get; }\n
"},{"location":"xmldocs/llama.interactiveexecutor/#property-value","title":"Property Value","text":"

LLamaModel

"},{"location":"xmldocs/llama.interactiveexecutor/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.interactiveexecutor/#interactiveexecutorllamamodel","title":"InteractiveExecutor(LLamaModel)","text":"
public InteractiveExecutor(LLamaModel model)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters","title":"Parameters","text":"

model LLamaModel

"},{"location":"xmldocs/llama.interactiveexecutor/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.interactiveexecutor/#getstatedata","title":"GetStateData()","text":"
public ExecutorBaseState GetStateData()\n
"},{"location":"xmldocs/llama.interactiveexecutor/#returns","title":"Returns","text":"

ExecutorBaseState

"},{"location":"xmldocs/llama.interactiveexecutor/#loadstateexecutorbasestate","title":"LoadState(ExecutorBaseState)","text":"
public void LoadState(ExecutorBaseState data)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters_1","title":"Parameters","text":"

data ExecutorBaseState

"},{"location":"xmldocs/llama.interactiveexecutor/#savestatestring","title":"SaveState(String)","text":"
public void SaveState(string filename)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters_2","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.interactiveexecutor/#loadstatestring","title":"LoadState(String)","text":"
public void LoadState(string filename)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters_3","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.interactiveexecutor/#getloopconditioninferstateargs","title":"GetLoopCondition(InferStateArgs)","text":"

Define whether to continue the loop to generate responses.

protected bool GetLoopCondition(InferStateArgs args)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters_4","title":"Parameters","text":"

args InferStateArgs

"},{"location":"xmldocs/llama.interactiveexecutor/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.interactiveexecutor/#preprocessinputsstring-inferstateargs","title":"PreprocessInputs(String, InferStateArgs)","text":"
protected void PreprocessInputs(string text, InferStateArgs args)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters_5","title":"Parameters","text":"

text String

args InferStateArgs

"},{"location":"xmldocs/llama.interactiveexecutor/#postprocessinferenceparams-inferstateargs-ienumerable1","title":"PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)","text":"

Return whether to break the generation.

protected bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters_6","title":"Parameters","text":"

inferenceParams InferenceParams

args InferStateArgs

extraOutputs IEnumerable`1&

"},{"location":"xmldocs/llama.interactiveexecutor/#returns_2","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.interactiveexecutor/#inferinternalinferenceparams-inferstateargs","title":"InferInternal(InferenceParams, InferStateArgs)","text":"
protected void InferInternal(InferenceParams inferenceParams, InferStateArgs args)\n
"},{"location":"xmldocs/llama.interactiveexecutor/#parameters_7","title":"Parameters","text":"

inferenceParams InferenceParams

args InferStateArgs

"},{"location":"xmldocs/llama.llamaembedder/","title":"LLamaEmbedder","text":"

Namespace: LLama

The embedder for LLama, which supports getting embeddings from text.

public class LLamaEmbedder : System.IDisposable\n

Inheritance Object \u2192 LLamaEmbedder Implements IDisposable

"},{"location":"xmldocs/llama.llamaembedder/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.llamaembedder/#llamaembeddermodelparams","title":"LLamaEmbedder(ModelParams)","text":"
public LLamaEmbedder(ModelParams params)\n
"},{"location":"xmldocs/llama.llamaembedder/#parameters","title":"Parameters","text":"

params ModelParams

"},{"location":"xmldocs/llama.llamaembedder/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.llamaembedder/#getembeddingsstring-int32-boolean-string","title":"GetEmbeddings(String, Int32, Boolean, String)","text":"

Get the embeddings of the text.

public Single[] GetEmbeddings(string text, int threads, bool addBos, string encoding)\n
"},{"location":"xmldocs/llama.llamaembedder/#parameters_1","title":"Parameters","text":"

text String

threads Int32 Threads used for inference.

addBos Boolean Add bos to the text.

encoding String

"},{"location":"xmldocs/llama.llamaembedder/#returns","title":"Returns","text":"

Single[]

"},{"location":"xmldocs/llama.llamaembedder/#exceptions","title":"Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/llama.llamaembedder/#dispose","title":"Dispose()","text":"
public void Dispose()\n
"},{"location":"xmldocs/llama.llamamodel/","title":"LLamaModel","text":"

Namespace: LLama

The abstraction of a LLama model, which holds the context in the native library.

public class LLamaModel : System.IDisposable\n

Inheritance Object \u2192 LLamaModel Implements IDisposable

"},{"location":"xmldocs/llama.llamamodel/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.llamamodel/#contextsize","title":"ContextSize","text":"

The context size.

public int ContextSize { get; }\n
"},{"location":"xmldocs/llama.llamamodel/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.llamamodel/#params","title":"Params","text":"

The model params set for this model.

public ModelParams Params { get; set; }\n
"},{"location":"xmldocs/llama.llamamodel/#property-value_1","title":"Property Value","text":"

ModelParams

"},{"location":"xmldocs/llama.llamamodel/#nativehandle","title":"NativeHandle","text":"

The native handle, which is used to be passed to the native APIs. Please avoid using it unless you know what is the usage of the Native API.

public SafeLLamaContextHandle NativeHandle { get; }\n
"},{"location":"xmldocs/llama.llamamodel/#property-value_2","title":"Property Value","text":"

SafeLLamaContextHandle

"},{"location":"xmldocs/llama.llamamodel/#encoding","title":"Encoding","text":"

The encoding set for this model to deal with text input.

public Encoding Encoding { get; }\n
"},{"location":"xmldocs/llama.llamamodel/#property-value_3","title":"Property Value","text":"

Encoding

"},{"location":"xmldocs/llama.llamamodel/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.llamamodel/#llamamodelmodelparams-string-illamalogger","title":"LLamaModel(ModelParams, String, ILLamaLogger)","text":"
public LLamaModel(ModelParams Params, string encoding, ILLamaLogger logger)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters","title":"Parameters","text":"

Params ModelParams Model params.

encoding String Encoding to deal with text input.

logger ILLamaLogger The logger.

"},{"location":"xmldocs/llama.llamamodel/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.llamamodel/#tokenizestring-boolean","title":"Tokenize(String, Boolean)","text":"

Tokenize a string.

public IEnumerable<int> Tokenize(string text, bool addBos)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_1","title":"Parameters","text":"

text String

addBos Boolean Whether to add a bos to the text.

"},{"location":"xmldocs/llama.llamamodel/#returns","title":"Returns","text":"

IEnumerable<Int32>

"},{"location":"xmldocs/llama.llamamodel/#detokenizeienumerableint32","title":"DeTokenize(IEnumerable<Int32>)","text":"

Detokenize the tokens to text.

public string DeTokenize(IEnumerable<int> tokens)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_2","title":"Parameters","text":"

tokens IEnumerable<Int32>

"},{"location":"xmldocs/llama.llamamodel/#returns_1","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.llamamodel/#savestatestring","title":"SaveState(String)","text":"

Save the state to specified path.

public void SaveState(string filename)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_3","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.llamamodel/#getstatedata","title":"GetStateData()","text":"

Get the state data as a byte array.

public Byte[] GetStateData()\n
"},{"location":"xmldocs/llama.llamamodel/#returns_2","title":"Returns","text":"

Byte[]

"},{"location":"xmldocs/llama.llamamodel/#loadstatestring","title":"LoadState(String)","text":"

Load the state from specified path.

public void LoadState(string filename)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_4","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.llamamodel/#exceptions","title":"Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/llama.llamamodel/#loadstatebyte","title":"LoadState(Byte[])","text":"

Load the state from memory.

public void LoadState(Byte[] stateData)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_5","title":"Parameters","text":"

stateData Byte[]

"},{"location":"xmldocs/llama.llamamodel/#exceptions_1","title":"Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/llama.llamamodel/#samplellamatokendataarray-single-mirostatetype-single-single-int32-single-single-single","title":"Sample(LLamaTokenDataArray, Single, MiroStateType, Single, Single, Int32, Single, Single, Single)","text":"

Perform the sampling. Please don't use it unless you fully know what it does.

public int Sample(LLamaTokenDataArray candidates, float temperature, MiroStateType mirostat, float mirostatTau, float mirostatEta, int topK, float topP, float tfsZ, float typicalP)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_6","title":"Parameters","text":"

candidates LLamaTokenDataArray

temperature Single

mirostat MiroStateType

mirostatTau Single

mirostatEta Single

topK Int32

topP Single

tfsZ Single

typicalP Single

"},{"location":"xmldocs/llama.llamamodel/#returns_3","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.llamamodel/#applypenaltyienumerableint32-dictionaryint32-single-int32-single-single-single-boolean","title":"ApplyPenalty(IEnumerable<Int32>, Dictionary<Int32, Single>, Int32, Single, Single, Single, Boolean)","text":"

Apply the penalty for the tokens. Please don't use it unless you fully know what it does.

public LLamaTokenDataArray ApplyPenalty(IEnumerable<int> lastTokens, Dictionary<int, float> logitBias, int repeatLastTokensCount, float repeatPenalty, float alphaFrequency, float alphaPresence, bool penalizeNL)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_7","title":"Parameters","text":"

lastTokens IEnumerable<Int32>

logitBias Dictionary<Int32, Single>

repeatLastTokensCount Int32

repeatPenalty Single

alphaFrequency Single

alphaPresence Single

penalizeNL Boolean

"},{"location":"xmldocs/llama.llamamodel/#returns_4","title":"Returns","text":"

LLamaTokenDataArray

"},{"location":"xmldocs/llama.llamamodel/#evalint32-int32","title":"Eval(Int32[], Int32)","text":"
public int Eval(Int32[] tokens, int pastTokensCount)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_8","title":"Parameters","text":"

tokens Int32[]

pastTokensCount Int32

"},{"location":"xmldocs/llama.llamamodel/#returns_5","title":"Returns","text":"

Int32 The updated pastTokensCount.

"},{"location":"xmldocs/llama.llamamodel/#exceptions_2","title":"Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/llama.llamamodel/#generateresultienumerableint32","title":"GenerateResult(IEnumerable<Int32>)","text":"
internal IEnumerable<string> GenerateResult(IEnumerable<int> ids)\n
"},{"location":"xmldocs/llama.llamamodel/#parameters_9","title":"Parameters","text":"

ids IEnumerable<Int32>

"},{"location":"xmldocs/llama.llamamodel/#returns_6","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.llamamodel/#dispose","title":"Dispose()","text":"
public void Dispose()\n
"},{"location":"xmldocs/llama.llamaquantizer/","title":"LLamaQuantizer","text":"

Namespace: LLama

The quantizer to quantize the model.

public static class LLamaQuantizer\n

Inheritance Object \u2192 LLamaQuantizer

"},{"location":"xmldocs/llama.llamaquantizer/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.llamaquantizer/#quantizestring-string-llamaftype-int32","title":"Quantize(String, String, LLamaFtype, Int32)","text":"

Quantize the model.

public static bool Quantize(string srcFileName, string dstFilename, LLamaFtype ftype, int nthread)\n
"},{"location":"xmldocs/llama.llamaquantizer/#parameters","title":"Parameters","text":"

srcFileName String The model file to be quantized.

dstFilename String The path to save the quantized model.

ftype LLamaFtype The type of quantization.

nthread Int32 Thread to be used during the quantization. By default it's the physical core number.

"},{"location":"xmldocs/llama.llamaquantizer/#returns","title":"Returns","text":"

Boolean Whether the quantization is successful.

"},{"location":"xmldocs/llama.llamaquantizer/#exceptions","title":"Exceptions","text":"

ArgumentException

"},{"location":"xmldocs/llama.llamaquantizer/#quantizestring-string-string-int32","title":"Quantize(String, String, String, Int32)","text":"

Quantize the model.

public static bool Quantize(string srcFileName, string dstFilename, string ftype, int nthread)\n
"},{"location":"xmldocs/llama.llamaquantizer/#parameters_1","title":"Parameters","text":"

srcFileName String The model file to be quantized.

dstFilename String The path to save the quantized model.

ftype String The type of quantization.

nthread Int32 Thread to be used during the quantization. By default it's the physical core number.

"},{"location":"xmldocs/llama.llamaquantizer/#returns_1","title":"Returns","text":"

Boolean Whether the quantization is successful.

"},{"location":"xmldocs/llama.llamaquantizer/#exceptions_1","title":"Exceptions","text":"

ArgumentException

"},{"location":"xmldocs/llama.llamatransforms/","title":"LLamaTransforms","text":"

Namespace: LLama

A class that contains all the transforms provided internally by LLama.

public class LLamaTransforms\n

Inheritance Object \u2192 LLamaTransforms

"},{"location":"xmldocs/llama.llamatransforms/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.llamatransforms/#llamatransforms_1","title":"LLamaTransforms()","text":"
public LLamaTransforms()\n
"},{"location":"xmldocs/llama.native.llamacontextparams/","title":"LLamaContextParams","text":"

Namespace: LLama.Native

public struct LLamaContextParams\n

Inheritance Object \u2192 ValueType \u2192 LLamaContextParams

"},{"location":"xmldocs/llama.native.llamacontextparams/#fields","title":"Fields","text":""},{"location":"xmldocs/llama.native.llamacontextparams/#n_ctx","title":"n_ctx","text":"

text context

public int n_ctx;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#n_gpu_layers","title":"n_gpu_layers","text":"

number of layers to store in VRAM

public int n_gpu_layers;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#seed","title":"seed","text":"

RNG seed, -1 for random

public int seed;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#f16_kv","title":"f16_kv","text":"

use fp16 for KV cache

public bool f16_kv;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#logits_all","title":"logits_all","text":"

the llama_eval() call computes all logits, not just the last one

public bool logits_all;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#vocab_only","title":"vocab_only","text":"

only load the vocabulary, no weights

public bool vocab_only;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#use_mmap","title":"use_mmap","text":"

use mmap if possible

public bool use_mmap;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#use_mlock","title":"use_mlock","text":"

force system to keep model in RAM

public bool use_mlock;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#embedding","title":"embedding","text":"

embedding mode only

public bool embedding;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#progress_callback","title":"progress_callback","text":"

called with a progress value between 0 and 1, pass NULL to disable

public IntPtr progress_callback;\n
"},{"location":"xmldocs/llama.native.llamacontextparams/#progress_callback_user_data","title":"progress_callback_user_data","text":"

context pointer passed to the progress callback

public IntPtr progress_callback_user_data;\n
"},{"location":"xmldocs/llama.native.llamaftype/","title":"LLamaFtype","text":"

Namespace: LLama.Native

public enum LLamaFtype\n

Inheritance Object \u2192 ValueType \u2192 Enum \u2192 LLamaFtype Implements IComparable, IFormattable, IConvertible

"},{"location":"xmldocs/llama.native.llamaftype/#fields","title":"Fields","text":"Name Value Description"},{"location":"xmldocs/llama.native.llamatokendata/","title":"LLamaTokenData","text":"

Namespace: LLama.Native

public struct LLamaTokenData\n

Inheritance Object \u2192 ValueType \u2192 LLamaTokenData

"},{"location":"xmldocs/llama.native.llamatokendata/#fields","title":"Fields","text":""},{"location":"xmldocs/llama.native.llamatokendata/#id","title":"id","text":"

token id

public int id;\n
"},{"location":"xmldocs/llama.native.llamatokendata/#logit","title":"logit","text":"

log-odds of the token

public float logit;\n
"},{"location":"xmldocs/llama.native.llamatokendata/#p","title":"p","text":"

probability of the token

public float p;\n
"},{"location":"xmldocs/llama.native.llamatokendata/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.native.llamatokendata/#llamatokendataint32-single-single","title":"LLamaTokenData(Int32, Single, Single)","text":"
LLamaTokenData(int id, float logit, float p)\n
"},{"location":"xmldocs/llama.native.llamatokendata/#parameters","title":"Parameters","text":"

id Int32

logit Single

p Single

"},{"location":"xmldocs/llama.native.llamatokendataarray/","title":"LLamaTokenDataArray","text":"

Namespace: LLama.Native

public struct LLamaTokenDataArray\n

Inheritance Object \u2192 ValueType \u2192 LLamaTokenDataArray

"},{"location":"xmldocs/llama.native.llamatokendataarray/#fields","title":"Fields","text":""},{"location":"xmldocs/llama.native.llamatokendataarray/#data","title":"data","text":"
public Memory<LLamaTokenData> data;\n
"},{"location":"xmldocs/llama.native.llamatokendataarray/#size","title":"size","text":"
public ulong size;\n
"},{"location":"xmldocs/llama.native.llamatokendataarray/#sorted","title":"sorted","text":"
public bool sorted;\n
"},{"location":"xmldocs/llama.native.llamatokendataarray/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.native.llamatokendataarray/#llamatokendataarrayllamatokendata-uint64-boolean","title":"LLamaTokenDataArray(LLamaTokenData[], UInt64, Boolean)","text":"
LLamaTokenDataArray(LLamaTokenData[] data, ulong size, bool sorted)\n
"},{"location":"xmldocs/llama.native.llamatokendataarray/#parameters","title":"Parameters","text":"

data LLamaTokenData[]

size UInt64

sorted Boolean

"},{"location":"xmldocs/llama.native.llamatokendataarraynative/","title":"LLamaTokenDataArrayNative","text":"

Namespace: LLama.Native

public struct LLamaTokenDataArrayNative\n

Inheritance Object \u2192 ValueType \u2192 LLamaTokenDataArrayNative

"},{"location":"xmldocs/llama.native.llamatokendataarraynative/#fields","title":"Fields","text":""},{"location":"xmldocs/llama.native.llamatokendataarraynative/#data","title":"data","text":"
public IntPtr data;\n
"},{"location":"xmldocs/llama.native.llamatokendataarraynative/#size","title":"size","text":"
public ulong size;\n
"},{"location":"xmldocs/llama.native.llamatokendataarraynative/#sorted","title":"sorted","text":"
public bool sorted;\n
"},{"location":"xmldocs/llama.native.nativeapi/","title":"NativeApi","text":"

Namespace: LLama.Native

public class NativeApi\n

Inheritance Object \u2192 NativeApi

"},{"location":"xmldocs/llama.native.nativeapi/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.native.nativeapi/#nativeapi_1","title":"NativeApi()","text":"
public NativeApi()\n
"},{"location":"xmldocs/llama.native.nativeapi/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.native.nativeapi/#llama_print_timingssafellamacontexthandle","title":"llama_print_timings(SafeLLamaContextHandle)","text":"
public static void llama_print_timings(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#llama_reset_timingssafellamacontexthandle","title":"llama_reset_timings(SafeLLamaContextHandle)","text":"
public static void llama_reset_timings(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_1","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#llama_print_system_info","title":"llama_print_system_info()","text":"

Print system information

public static IntPtr llama_print_system_info()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns","title":"Returns","text":"

IntPtr

"},{"location":"xmldocs/llama.native.nativeapi/#llama_model_quantizestring-string-llamaftype-int32","title":"llama_model_quantize(String, String, LLamaFtype, Int32)","text":"
public static int llama_model_quantize(string fname_inp, string fname_out, LLamaFtype ftype, int nthread)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_2","title":"Parameters","text":"

fname_inp String

fname_out String

ftype LLamaFtype

nthread Int32

"},{"location":"xmldocs/llama.native.nativeapi/#returns_1","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_repetition_penaltysafellamacontexthandle-intptr-int32-uint64-single","title":"llama_sample_repetition_penalty(SafeLLamaContextHandle, IntPtr, Int32[], UInt64, Single)","text":"

Repetition penalty described in CTRL academic paper https://arxiv.org/abs/1909.05858, with negative logit fix.

public static void llama_sample_repetition_penalty(SafeLLamaContextHandle ctx, IntPtr candidates, Int32[] last_tokens, ulong last_tokens_size, float penalty)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_3","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

last_tokens Int32[]

last_tokens_size UInt64

penalty Single

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_frequency_and_presence_penaltiessafellamacontexthandle-intptr-int32-uint64-single-single","title":"llama_sample_frequency_and_presence_penalties(SafeLLamaContextHandle, IntPtr, Int32[], UInt64, Single, Single)","text":"

Frequency and presence penalties described in OpenAI API https://platform.openai.com/docs/api-reference/parameter-details.

public static void llama_sample_frequency_and_presence_penalties(SafeLLamaContextHandle ctx, IntPtr candidates, Int32[] last_tokens, ulong last_tokens_size, float alpha_frequency, float alpha_presence)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_4","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

last_tokens Int32[]

last_tokens_size UInt64

alpha_frequency Single

alpha_presence Single

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_softmaxsafellamacontexthandle-intptr","title":"llama_sample_softmax(SafeLLamaContextHandle, IntPtr)","text":"

Sorts candidate tokens by their logits in descending order and calculate probabilities based on logits.

public static void llama_sample_softmax(SafeLLamaContextHandle ctx, IntPtr candidates)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_5","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_top_ksafellamacontexthandle-intptr-int32-uint64","title":"llama_sample_top_k(SafeLLamaContextHandle, IntPtr, Int32, UInt64)","text":"

Top-K sampling described in academic paper \"The Curious Case of Neural Text Degeneration\" https://arxiv.org/abs/1904.09751

public static void llama_sample_top_k(SafeLLamaContextHandle ctx, IntPtr candidates, int k, ulong min_keep)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_6","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

k Int32

min_keep UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_top_psafellamacontexthandle-intptr-single-uint64","title":"llama_sample_top_p(SafeLLamaContextHandle, IntPtr, Single, UInt64)","text":"

Nucleus sampling described in academic paper \"The Curious Case of Neural Text Degeneration\" https://arxiv.org/abs/1904.09751

public static void llama_sample_top_p(SafeLLamaContextHandle ctx, IntPtr candidates, float p, ulong min_keep)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_7","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

p Single

min_keep UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_tail_freesafellamacontexthandle-intptr-single-uint64","title":"llama_sample_tail_free(SafeLLamaContextHandle, IntPtr, Single, UInt64)","text":"

Tail Free Sampling described in https://www.trentonbricken.com/Tail-Free-Sampling/.

public static void llama_sample_tail_free(SafeLLamaContextHandle ctx, IntPtr candidates, float z, ulong min_keep)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_8","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

z Single

min_keep UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_typicalsafellamacontexthandle-intptr-single-uint64","title":"llama_sample_typical(SafeLLamaContextHandle, IntPtr, Single, UInt64)","text":"

Locally Typical Sampling implementation described in the paper https://arxiv.org/abs/2202.00666.

public static void llama_sample_typical(SafeLLamaContextHandle ctx, IntPtr candidates, float p, ulong min_keep)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_9","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

p Single

min_keep UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_temperaturesafellamacontexthandle-intptr-single","title":"llama_sample_temperature(SafeLLamaContextHandle, IntPtr, Single)","text":"
public static void llama_sample_temperature(SafeLLamaContextHandle ctx, IntPtr candidates, float temp)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_10","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr

temp Single

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_token_mirostatsafellamacontexthandle-intptr-single-single-int32-single","title":"llama_sample_token_mirostat(SafeLLamaContextHandle, IntPtr, Single, Single, Int32, Single*)","text":"

Mirostat 1.0 algorithm described in the paper https://arxiv.org/abs/2007.14966. Uses tokens instead of words.

public static int llama_sample_token_mirostat(SafeLLamaContextHandle ctx, IntPtr candidates, float tau, float eta, int m, Single* mu)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_11","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr A vector of llama_token_data containing the candidate tokens, their probabilities (p), and log-odds (logit) for the current position in the generated text.

tau Single The target cross-entropy (or surprise) value you want to achieve for the generated text. A higher value corresponds to more surprising or less predictable text, while a lower value corresponds to less surprising or more predictable text.

eta Single The learning rate used to update mu based on the error between the target and observed surprisal of the sampled word. A larger learning rate will cause mu to be updated more quickly, while a smaller learning rate will result in slower updates.

m Int32 The number of tokens considered in the estimation of s_hat. This is an arbitrary value that is used to calculate s_hat, which in turn helps to calculate the value of k. In the paper, they use m = 100, but you can experiment with different values to see how it affects the performance of the algorithm.

mu Single* Maximum cross-entropy. This value is initialized to be twice the target cross-entropy (2 * tau) and is updated in the algorithm based on the error between the target and observed surprisal.

"},{"location":"xmldocs/llama.native.nativeapi/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_token_mirostat_v2safellamacontexthandle-intptr-single-single-single","title":"llama_sample_token_mirostat_v2(SafeLLamaContextHandle, IntPtr, Single, Single, Single*)","text":"

Mirostat 2.0 algorithm described in the paper https://arxiv.org/abs/2007.14966. Uses tokens instead of words.

public static int llama_sample_token_mirostat_v2(SafeLLamaContextHandle ctx, IntPtr candidates, float tau, float eta, Single* mu)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_12","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr A vector of llama_token_data containing the candidate tokens, their probabilities (p), and log-odds (logit) for the current position in the generated text.

tau Single The target cross-entropy (or surprise) value you want to achieve for the generated text. A higher value corresponds to more surprising or less predictable text, while a lower value corresponds to less surprising or more predictable text.

eta Single The learning rate used to update mu based on the error between the target and observed surprisal of the sampled word. A larger learning rate will cause mu to be updated more quickly, while a smaller learning rate will result in slower updates.

mu Single* Maximum cross-entropy. This value is initialized to be twice the target cross-entropy (2 * tau) and is updated in the algorithm based on the error between the target and observed surprisal.

"},{"location":"xmldocs/llama.native.nativeapi/#returns_3","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_token_greedysafellamacontexthandle-intptr","title":"llama_sample_token_greedy(SafeLLamaContextHandle, IntPtr)","text":"

Selects the token with the highest probability.

public static int llama_sample_token_greedy(SafeLLamaContextHandle ctx, IntPtr candidates)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_13","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

"},{"location":"xmldocs/llama.native.nativeapi/#returns_4","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_sample_tokensafellamacontexthandle-intptr","title":"llama_sample_token(SafeLLamaContextHandle, IntPtr)","text":"

Randomly selects a token from the candidates based on their probabilities.

public static int llama_sample_token(SafeLLamaContextHandle ctx, IntPtr candidates)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_14","title":"Parameters","text":"

ctx SafeLLamaContextHandle

candidates IntPtr Pointer to LLamaTokenDataArray

"},{"location":"xmldocs/llama.native.nativeapi/#returns_5","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_empty_call","title":"llama_empty_call()","text":"
public static bool llama_empty_call()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns_6","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.native.nativeapi/#llama_context_default_params","title":"llama_context_default_params()","text":"
public static LLamaContextParams llama_context_default_params()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns_7","title":"Returns","text":"

LLamaContextParams

"},{"location":"xmldocs/llama.native.nativeapi/#llama_mmap_supported","title":"llama_mmap_supported()","text":"
public static bool llama_mmap_supported()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns_8","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.native.nativeapi/#llama_mlock_supported","title":"llama_mlock_supported()","text":"
public static bool llama_mlock_supported()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns_9","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.native.nativeapi/#llama_init_from_filestring-llamacontextparams","title":"llama_init_from_file(String, LLamaContextParams)","text":"

Various functions for loading a ggml llama model. Allocate (almost) all memory needed for the model. Return NULL on failure

public static IntPtr llama_init_from_file(string path_model, LLamaContextParams params_)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_15","title":"Parameters","text":"

path_model String

params_ LLamaContextParams

"},{"location":"xmldocs/llama.native.nativeapi/#returns_10","title":"Returns","text":"

IntPtr

"},{"location":"xmldocs/llama.native.nativeapi/#llama_init_backend","title":"llama_init_backend()","text":"

not great API - very likely to change. Initialize the llama + ggml backend Call once at the start of the program

public static void llama_init_backend()\n
"},{"location":"xmldocs/llama.native.nativeapi/#llama_freeintptr","title":"llama_free(IntPtr)","text":"

Frees all allocated memory

public static void llama_free(IntPtr ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_16","title":"Parameters","text":"

ctx IntPtr

"},{"location":"xmldocs/llama.native.nativeapi/#llama_apply_lora_from_filesafellamacontexthandle-string-string-int32","title":"llama_apply_lora_from_file(SafeLLamaContextHandle, String, String, Int32)","text":"

Apply a LoRA adapter to a loaded model path_base_model is the path to a higher quality model to use as a base for the layers modified by the adapter. Can be NULL to use the current loaded model. The model needs to be reloaded before applying a new adapter, otherwise the adapter will be applied on top of the previous one

public static int llama_apply_lora_from_file(SafeLLamaContextHandle ctx, string path_lora, string path_base_model, int n_threads)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_17","title":"Parameters","text":"

ctx SafeLLamaContextHandle

path_lora String

path_base_model String

n_threads Int32

"},{"location":"xmldocs/llama.native.nativeapi/#returns_11","title":"Returns","text":"

Int32 Returns 0 on success

"},{"location":"xmldocs/llama.native.nativeapi/#llama_get_kv_cache_token_countsafellamacontexthandle","title":"llama_get_kv_cache_token_count(SafeLLamaContextHandle)","text":"

Returns the number of tokens in the KV cache

public static int llama_get_kv_cache_token_count(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_18","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#returns_12","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_set_rng_seedsafellamacontexthandle-int32","title":"llama_set_rng_seed(SafeLLamaContextHandle, Int32)","text":"

Sets the current rng seed.

public static void llama_set_rng_seed(SafeLLamaContextHandle ctx, int seed)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_19","title":"Parameters","text":"

ctx SafeLLamaContextHandle

seed Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_get_state_sizesafellamacontexthandle","title":"llama_get_state_size(SafeLLamaContextHandle)","text":"

Returns the maximum size in bytes of the state (rng, logits, embedding and kv_cache) - will often be smaller after compacting tokens

public static ulong llama_get_state_size(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_20","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#returns_13","title":"Returns","text":"

UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#llama_copy_state_datasafellamacontexthandle-byte","title":"llama_copy_state_data(SafeLLamaContextHandle, Byte[])","text":"

Copies the state to the specified destination address. Destination needs to have allocated enough memory. Returns the number of bytes copied

public static ulong llama_copy_state_data(SafeLLamaContextHandle ctx, Byte[] dest)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_21","title":"Parameters","text":"

ctx SafeLLamaContextHandle

dest Byte[]

"},{"location":"xmldocs/llama.native.nativeapi/#returns_14","title":"Returns","text":"

UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#llama_set_state_datasafellamacontexthandle-byte","title":"llama_set_state_data(SafeLLamaContextHandle, Byte[])","text":"

Set the state reading from the specified address Returns the number of bytes read

public static ulong llama_set_state_data(SafeLLamaContextHandle ctx, Byte[] src)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_22","title":"Parameters","text":"

ctx SafeLLamaContextHandle

src Byte[]

"},{"location":"xmldocs/llama.native.nativeapi/#returns_15","title":"Returns","text":"

UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#llama_load_session_filesafellamacontexthandle-string-int32-uint64-uint64","title":"llama_load_session_file(SafeLLamaContextHandle, String, Int32[], UInt64, UInt64*)","text":"

Load session file

public static bool llama_load_session_file(SafeLLamaContextHandle ctx, string path_session, Int32[] tokens_out, ulong n_token_capacity, UInt64* n_token_count_out)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_23","title":"Parameters","text":"

ctx SafeLLamaContextHandle

path_session String

tokens_out Int32[]

n_token_capacity UInt64

n_token_count_out UInt64*

"},{"location":"xmldocs/llama.native.nativeapi/#returns_16","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.native.nativeapi/#llama_save_session_filesafellamacontexthandle-string-int32-uint64","title":"llama_save_session_file(SafeLLamaContextHandle, String, Int32[], UInt64)","text":"

Save session file

public static bool llama_save_session_file(SafeLLamaContextHandle ctx, string path_session, Int32[] tokens, ulong n_token_count)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_24","title":"Parameters","text":"

ctx SafeLLamaContextHandle

path_session String

tokens Int32[]

n_token_count UInt64

"},{"location":"xmldocs/llama.native.nativeapi/#returns_17","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.native.nativeapi/#llama_evalsafellamacontexthandle-int32-int32-int32-int32","title":"llama_eval(SafeLLamaContextHandle, Int32[], Int32, Int32, Int32)","text":"

Run the llama inference to obtain the logits and probabilities for the next token. tokens + n_tokens is the provided batch of new tokens to process n_past is the number of tokens to use from previous eval calls

public static int llama_eval(SafeLLamaContextHandle ctx, Int32[] tokens, int n_tokens, int n_past, int n_threads)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_25","title":"Parameters","text":"

ctx SafeLLamaContextHandle

tokens Int32[]

n_tokens Int32

n_past Int32

n_threads Int32

"},{"location":"xmldocs/llama.native.nativeapi/#returns_18","title":"Returns","text":"

Int32 Returns 0 on success

"},{"location":"xmldocs/llama.native.nativeapi/#llama_eval_with_pointersafellamacontexthandle-int32-int32-int32-int32","title":"llama_eval_with_pointer(SafeLLamaContextHandle, Int32*, Int32, Int32, Int32)","text":"
public static int llama_eval_with_pointer(SafeLLamaContextHandle ctx, Int32* tokens, int n_tokens, int n_past, int n_threads)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_26","title":"Parameters","text":"

ctx SafeLLamaContextHandle

tokens Int32*

n_tokens Int32

n_past Int32

n_threads Int32

"},{"location":"xmldocs/llama.native.nativeapi/#returns_19","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_tokenizesafellamacontexthandle-string-encoding-int32-int32-boolean","title":"llama_tokenize(SafeLLamaContextHandle, String, Encoding, Int32[], Int32, Boolean)","text":"

Convert the provided text into tokens. The tokens pointer must be large enough to hold the resulting tokens. Returns the number of tokens on success, no more than n_max_tokens Returns a negative number on failure - the number of tokens that would have been returned

public static int llama_tokenize(SafeLLamaContextHandle ctx, string text, Encoding encoding, Int32[] tokens, int n_max_tokens, bool add_bos)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_27","title":"Parameters","text":"

ctx SafeLLamaContextHandle

text String

encoding Encoding

tokens Int32[]

n_max_tokens Int32

add_bos Boolean

"},{"location":"xmldocs/llama.native.nativeapi/#returns_20","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_tokenize_nativesafellamacontexthandle-sbyte-int32-int32-boolean","title":"llama_tokenize_native(SafeLLamaContextHandle, SByte[], Int32[], Int32, Boolean)","text":"
public static int llama_tokenize_native(SafeLLamaContextHandle ctx, SByte[] text, Int32[] tokens, int n_max_tokens, bool add_bos)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_28","title":"Parameters","text":"

ctx SafeLLamaContextHandle

text SByte[]

tokens Int32[]

n_max_tokens Int32

add_bos Boolean

"},{"location":"xmldocs/llama.native.nativeapi/#returns_21","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_n_vocabsafellamacontexthandle","title":"llama_n_vocab(SafeLLamaContextHandle)","text":"
public static int llama_n_vocab(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_29","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#returns_22","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_n_ctxsafellamacontexthandle","title":"llama_n_ctx(SafeLLamaContextHandle)","text":"
public static int llama_n_ctx(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_30","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#returns_23","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_n_embdsafellamacontexthandle","title":"llama_n_embd(SafeLLamaContextHandle)","text":"
public static int llama_n_embd(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_31","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#returns_24","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_get_logitssafellamacontexthandle","title":"llama_get_logits(SafeLLamaContextHandle)","text":"

Token logits obtained from the last call to llama_eval() The logits for the last token are stored in the last row Can be mutated in order to change the probabilities of the next token Rows: n_tokens Cols: n_vocab

public static Single* llama_get_logits(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_32","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#returns_25","title":"Returns","text":"

Single*

"},{"location":"xmldocs/llama.native.nativeapi/#llama_get_embeddingssafellamacontexthandle","title":"llama_get_embeddings(SafeLLamaContextHandle)","text":"

Get the embeddings for the input shape: [n_embd] (1-dimensional)

public static Single* llama_get_embeddings(SafeLLamaContextHandle ctx)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_33","title":"Parameters","text":"

ctx SafeLLamaContextHandle

"},{"location":"xmldocs/llama.native.nativeapi/#returns_26","title":"Returns","text":"

Single*

"},{"location":"xmldocs/llama.native.nativeapi/#llama_token_to_strsafellamacontexthandle-int32","title":"llama_token_to_str(SafeLLamaContextHandle, Int32)","text":"

Token Id -> String. Uses the vocabulary in the provided context

public static IntPtr llama_token_to_str(SafeLLamaContextHandle ctx, int token)\n
"},{"location":"xmldocs/llama.native.nativeapi/#parameters_34","title":"Parameters","text":"

ctx SafeLLamaContextHandle

token Int32

"},{"location":"xmldocs/llama.native.nativeapi/#returns_27","title":"Returns","text":"

IntPtr Pointer to a string.

"},{"location":"xmldocs/llama.native.nativeapi/#llama_token_bos","title":"llama_token_bos()","text":"
public static int llama_token_bos()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns_28","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_token_eos","title":"llama_token_eos()","text":"
public static int llama_token_eos()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns_29","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.nativeapi/#llama_token_nl","title":"llama_token_nl()","text":"
public static int llama_token_nl()\n
"},{"location":"xmldocs/llama.native.nativeapi/#returns_30","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.native.safellamacontexthandle/","title":"SafeLLamaContextHandle","text":"

Namespace: LLama.Native

public class SafeLLamaContextHandle : SafeLLamaHandleBase, System.IDisposable\n

Inheritance Object \u2192 CriticalFinalizerObject \u2192 SafeHandle \u2192 SafeLLamaHandleBase \u2192 SafeLLamaContextHandle Implements IDisposable

"},{"location":"xmldocs/llama.native.safellamacontexthandle/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.native.safellamacontexthandle/#isinvalid","title":"IsInvalid","text":"
public bool IsInvalid { get; }\n
"},{"location":"xmldocs/llama.native.safellamacontexthandle/#property-value","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.native.safellamacontexthandle/#isclosed","title":"IsClosed","text":"
public bool IsClosed { get; }\n
"},{"location":"xmldocs/llama.native.safellamacontexthandle/#property-value_1","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.native.safellamacontexthandle/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.native.safellamacontexthandle/#safellamacontexthandleintptr","title":"SafeLLamaContextHandle(IntPtr)","text":"
public SafeLLamaContextHandle(IntPtr handle)\n
"},{"location":"xmldocs/llama.native.safellamacontexthandle/#parameters","title":"Parameters","text":"

handle IntPtr

"},{"location":"xmldocs/llama.native.safellamacontexthandle/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.native.safellamacontexthandle/#releasehandle","title":"ReleaseHandle()","text":"
protected bool ReleaseHandle()\n
"},{"location":"xmldocs/llama.native.safellamacontexthandle/#returns","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.native.safellamahandlebase/","title":"SafeLLamaHandleBase","text":"

Namespace: LLama.Native

public abstract class SafeLLamaHandleBase : System.Runtime.InteropServices.SafeHandle, System.IDisposable\n

Inheritance Object \u2192 CriticalFinalizerObject \u2192 SafeHandle \u2192 SafeLLamaHandleBase Implements IDisposable

"},{"location":"xmldocs/llama.native.safellamahandlebase/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.native.safellamahandlebase/#isinvalid","title":"IsInvalid","text":"
public bool IsInvalid { get; }\n
"},{"location":"xmldocs/llama.native.safellamahandlebase/#property-value","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.native.safellamahandlebase/#isclosed","title":"IsClosed","text":"
public bool IsClosed { get; }\n
"},{"location":"xmldocs/llama.native.safellamahandlebase/#property-value_1","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.native.safellamahandlebase/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.native.safellamahandlebase/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.native.safellamahandlebase/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletion/","title":"ChatCompletion","text":"

Namespace: LLama.OldVersion

public class ChatCompletion : System.IEquatable`1[[LLama.OldVersion.ChatCompletion, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 ChatCompletion Implements IEquatable<ChatCompletion>

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.chatcompletion/#id","title":"Id","text":"
public string Id { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#object","title":"Object","text":"
public string Object { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#created","title":"Created","text":"
public int Created { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#property-value_2","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#model","title":"Model","text":"
public string Model { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#property-value_3","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#choices","title":"Choices","text":"
public ChatCompletionChoice[] Choices { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#property-value_4","title":"Property Value","text":"

ChatCompletionChoice[]

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#usage","title":"Usage","text":"
public CompletionUsage Usage { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#property-value_5","title":"Property Value","text":"

CompletionUsage

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatcompletion/#chatcompletionstring-string-int32-string-chatcompletionchoice-completionusage","title":"ChatCompletion(String, String, Int32, String, ChatCompletionChoice[], CompletionUsage)","text":"
public ChatCompletion(string Id, string Object, int Created, string Model, ChatCompletionChoice[] Choices, CompletionUsage Usage)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#parameters","title":"Parameters","text":"

Id String

Object String

Created Int32

Model String

Choices ChatCompletionChoice[]

Usage CompletionUsage

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatcompletion/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#equalschatcompletion","title":"Equals(ChatCompletion)","text":"
public bool Equals(ChatCompletion other)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#parameters_3","title":"Parameters","text":"

other ChatCompletion

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#clone","title":"<Clone>$()","text":"
public ChatCompletion <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#returns_5","title":"Returns","text":"

ChatCompletion

"},{"location":"xmldocs/llama.oldversion.chatcompletion/#deconstructstring-string-int32-string-chatcompletionchoice-completionusage","title":"Deconstruct(String&, String&, Int32&, String&, ChatCompletionChoice[]&, CompletionUsage&)","text":"
public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, ChatCompletionChoice[]& Choices, CompletionUsage& Usage)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletion/#parameters_4","title":"Parameters","text":"

Id String&

Object String&

Created Int32&

Model String&

Choices ChatCompletionChoice[]&

Usage CompletionUsage&

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/","title":"ChatCompletionChoice","text":"

Namespace: LLama.OldVersion

public class ChatCompletionChoice : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 ChatCompletionChoice Implements IEquatable<ChatCompletionChoice>

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#index","title":"Index","text":"
public int Index { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#message","title":"Message","text":"
public ChatCompletionMessage Message { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#property-value_1","title":"Property Value","text":"

ChatCompletionMessage

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#finishreason","title":"FinishReason","text":"
public string FinishReason { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#property-value_2","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#chatcompletionchoiceint32-chatcompletionmessage-string","title":"ChatCompletionChoice(Int32, ChatCompletionMessage, String)","text":"
public ChatCompletionChoice(int Index, ChatCompletionMessage Message, string FinishReason)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#parameters","title":"Parameters","text":"

Index Int32

Message ChatCompletionMessage

FinishReason String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#equalschatcompletionchoice","title":"Equals(ChatCompletionChoice)","text":"
public bool Equals(ChatCompletionChoice other)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#parameters_3","title":"Parameters","text":"

other ChatCompletionChoice

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#clone","title":"<Clone>$()","text":"
public ChatCompletionChoice <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#returns_5","title":"Returns","text":"

ChatCompletionChoice

"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#deconstructint32-chatcompletionmessage-string","title":"Deconstruct(Int32&, ChatCompletionMessage&, String&)","text":"
public void Deconstruct(Int32& Index, ChatCompletionMessage& Message, String& FinishReason)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchoice/#parameters_4","title":"Parameters","text":"

Index Int32&

Message ChatCompletionMessage&

FinishReason String&

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/","title":"ChatCompletionChunk","text":"

Namespace: LLama.OldVersion

public class ChatCompletionChunk : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunk, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 ChatCompletionChunk Implements IEquatable<ChatCompletionChunk>

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#id","title":"Id","text":"
public string Id { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#model","title":"Model","text":"
public string Model { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#object","title":"Object","text":"
public string Object { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#property-value_2","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#created","title":"Created","text":"
public int Created { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#property-value_3","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#choices","title":"Choices","text":"
public ChatCompletionChunkChoice[] Choices { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#property-value_4","title":"Property Value","text":"

ChatCompletionChunkChoice[]

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#chatcompletionchunkstring-string-string-int32-chatcompletionchunkchoice","title":"ChatCompletionChunk(String, String, String, Int32, ChatCompletionChunkChoice[])","text":"
public ChatCompletionChunk(string Id, string Model, string Object, int Created, ChatCompletionChunkChoice[] Choices)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#parameters","title":"Parameters","text":"

Id String

Model String

Object String

Created Int32

Choices ChatCompletionChunkChoice[]

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#equalschatcompletionchunk","title":"Equals(ChatCompletionChunk)","text":"
public bool Equals(ChatCompletionChunk other)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#parameters_3","title":"Parameters","text":"

other ChatCompletionChunk

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#clone","title":"<Clone>$()","text":"
public ChatCompletionChunk <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#returns_5","title":"Returns","text":"

ChatCompletionChunk

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#deconstructstring-string-string-int32-chatcompletionchunkchoice","title":"Deconstruct(String&, String&, String&, Int32&, ChatCompletionChunkChoice[]&)","text":"
public void Deconstruct(String& Id, String& Model, String& Object, Int32& Created, ChatCompletionChunkChoice[]& Choices)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunk/#parameters_4","title":"Parameters","text":"

Id String&

Model String&

Object String&

Created Int32&

Choices ChatCompletionChunkChoice[]&

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/","title":"ChatCompletionChunkChoice","text":"

Namespace: LLama.OldVersion

public class ChatCompletionChunkChoice : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunkChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 ChatCompletionChunkChoice Implements IEquatable<ChatCompletionChunkChoice>

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#index","title":"Index","text":"
public int Index { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#delta","title":"Delta","text":"
public ChatCompletionChunkDelta Delta { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#property-value_1","title":"Property Value","text":"

ChatCompletionChunkDelta

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#finishreason","title":"FinishReason","text":"
public string FinishReason { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#property-value_2","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#chatcompletionchunkchoiceint32-chatcompletionchunkdelta-string","title":"ChatCompletionChunkChoice(Int32, ChatCompletionChunkDelta, String)","text":"
public ChatCompletionChunkChoice(int Index, ChatCompletionChunkDelta Delta, string FinishReason)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#parameters","title":"Parameters","text":"

Index Int32

Delta ChatCompletionChunkDelta

FinishReason String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#equalschatcompletionchunkchoice","title":"Equals(ChatCompletionChunkChoice)","text":"
public bool Equals(ChatCompletionChunkChoice other)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#parameters_3","title":"Parameters","text":"

other ChatCompletionChunkChoice

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#clone","title":"<Clone>$()","text":"
public ChatCompletionChunkChoice <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#returns_5","title":"Returns","text":"

ChatCompletionChunkChoice

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#deconstructint32-chatcompletionchunkdelta-string","title":"Deconstruct(Int32&, ChatCompletionChunkDelta&, String&)","text":"
public void Deconstruct(Int32& Index, ChatCompletionChunkDelta& Delta, String& FinishReason)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkchoice/#parameters_4","title":"Parameters","text":"

Index Int32&

Delta ChatCompletionChunkDelta&

FinishReason String&

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/","title":"ChatCompletionChunkDelta","text":"

Namespace: LLama.OldVersion

public class ChatCompletionChunkDelta : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunkDelta, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 ChatCompletionChunkDelta Implements IEquatable<ChatCompletionChunkDelta>

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#role","title":"Role","text":"
public string Role { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#content","title":"Content","text":"
public string Content { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#chatcompletionchunkdeltastring-string","title":"ChatCompletionChunkDelta(String, String)","text":"
public ChatCompletionChunkDelta(string Role, string Content)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#parameters","title":"Parameters","text":"

Role String

Content String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#equalschatcompletionchunkdelta","title":"Equals(ChatCompletionChunkDelta)","text":"
public bool Equals(ChatCompletionChunkDelta other)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#parameters_3","title":"Parameters","text":"

other ChatCompletionChunkDelta

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#clone","title":"<Clone>$()","text":"
public ChatCompletionChunkDelta <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#returns_5","title":"Returns","text":"

ChatCompletionChunkDelta

"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#deconstructstring-string","title":"Deconstruct(String&, String&)","text":"
public void Deconstruct(String& Role, String& Content)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionchunkdelta/#parameters_4","title":"Parameters","text":"

Role String&

Content String&

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/","title":"ChatCompletionMessage","text":"

Namespace: LLama.OldVersion

public class ChatCompletionMessage : System.IEquatable`1[[LLama.OldVersion.ChatCompletionMessage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 ChatCompletionMessage Implements IEquatable<ChatCompletionMessage>

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#role","title":"Role","text":"
public ChatRole Role { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#property-value","title":"Property Value","text":"

ChatRole

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#content","title":"Content","text":"
public string Content { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#name","title":"Name","text":"
public string Name { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#property-value_2","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#chatcompletionmessagechatrole-string-string","title":"ChatCompletionMessage(ChatRole, String, String)","text":"
public ChatCompletionMessage(ChatRole Role, string Content, string Name)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#parameters","title":"Parameters","text":"

Role ChatRole

Content String

Name String

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#equalschatcompletionmessage","title":"Equals(ChatCompletionMessage)","text":"
public bool Equals(ChatCompletionMessage other)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#parameters_3","title":"Parameters","text":"

other ChatCompletionMessage

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#clone","title":"<Clone>$()","text":"
public ChatCompletionMessage <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#returns_5","title":"Returns","text":"

ChatCompletionMessage

"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#deconstructchatrole-string-string","title":"Deconstruct(ChatRole&, String&, String&)","text":"
public void Deconstruct(ChatRole& Role, String& Content, String& Name)\n
"},{"location":"xmldocs/llama.oldversion.chatcompletionmessage/#parameters_4","title":"Parameters","text":"

Role ChatRole&

Content String&

Name String&

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/","title":"ChatMessageRecord","text":"

Namespace: LLama.OldVersion

public class ChatMessageRecord : System.IEquatable`1[[LLama.OldVersion.ChatMessageRecord, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 ChatMessageRecord Implements IEquatable<ChatMessageRecord>

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#message","title":"Message","text":"
public ChatCompletionMessage Message { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#property-value","title":"Property Value","text":"

ChatCompletionMessage

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#time","title":"Time","text":"
public DateTime Time { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#property-value_1","title":"Property Value","text":"

DateTime

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#chatmessagerecordchatcompletionmessage-datetime","title":"ChatMessageRecord(ChatCompletionMessage, DateTime)","text":"
public ChatMessageRecord(ChatCompletionMessage Message, DateTime Time)\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#parameters","title":"Parameters","text":"

Message ChatCompletionMessage

Time DateTime

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#equalschatmessagerecord","title":"Equals(ChatMessageRecord)","text":"
public bool Equals(ChatMessageRecord other)\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#parameters_3","title":"Parameters","text":"

other ChatMessageRecord

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#clone","title":"<Clone>$()","text":"
public ChatMessageRecord <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#returns_5","title":"Returns","text":"

ChatMessageRecord

"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#deconstructchatcompletionmessage-datetime","title":"Deconstruct(ChatCompletionMessage&, DateTime&)","text":"
public void Deconstruct(ChatCompletionMessage& Message, DateTime& Time)\n
"},{"location":"xmldocs/llama.oldversion.chatmessagerecord/#parameters_4","title":"Parameters","text":"

Message ChatCompletionMessage&

Time DateTime&

"},{"location":"xmldocs/llama.oldversion.chatrole/","title":"ChatRole","text":"

Namespace: LLama.OldVersion

public enum ChatRole\n

Inheritance Object \u2192 ValueType \u2192 Enum \u2192 ChatRole Implements IComparable, IFormattable, IConvertible

"},{"location":"xmldocs/llama.oldversion.chatrole/#fields","title":"Fields","text":"Name Value Description"},{"location":"xmldocs/llama.oldversion.chatsession-1/","title":"ChatSession<T>","text":"

Namespace: LLama.OldVersion

public class ChatSession<T>\n
"},{"location":"xmldocs/llama.oldversion.chatsession-1/#type-parameters","title":"Type Parameters","text":"

T

Inheritance Object \u2192 ChatSession<T>

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.chatsession-1/#chatsessiont_1","title":"ChatSession(T)","text":"
public ChatSession(T model)\n
"},{"location":"xmldocs/llama.oldversion.chatsession-1/#parameters","title":"Parameters","text":"

model T

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.chatsession-1/#chatstring-string-string","title":"Chat(String, String, String)","text":"
public IEnumerable<string> Chat(string text, string prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.chatsession-1/#parameters_1","title":"Parameters","text":"

text String

prompt String

encoding String

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#returns","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#withpromptstring-string","title":"WithPrompt(String, String)","text":"
public ChatSession<T> WithPrompt(string prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.chatsession-1/#parameters_2","title":"Parameters","text":"

prompt String

encoding String

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#returns_1","title":"Returns","text":"

ChatSession<T>

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#withpromptfilestring-string","title":"WithPromptFile(String, String)","text":"
public ChatSession<T> WithPromptFile(string promptFilename, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.chatsession-1/#parameters_3","title":"Parameters","text":"

promptFilename String

encoding String

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#returns_2","title":"Returns","text":"

ChatSession<T>

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#withantipromptstring","title":"WithAntiprompt(String[])","text":"

Set the keyword to split the return value of chat AI.

public ChatSession<T> WithAntiprompt(String[] antiprompt)\n
"},{"location":"xmldocs/llama.oldversion.chatsession-1/#parameters_4","title":"Parameters","text":"

antiprompt String[]

"},{"location":"xmldocs/llama.oldversion.chatsession-1/#returns_3","title":"Returns","text":"

ChatSession<T>

"},{"location":"xmldocs/llama.oldversion.completion/","title":"Completion","text":"

Namespace: LLama.OldVersion

public class Completion : System.IEquatable`1[[LLama.OldVersion.Completion, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 Completion Implements IEquatable<Completion>

"},{"location":"xmldocs/llama.oldversion.completion/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.completion/#id","title":"Id","text":"
public string Id { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completion/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completion/#object","title":"Object","text":"
public string Object { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completion/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completion/#created","title":"Created","text":"
public int Created { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completion/#property-value_2","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completion/#model","title":"Model","text":"
public string Model { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completion/#property-value_3","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completion/#choices","title":"Choices","text":"
public CompletionChoice[] Choices { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completion/#property-value_4","title":"Property Value","text":"

CompletionChoice[]

"},{"location":"xmldocs/llama.oldversion.completion/#usage","title":"Usage","text":"
public CompletionUsage Usage { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completion/#property-value_5","title":"Property Value","text":"

CompletionUsage

"},{"location":"xmldocs/llama.oldversion.completion/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.completion/#completionstring-string-int32-string-completionchoice-completionusage","title":"Completion(String, String, Int32, String, CompletionChoice[], CompletionUsage)","text":"
public Completion(string Id, string Object, int Created, string Model, CompletionChoice[] Choices, CompletionUsage Usage)\n
"},{"location":"xmldocs/llama.oldversion.completion/#parameters","title":"Parameters","text":"

Id String

Object String

Created Int32

Model String

Choices CompletionChoice[]

Usage CompletionUsage

"},{"location":"xmldocs/llama.oldversion.completion/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.completion/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.completion/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.completion/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.completion/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.completion/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completion/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.completion/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completion/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.completion/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.completion/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completion/#equalscompletion","title":"Equals(Completion)","text":"
public bool Equals(Completion other)\n
"},{"location":"xmldocs/llama.oldversion.completion/#parameters_3","title":"Parameters","text":"

other Completion

"},{"location":"xmldocs/llama.oldversion.completion/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completion/#clone","title":"<Clone>$()","text":"
public Completion <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.completion/#returns_5","title":"Returns","text":"

Completion

"},{"location":"xmldocs/llama.oldversion.completion/#deconstructstring-string-int32-string-completionchoice-completionusage","title":"Deconstruct(String&, String&, Int32&, String&, CompletionChoice[]&, CompletionUsage&)","text":"
public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, CompletionChoice[]& Choices, CompletionUsage& Usage)\n
"},{"location":"xmldocs/llama.oldversion.completion/#parameters_4","title":"Parameters","text":"

Id String&

Object String&

Created Int32&

Model String&

Choices CompletionChoice[]&

Usage CompletionUsage&

"},{"location":"xmldocs/llama.oldversion.completionchoice/","title":"CompletionChoice","text":"

Namespace: LLama.OldVersion

public class CompletionChoice : System.IEquatable`1[[LLama.OldVersion.CompletionChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 CompletionChoice Implements IEquatable<CompletionChoice>

"},{"location":"xmldocs/llama.oldversion.completionchoice/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.completionchoice/#text","title":"Text","text":"
public string Text { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionchoice/#index","title":"Index","text":"
public int Index { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionchoice/#logprobs","title":"Logprobs","text":"
public CompletionLogprobs Logprobs { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#property-value_2","title":"Property Value","text":"

CompletionLogprobs

"},{"location":"xmldocs/llama.oldversion.completionchoice/#finishreason","title":"FinishReason","text":"
public string FinishReason { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#property-value_3","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionchoice/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.completionchoice/#completionchoicestring-int32-completionlogprobs-string","title":"CompletionChoice(String, Int32, CompletionLogprobs, String)","text":"
public CompletionChoice(string Text, int Index, CompletionLogprobs Logprobs, string FinishReason)\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#parameters","title":"Parameters","text":"

Text String

Index Int32

Logprobs CompletionLogprobs

FinishReason String

"},{"location":"xmldocs/llama.oldversion.completionchoice/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.completionchoice/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionchoice/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.completionchoice/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionchoice/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionchoice/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.completionchoice/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionchoice/#equalscompletionchoice","title":"Equals(CompletionChoice)","text":"
public bool Equals(CompletionChoice other)\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#parameters_3","title":"Parameters","text":"

other CompletionChoice

"},{"location":"xmldocs/llama.oldversion.completionchoice/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionchoice/#clone","title":"<Clone>$()","text":"
public CompletionChoice <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#returns_5","title":"Returns","text":"

CompletionChoice

"},{"location":"xmldocs/llama.oldversion.completionchoice/#deconstructstring-int32-completionlogprobs-string","title":"Deconstruct(String&, Int32&, CompletionLogprobs&, String&)","text":"
public void Deconstruct(String& Text, Int32& Index, CompletionLogprobs& Logprobs, String& FinishReason)\n
"},{"location":"xmldocs/llama.oldversion.completionchoice/#parameters_4","title":"Parameters","text":"

Text String&

Index Int32&

Logprobs CompletionLogprobs&

FinishReason String&

"},{"location":"xmldocs/llama.oldversion.completionchunk/","title":"CompletionChunk","text":"

Namespace: LLama.OldVersion

public class CompletionChunk : System.IEquatable`1[[LLama.OldVersion.CompletionChunk, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 CompletionChunk Implements IEquatable<CompletionChunk>

"},{"location":"xmldocs/llama.oldversion.completionchunk/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.completionchunk/#id","title":"Id","text":"
public string Id { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionchunk/#object","title":"Object","text":"
public string Object { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionchunk/#created","title":"Created","text":"
public int Created { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#property-value_2","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionchunk/#model","title":"Model","text":"
public string Model { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#property-value_3","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionchunk/#choices","title":"Choices","text":"
public CompletionChoice[] Choices { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#property-value_4","title":"Property Value","text":"

CompletionChoice[]

"},{"location":"xmldocs/llama.oldversion.completionchunk/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.completionchunk/#completionchunkstring-string-int32-string-completionchoice","title":"CompletionChunk(String, String, Int32, String, CompletionChoice[])","text":"
public CompletionChunk(string Id, string Object, int Created, string Model, CompletionChoice[] Choices)\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#parameters","title":"Parameters","text":"

Id String

Object String

Created Int32

Model String

Choices CompletionChoice[]

"},{"location":"xmldocs/llama.oldversion.completionchunk/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.completionchunk/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionchunk/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.completionchunk/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionchunk/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionchunk/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.completionchunk/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionchunk/#equalscompletionchunk","title":"Equals(CompletionChunk)","text":"
public bool Equals(CompletionChunk other)\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#parameters_3","title":"Parameters","text":"

other CompletionChunk

"},{"location":"xmldocs/llama.oldversion.completionchunk/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionchunk/#clone","title":"<Clone>$()","text":"
public CompletionChunk <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#returns_5","title":"Returns","text":"

CompletionChunk

"},{"location":"xmldocs/llama.oldversion.completionchunk/#deconstructstring-string-int32-string-completionchoice","title":"Deconstruct(String&, String&, Int32&, String&, CompletionChoice[]&)","text":"
public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, CompletionChoice[]& Choices)\n
"},{"location":"xmldocs/llama.oldversion.completionchunk/#parameters_4","title":"Parameters","text":"

Id String&

Object String&

Created Int32&

Model String&

Choices CompletionChoice[]&

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/","title":"CompletionLogprobs","text":"

Namespace: LLama.OldVersion

public class CompletionLogprobs : System.IEquatable`1[[LLama.OldVersion.CompletionLogprobs, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 CompletionLogprobs Implements IEquatable<CompletionLogprobs>

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.completionlogprobs/#textoffset","title":"TextOffset","text":"
public Int32[] TextOffset { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#property-value","title":"Property Value","text":"

Int32[]

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#tokenlogprobs","title":"TokenLogProbs","text":"
public Single[] TokenLogProbs { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#property-value_1","title":"Property Value","text":"

Single[]

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#tokens","title":"Tokens","text":"
public String[] Tokens { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#property-value_2","title":"Property Value","text":"

String[]

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#toplogprobs","title":"TopLogprobs","text":"
public Dictionary`2[] TopLogprobs { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#property-value_3","title":"Property Value","text":"

Dictionary`2[]

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.completionlogprobs/#completionlogprobsint32-single-string-dictionary2","title":"CompletionLogprobs(Int32[], Single[], String[], Dictionary`2[])","text":"
public CompletionLogprobs(Int32[] TextOffset, Single[] TokenLogProbs, String[] Tokens, Dictionary`2[] TopLogprobs)\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#parameters","title":"Parameters","text":"

TextOffset Int32[]

TokenLogProbs Single[]

Tokens String[]

TopLogprobs Dictionary`2[]

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.completionlogprobs/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#equalscompletionlogprobs","title":"Equals(CompletionLogprobs)","text":"
public bool Equals(CompletionLogprobs other)\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#parameters_3","title":"Parameters","text":"

other CompletionLogprobs

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#clone","title":"<Clone>$()","text":"
public CompletionLogprobs <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#returns_5","title":"Returns","text":"

CompletionLogprobs

"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#deconstructint32-single-string-dictionary2","title":"Deconstruct(Int32[]&, Single[]&, String[]&, Dictionary`2[]&)","text":"
public void Deconstruct(Int32[]& TextOffset, Single[]& TokenLogProbs, String[]& Tokens, Dictionary`2[]& TopLogprobs)\n
"},{"location":"xmldocs/llama.oldversion.completionlogprobs/#parameters_4","title":"Parameters","text":"

TextOffset Int32[]&

TokenLogProbs Single[]&

Tokens String[]&

TopLogprobs Dictionary`2[]&

"},{"location":"xmldocs/llama.oldversion.completionusage/","title":"CompletionUsage","text":"

Namespace: LLama.OldVersion

public class CompletionUsage : System.IEquatable`1[[LLama.OldVersion.CompletionUsage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 CompletionUsage Implements IEquatable<CompletionUsage>

"},{"location":"xmldocs/llama.oldversion.completionusage/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.completionusage/#prompttokens","title":"PromptTokens","text":"
public int PromptTokens { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionusage/#completiontokens","title":"CompletionTokens","text":"
public int CompletionTokens { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionusage/#totaltokens","title":"TotalTokens","text":"
public int TotalTokens { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#property-value_2","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionusage/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.completionusage/#completionusageint32-int32-int32","title":"CompletionUsage(Int32, Int32, Int32)","text":"
public CompletionUsage(int PromptTokens, int CompletionTokens, int TotalTokens)\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#parameters","title":"Parameters","text":"

PromptTokens Int32

CompletionTokens Int32

TotalTokens Int32

"},{"location":"xmldocs/llama.oldversion.completionusage/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.completionusage/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.completionusage/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.completionusage/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionusage/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.completionusage/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.completionusage/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionusage/#equalscompletionusage","title":"Equals(CompletionUsage)","text":"
public bool Equals(CompletionUsage other)\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#parameters_3","title":"Parameters","text":"

other CompletionUsage

"},{"location":"xmldocs/llama.oldversion.completionusage/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.completionusage/#clone","title":"<Clone>$()","text":"
public CompletionUsage <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#returns_5","title":"Returns","text":"

CompletionUsage

"},{"location":"xmldocs/llama.oldversion.completionusage/#deconstructint32-int32-int32","title":"Deconstruct(Int32&, Int32&, Int32&)","text":"
public void Deconstruct(Int32& PromptTokens, Int32& CompletionTokens, Int32& TotalTokens)\n
"},{"location":"xmldocs/llama.oldversion.completionusage/#parameters_4","title":"Parameters","text":"

PromptTokens Int32&

CompletionTokens Int32&

TotalTokens Int32&

"},{"location":"xmldocs/llama.oldversion.embedding/","title":"Embedding","text":"

Namespace: LLama.OldVersion

public class Embedding : System.IEquatable`1[[LLama.OldVersion.Embedding, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 Embedding Implements IEquatable<Embedding>

"},{"location":"xmldocs/llama.oldversion.embedding/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.embedding/#object","title":"Object","text":"
public string Object { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embedding/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.embedding/#model","title":"Model","text":"
public string Model { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embedding/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.embedding/#data","title":"Data","text":"
public EmbeddingData[] Data { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embedding/#property-value_2","title":"Property Value","text":"

EmbeddingData[]

"},{"location":"xmldocs/llama.oldversion.embedding/#usage","title":"Usage","text":"
public EmbeddingUsage Usage { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embedding/#property-value_3","title":"Property Value","text":"

EmbeddingUsage

"},{"location":"xmldocs/llama.oldversion.embedding/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.embedding/#embeddingstring-string-embeddingdata-embeddingusage","title":"Embedding(String, String, EmbeddingData[], EmbeddingUsage)","text":"
public Embedding(string Object, string Model, EmbeddingData[] Data, EmbeddingUsage Usage)\n
"},{"location":"xmldocs/llama.oldversion.embedding/#parameters","title":"Parameters","text":"

Object String

Model String

Data EmbeddingData[]

Usage EmbeddingUsage

"},{"location":"xmldocs/llama.oldversion.embedding/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.embedding/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.embedding/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.embedding/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.embedding/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.embedding/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embedding/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.embedding/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.embedding/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.embedding/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.embedding/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embedding/#equalsembedding","title":"Equals(Embedding)","text":"
public bool Equals(Embedding other)\n
"},{"location":"xmldocs/llama.oldversion.embedding/#parameters_3","title":"Parameters","text":"

other Embedding

"},{"location":"xmldocs/llama.oldversion.embedding/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embedding/#clone","title":"<Clone>$()","text":"
public Embedding <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.embedding/#returns_5","title":"Returns","text":"

Embedding

"},{"location":"xmldocs/llama.oldversion.embedding/#deconstructstring-string-embeddingdata-embeddingusage","title":"Deconstruct(String&, String&, EmbeddingData[]&, EmbeddingUsage&)","text":"
public void Deconstruct(String& Object, String& Model, EmbeddingData[]& Data, EmbeddingUsage& Usage)\n
"},{"location":"xmldocs/llama.oldversion.embedding/#parameters_4","title":"Parameters","text":"

Object String&

Model String&

Data EmbeddingData[]&

Usage EmbeddingUsage&

"},{"location":"xmldocs/llama.oldversion.embeddingdata/","title":"EmbeddingData","text":"

Namespace: LLama.OldVersion

public class EmbeddingData : System.IEquatable`1[[LLama.OldVersion.EmbeddingData, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 EmbeddingData Implements IEquatable<EmbeddingData>

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.embeddingdata/#index","title":"Index","text":"
public int Index { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#object","title":"Object","text":"
public string Object { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#property-value_1","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#embedding","title":"Embedding","text":"
public Single[] Embedding { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#property-value_2","title":"Property Value","text":"

Single[]

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.embeddingdata/#embeddingdataint32-string-single","title":"EmbeddingData(Int32, String, Single[])","text":"
public EmbeddingData(int Index, string Object, Single[] Embedding)\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#parameters","title":"Parameters","text":"

Index Int32

Object String

Embedding Single[]

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.embeddingdata/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#equalsembeddingdata","title":"Equals(EmbeddingData)","text":"
public bool Equals(EmbeddingData other)\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#parameters_3","title":"Parameters","text":"

other EmbeddingData

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#clone","title":"<Clone>$()","text":"
public EmbeddingData <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#returns_5","title":"Returns","text":"

EmbeddingData

"},{"location":"xmldocs/llama.oldversion.embeddingdata/#deconstructint32-string-single","title":"Deconstruct(Int32&, String&, Single[]&)","text":"
public void Deconstruct(Int32& Index, String& Object, Single[]& Embedding)\n
"},{"location":"xmldocs/llama.oldversion.embeddingdata/#parameters_4","title":"Parameters","text":"

Index Int32&

Object String&

Embedding Single[]&

"},{"location":"xmldocs/llama.oldversion.embeddingusage/","title":"EmbeddingUsage","text":"

Namespace: LLama.OldVersion

public class EmbeddingUsage : System.IEquatable`1[[LLama.OldVersion.EmbeddingUsage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]\n

Inheritance Object \u2192 EmbeddingUsage Implements IEquatable<EmbeddingUsage>

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.embeddingusage/#prompttokens","title":"PromptTokens","text":"
public int PromptTokens { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#property-value","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#totaltokens","title":"TotalTokens","text":"
public int TotalTokens { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.embeddingusage/#embeddingusageint32-int32","title":"EmbeddingUsage(Int32, Int32)","text":"
public EmbeddingUsage(int PromptTokens, int TotalTokens)\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#parameters","title":"Parameters","text":"

PromptTokens Int32

TotalTokens Int32

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.embeddingusage/#tostring","title":"ToString()","text":"
public string ToString()\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#returns","title":"Returns","text":"

String

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#printmembersstringbuilder","title":"PrintMembers(StringBuilder)","text":"
protected bool PrintMembers(StringBuilder builder)\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#parameters_1","title":"Parameters","text":"

builder StringBuilder

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#gethashcode","title":"GetHashCode()","text":"
public int GetHashCode()\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#returns_2","title":"Returns","text":"

Int32

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#equalsobject","title":"Equals(Object)","text":"
public bool Equals(object obj)\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#parameters_2","title":"Parameters","text":"

obj Object

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#returns_3","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#equalsembeddingusage","title":"Equals(EmbeddingUsage)","text":"
public bool Equals(EmbeddingUsage other)\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#parameters_3","title":"Parameters","text":"

other EmbeddingUsage

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#returns_4","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#clone","title":"<Clone>$()","text":"
public EmbeddingUsage <Clone>$()\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#returns_5","title":"Returns","text":"

EmbeddingUsage

"},{"location":"xmldocs/llama.oldversion.embeddingusage/#deconstructint32-int32","title":"Deconstruct(Int32&, Int32&)","text":"
public void Deconstruct(Int32& PromptTokens, Int32& TotalTokens)\n
"},{"location":"xmldocs/llama.oldversion.embeddingusage/#parameters_4","title":"Parameters","text":"

PromptTokens Int32&

TotalTokens Int32&

"},{"location":"xmldocs/llama.oldversion.ichatmodel/","title":"IChatModel","text":"

Namespace: LLama.OldVersion

public interface IChatModel\n
"},{"location":"xmldocs/llama.oldversion.ichatmodel/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.ichatmodel/#name","title":"Name","text":"
public abstract string Name { get; }\n
"},{"location":"xmldocs/llama.oldversion.ichatmodel/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.ichatmodel/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.ichatmodel/#chatstring-string-string","title":"Chat(String, String, String)","text":"
IEnumerable<string> Chat(string text, string prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.ichatmodel/#parameters","title":"Parameters","text":"

text String

prompt String

encoding String

"},{"location":"xmldocs/llama.oldversion.ichatmodel/#returns","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.oldversion.ichatmodel/#initchatpromptstring-string","title":"InitChatPrompt(String, String)","text":"

Init a prompt for chat and automatically produce the next prompt during the chat.

void InitChatPrompt(string prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.ichatmodel/#parameters_1","title":"Parameters","text":"

prompt String

encoding String

"},{"location":"xmldocs/llama.oldversion.ichatmodel/#initchatantipromptstring","title":"InitChatAntiprompt(String[])","text":"
void InitChatAntiprompt(String[] antiprompt)\n
"},{"location":"xmldocs/llama.oldversion.ichatmodel/#parameters_2","title":"Parameters","text":"

antiprompt String[]

"},{"location":"xmldocs/llama.oldversion.llamaembedder/","title":"LLamaEmbedder","text":"

Namespace: LLama.OldVersion

public class LLamaEmbedder : System.IDisposable\n

Inheritance Object \u2192 LLamaEmbedder Implements IDisposable

"},{"location":"xmldocs/llama.oldversion.llamaembedder/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.llamaembedder/#llamaembedderllamaparams","title":"LLamaEmbedder(LLamaParams)","text":"
public LLamaEmbedder(LLamaParams params)\n
"},{"location":"xmldocs/llama.oldversion.llamaembedder/#parameters","title":"Parameters","text":"

params LLamaParams

"},{"location":"xmldocs/llama.oldversion.llamaembedder/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.llamaembedder/#getembeddingsstring-int32-boolean-string","title":"GetEmbeddings(String, Int32, Boolean, String)","text":"
public Single[] GetEmbeddings(string text, int n_thread, bool add_bos, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamaembedder/#parameters_1","title":"Parameters","text":"

text String

n_thread Int32

add_bos Boolean

encoding String

"},{"location":"xmldocs/llama.oldversion.llamaembedder/#returns","title":"Returns","text":"

Single[]

"},{"location":"xmldocs/llama.oldversion.llamaembedder/#dispose","title":"Dispose()","text":"
public void Dispose()\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/","title":"LLamaModel","text":"

Namespace: LLama.OldVersion

public class LLamaModel : IChatModel, System.IDisposable\n

Inheritance Object \u2192 LLamaModel Implements IChatModel, IDisposable

"},{"location":"xmldocs/llama.oldversion.llamamodel/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.oldversion.llamamodel/#name","title":"Name","text":"
public string Name { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#property-value","title":"Property Value","text":"

String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#verbose","title":"Verbose","text":"
public bool Verbose { get; set; }\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#property-value_1","title":"Property Value","text":"

Boolean

"},{"location":"xmldocs/llama.oldversion.llamamodel/#nativehandle","title":"NativeHandle","text":"
public SafeLLamaContextHandle NativeHandle { get; }\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#property-value_2","title":"Property Value","text":"

SafeLLamaContextHandle

"},{"location":"xmldocs/llama.oldversion.llamamodel/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.llamamodel/#llamamodelstring-string-boolean-int32-int32-int32-int32-int32-int32-int32-dictionaryint32-single-int32-single-single-single-single-single-int32-single-single-int32-single-single-string-string-string-string-liststring-string-string-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-string","title":"LLamaModel(String, String, Boolean, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Dictionary<Int32, Single>, Int32, Single, Single, Single, Single, Single, Int32, Single, Single, Int32, Single, Single, String, String, String, String, List<String>, String, String, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, String)","text":"

Please refer LLamaParams to find the meanings of each arg. Be sure to have set the n_gpu_layers, otherwise it will load 20 layers to gpu by default.

public LLamaModel(string model_path, string model_name, bool verbose, int seed, int n_threads, int n_predict, int n_ctx, int n_batch, int n_keep, int n_gpu_layers, Dictionary<int, float> logit_bias, int top_k, float top_p, float tfs_z, float typical_p, float temp, float repeat_penalty, int repeat_last_n, float frequency_penalty, float presence_penalty, int mirostat, float mirostat_tau, float mirostat_eta, string prompt, string path_session, string input_prefix, string input_suffix, List<string> antiprompt, string lora_adapter, string lora_base, bool memory_f16, bool random_prompt, bool use_color, bool interactive, bool embedding, bool interactive_first, bool prompt_cache_all, bool instruct, bool penalize_nl, bool perplexity, bool use_mmap, bool use_mlock, bool mem_test, bool verbose_prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters","title":"Parameters","text":"

model_path String The model file path.

model_name String The model name.

verbose Boolean Whether to print details when running the model.

seed Int32

n_threads Int32

n_predict Int32

n_ctx Int32

n_batch Int32

n_keep Int32

n_gpu_layers Int32

logit_bias Dictionary<Int32, Single>

top_k Int32

top_p Single

tfs_z Single

typical_p Single

temp Single

repeat_penalty Single

repeat_last_n Int32

frequency_penalty Single

presence_penalty Single

mirostat Int32

mirostat_tau Single

mirostat_eta Single

prompt String

path_session String

input_prefix String

input_suffix String

antiprompt List<String>

lora_adapter String

lora_base String

memory_f16 Boolean

random_prompt Boolean

use_color Boolean

interactive Boolean

embedding Boolean

interactive_first Boolean

prompt_cache_all Boolean

instruct Boolean

penalize_nl Boolean

perplexity Boolean

use_mmap Boolean

use_mlock Boolean

mem_test Boolean

verbose_prompt Boolean

encoding String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#llamamodelllamaparams-string-boolean-string","title":"LLamaModel(LLamaParams, String, Boolean, String)","text":"

Please refer LLamaParams to find the meanings of each arg. Be sure to have set the n_gpu_layers, otherwise it will load 20 layers to gpu by default.

public LLamaModel(LLamaParams params, string name, bool verbose, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_1","title":"Parameters","text":"

params LLamaParams The LLamaModel params

name String Model name

verbose Boolean Whether to output the detailed info.

encoding String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#exceptions","title":"Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/llama.oldversion.llamamodel/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.oldversion.llamamodel/#withpromptstring-string","title":"WithPrompt(String, String)","text":"

Apply a prompt to the model.

public LLamaModel WithPrompt(string prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_2","title":"Parameters","text":"

prompt String

encoding String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#returns","title":"Returns","text":"

LLamaModel

"},{"location":"xmldocs/llama.oldversion.llamamodel/#exceptions_1","title":"Exceptions","text":"

ArgumentException

"},{"location":"xmldocs/llama.oldversion.llamamodel/#withpromptfilestring","title":"WithPromptFile(String)","text":"

Apply the prompt file to the model.

public LLamaModel WithPromptFile(string promptFileName)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_3","title":"Parameters","text":"

promptFileName String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#returns_1","title":"Returns","text":"

LLamaModel

"},{"location":"xmldocs/llama.oldversion.llamamodel/#initchatpromptstring-string","title":"InitChatPrompt(String, String)","text":"
public void InitChatPrompt(string prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_4","title":"Parameters","text":"

prompt String

encoding String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#initchatantipromptstring","title":"InitChatAntiprompt(String[])","text":"
public void InitChatAntiprompt(String[] antiprompt)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_5","title":"Parameters","text":"

antiprompt String[]

"},{"location":"xmldocs/llama.oldversion.llamamodel/#chatstring-string-string","title":"Chat(String, String, String)","text":"

Chat with the LLaMa model under interactive mode.

public IEnumerable<string> Chat(string text, string prompt, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_6","title":"Parameters","text":"

text String

prompt String

encoding String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#returns_2","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.oldversion.llamamodel/#exceptions_2","title":"Exceptions","text":"

ArgumentException

"},{"location":"xmldocs/llama.oldversion.llamamodel/#savestatestring","title":"SaveState(String)","text":"

Save the state to specified path.

public void SaveState(string filename)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_7","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#loadstatestring-boolean","title":"LoadState(String, Boolean)","text":"

Load the state from specified path.

public void LoadState(string filename, bool clearPreviousEmbed)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_8","title":"Parameters","text":"

filename String

clearPreviousEmbed Boolean Whether to clear previous footprints of this model.

"},{"location":"xmldocs/llama.oldversion.llamamodel/#exceptions_3","title":"Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/llama.oldversion.llamamodel/#tokenizestring-string","title":"Tokenize(String, String)","text":"

Tokenize a string.

public List<int> Tokenize(string text, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_9","title":"Parameters","text":"

text String The utf-8 encoded string to tokenize.

encoding String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#returns_3","title":"Returns","text":"

List<Int32> A list of tokens.

"},{"location":"xmldocs/llama.oldversion.llamamodel/#exceptions_4","title":"Exceptions","text":"

RuntimeError If the tokenization failed.

"},{"location":"xmldocs/llama.oldversion.llamamodel/#detokenizeienumerableint32","title":"DeTokenize(IEnumerable<Int32>)","text":"

Detokenize a list of tokens.

public string DeTokenize(IEnumerable<int> tokens)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_10","title":"Parameters","text":"

tokens IEnumerable<Int32> The list of tokens to detokenize.

"},{"location":"xmldocs/llama.oldversion.llamamodel/#returns_4","title":"Returns","text":"

String The detokenized string.

"},{"location":"xmldocs/llama.oldversion.llamamodel/#callstring-string","title":"Call(String, String)","text":"

Call the model to run inference.

public IEnumerable<string> Call(string text, string encoding)\n
"},{"location":"xmldocs/llama.oldversion.llamamodel/#parameters_11","title":"Parameters","text":"

text String

encoding String

"},{"location":"xmldocs/llama.oldversion.llamamodel/#returns_5","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.oldversion.llamamodel/#exceptions_5","title":"Exceptions","text":"

RuntimeError

"},{"location":"xmldocs/llama.oldversion.llamamodel/#dispose","title":"Dispose()","text":"
public void Dispose()\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/","title":"LLamaParams","text":"

Namespace: LLama.OldVersion

public struct LLamaParams\n

Inheritance Object \u2192 ValueType \u2192 LLamaParams

"},{"location":"xmldocs/llama.oldversion.llamaparams/#fields","title":"Fields","text":""},{"location":"xmldocs/llama.oldversion.llamaparams/#seed","title":"seed","text":"
public int seed;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#n_threads","title":"n_threads","text":"
public int n_threads;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#n_predict","title":"n_predict","text":"
public int n_predict;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#n_ctx","title":"n_ctx","text":"
public int n_ctx;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#n_batch","title":"n_batch","text":"
public int n_batch;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#n_keep","title":"n_keep","text":"
public int n_keep;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#n_gpu_layers","title":"n_gpu_layers","text":"
public int n_gpu_layers;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#logit_bias","title":"logit_bias","text":"
public Dictionary<int, float> logit_bias;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#top_k","title":"top_k","text":"
public int top_k;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#top_p","title":"top_p","text":"
public float top_p;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#tfs_z","title":"tfs_z","text":"
public float tfs_z;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#typical_p","title":"typical_p","text":"
public float typical_p;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#temp","title":"temp","text":"
public float temp;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#repeat_penalty","title":"repeat_penalty","text":"
public float repeat_penalty;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#repeat_last_n","title":"repeat_last_n","text":"
public int repeat_last_n;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#frequency_penalty","title":"frequency_penalty","text":"
public float frequency_penalty;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#presence_penalty","title":"presence_penalty","text":"
public float presence_penalty;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#mirostat","title":"mirostat","text":"
public int mirostat;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#mirostat_tau","title":"mirostat_tau","text":"
public float mirostat_tau;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#mirostat_eta","title":"mirostat_eta","text":"
public float mirostat_eta;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#model","title":"model","text":"
public string model;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#prompt","title":"prompt","text":"
public string prompt;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#path_session","title":"path_session","text":"
public string path_session;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#input_prefix","title":"input_prefix","text":"
public string input_prefix;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#input_suffix","title":"input_suffix","text":"
public string input_suffix;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#antiprompt","title":"antiprompt","text":"
public List<string> antiprompt;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#lora_adapter","title":"lora_adapter","text":"
public string lora_adapter;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#lora_base","title":"lora_base","text":"
public string lora_base;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#memory_f16","title":"memory_f16","text":"
public bool memory_f16;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#random_prompt","title":"random_prompt","text":"
public bool random_prompt;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#use_color","title":"use_color","text":"
public bool use_color;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#interactive","title":"interactive","text":"
public bool interactive;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#prompt_cache_all","title":"prompt_cache_all","text":"
public bool prompt_cache_all;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#embedding","title":"embedding","text":"
public bool embedding;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#interactive_first","title":"interactive_first","text":"
public bool interactive_first;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#instruct","title":"instruct","text":"
public bool instruct;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#penalize_nl","title":"penalize_nl","text":"
public bool penalize_nl;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#perplexity","title":"perplexity","text":"
public bool perplexity;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#use_mmap","title":"use_mmap","text":"
public bool use_mmap;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#use_mlock","title":"use_mlock","text":"
public bool use_mlock;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#mem_test","title":"mem_test","text":"
public bool mem_test;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#verbose_prompt","title":"verbose_prompt","text":"
public bool verbose_prompt;\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.oldversion.llamaparams/#llamaparamsint32-int32-int32-int32-int32-int32-int32-dictionaryint32-single-int32-single-single-single-single-single-int32-single-single-int32-single-single-string-string-string-string-string-liststring-string-string-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean-boolean","title":"LLamaParams(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Dictionary<Int32, Single>, Int32, Single, Single, Single, Single, Single, Int32, Single, Single, Int32, Single, Single, String, String, String, String, String, List<String>, String, String, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)","text":"
LLamaParams(int seed, int n_threads, int n_predict, int n_ctx, int n_batch, int n_keep, int n_gpu_layers, Dictionary<int, float> logit_bias, int top_k, float top_p, float tfs_z, float typical_p, float temp, float repeat_penalty, int repeat_last_n, float frequency_penalty, float presence_penalty, int mirostat, float mirostat_tau, float mirostat_eta, string model, string prompt, string path_session, string input_prefix, string input_suffix, List<string> antiprompt, string lora_adapter, string lora_base, bool memory_f16, bool random_prompt, bool use_color, bool interactive, bool prompt_cache_all, bool embedding, bool interactive_first, bool instruct, bool penalize_nl, bool perplexity, bool use_mmap, bool use_mlock, bool mem_test, bool verbose_prompt)\n
"},{"location":"xmldocs/llama.oldversion.llamaparams/#parameters","title":"Parameters","text":"

seed Int32

n_threads Int32

n_predict Int32

n_ctx Int32

n_batch Int32

n_keep Int32

n_gpu_layers Int32

logit_bias Dictionary<Int32, Single>

top_k Int32

top_p Single

tfs_z Single

typical_p Single

temp Single

repeat_penalty Single

repeat_last_n Int32

frequency_penalty Single

presence_penalty Single

mirostat Int32

mirostat_tau Single

mirostat_eta Single

model String

prompt String

path_session String

input_prefix String

input_suffix String

antiprompt List<String>

lora_adapter String

lora_base String

memory_f16 Boolean

random_prompt Boolean

use_color Boolean

interactive Boolean

prompt_cache_all Boolean

embedding Boolean

interactive_first Boolean

instruct Boolean

penalize_nl Boolean

perplexity Boolean

use_mmap Boolean

use_mlock Boolean

mem_test Boolean

verbose_prompt Boolean

"},{"location":"xmldocs/llama.resettablellamamodel/","title":"ResettableLLamaModel","text":"

Namespace: LLama

A LLamaModel what could be reset. Note that using this class will consume about 10% more memories.

public class ResettableLLamaModel : LLamaModel, System.IDisposable\n

Inheritance Object \u2192 LLamaModel \u2192 ResettableLLamaModel Implements IDisposable

"},{"location":"xmldocs/llama.resettablellamamodel/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.resettablellamamodel/#originalstate","title":"OriginalState","text":"

The initial state of the model

public Byte[] OriginalState { get; set; }\n
"},{"location":"xmldocs/llama.resettablellamamodel/#property-value","title":"Property Value","text":"

Byte[]

"},{"location":"xmldocs/llama.resettablellamamodel/#contextsize","title":"ContextSize","text":"

The context size.

public int ContextSize { get; }\n
"},{"location":"xmldocs/llama.resettablellamamodel/#property-value_1","title":"Property Value","text":"

Int32

"},{"location":"xmldocs/llama.resettablellamamodel/#params","title":"Params","text":"

The model params set for this model.

public ModelParams Params { get; set; }\n
"},{"location":"xmldocs/llama.resettablellamamodel/#property-value_2","title":"Property Value","text":"

ModelParams

"},{"location":"xmldocs/llama.resettablellamamodel/#nativehandle","title":"NativeHandle","text":"

The native handle, which is used to be passed to the native APIs. Please avoid using it unless you know what is the usage of the Native API.

public SafeLLamaContextHandle NativeHandle { get; }\n
"},{"location":"xmldocs/llama.resettablellamamodel/#property-value_3","title":"Property Value","text":"

SafeLLamaContextHandle

"},{"location":"xmldocs/llama.resettablellamamodel/#encoding","title":"Encoding","text":"

The encoding set for this model to deal with text input.

public Encoding Encoding { get; }\n
"},{"location":"xmldocs/llama.resettablellamamodel/#property-value_4","title":"Property Value","text":"

Encoding

"},{"location":"xmldocs/llama.resettablellamamodel/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.resettablellamamodel/#resettablellamamodelmodelparams-string","title":"ResettableLLamaModel(ModelParams, String)","text":"
public ResettableLLamaModel(ModelParams Params, string encoding)\n
"},{"location":"xmldocs/llama.resettablellamamodel/#parameters","title":"Parameters","text":"

Params ModelParams

encoding String

"},{"location":"xmldocs/llama.resettablellamamodel/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.resettablellamamodel/#reset","title":"Reset()","text":"

Reset the state to the initial state.

public void Reset()\n
"},{"location":"xmldocs/llama.statefulexecutorbase/","title":"StatefulExecutorBase","text":"

Namespace: LLama

The base class for stateful LLama executors.

public abstract class StatefulExecutorBase : LLama.Abstractions.ILLamaExecutor\n

Inheritance Object \u2192 StatefulExecutorBase Implements ILLamaExecutor

"},{"location":"xmldocs/llama.statefulexecutorbase/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.statefulexecutorbase/#model","title":"Model","text":"

The mode used by the executor.

public LLamaModel Model { get; }\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#property-value","title":"Property Value","text":"

LLamaModel

"},{"location":"xmldocs/llama.statefulexecutorbase/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.statefulexecutorbase/#withsessionfilestring","title":"WithSessionFile(String)","text":"

This API is currently not verified.

public StatefulExecutorBase WithSessionFile(string filename)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.statefulexecutorbase/#returns","title":"Returns","text":"

StatefulExecutorBase

"},{"location":"xmldocs/llama.statefulexecutorbase/#exceptions","title":"Exceptions","text":"

ArgumentNullException

RuntimeError

"},{"location":"xmldocs/llama.statefulexecutorbase/#savesessionfilestring","title":"SaveSessionFile(String)","text":"

This API has not been verified currently.

public void SaveSessionFile(string filename)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_1","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.statefulexecutorbase/#handlerunoutofcontextint32","title":"HandleRunOutOfContext(Int32)","text":"

After running out of the context, take some tokens from the original prompt and recompute the logits in batches.

protected void HandleRunOutOfContext(int tokensToKeep)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_2","title":"Parameters","text":"

tokensToKeep Int32

"},{"location":"xmldocs/llama.statefulexecutorbase/#tryreusemathingprefix","title":"TryReuseMathingPrefix()","text":"

Try to reuse the matching prefix from the session file.

protected void TryReuseMathingPrefix()\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#getloopconditioninferstateargs","title":"GetLoopCondition(InferStateArgs)","text":"

Decide whether to continue the loop.

protected abstract bool GetLoopCondition(InferStateArgs args)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_3","title":"Parameters","text":"

args InferStateArgs

"},{"location":"xmldocs/llama.statefulexecutorbase/#returns_1","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.statefulexecutorbase/#preprocessinputsstring-inferstateargs","title":"PreprocessInputs(String, InferStateArgs)","text":"

Preprocess the inputs before the inference.

protected abstract void PreprocessInputs(string text, InferStateArgs args)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_4","title":"Parameters","text":"

text String

args InferStateArgs

"},{"location":"xmldocs/llama.statefulexecutorbase/#postprocessinferenceparams-inferstateargs-ienumerable1","title":"PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)","text":"

Do some post processing after the inference.

protected abstract bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_5","title":"Parameters","text":"

inferenceParams InferenceParams

args InferStateArgs

extraOutputs IEnumerable`1&

"},{"location":"xmldocs/llama.statefulexecutorbase/#returns_2","title":"Returns","text":"

Boolean

"},{"location":"xmldocs/llama.statefulexecutorbase/#inferinternalinferenceparams-inferstateargs","title":"InferInternal(InferenceParams, InferStateArgs)","text":"

The core inference logic.

protected abstract void InferInternal(InferenceParams inferenceParams, InferStateArgs args)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_6","title":"Parameters","text":"

inferenceParams InferenceParams

args InferStateArgs

"},{"location":"xmldocs/llama.statefulexecutorbase/#savestatestring","title":"SaveState(String)","text":"

Save the current state to a file.

public abstract void SaveState(string filename)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_7","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.statefulexecutorbase/#getstatedata","title":"GetStateData()","text":"

Get the current state data.

public abstract ExecutorBaseState GetStateData()\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#returns_3","title":"Returns","text":"

ExecutorBaseState

"},{"location":"xmldocs/llama.statefulexecutorbase/#loadstateexecutorbasestate","title":"LoadState(ExecutorBaseState)","text":"

Load the state from data.

public abstract void LoadState(ExecutorBaseState data)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_8","title":"Parameters","text":"

data ExecutorBaseState

"},{"location":"xmldocs/llama.statefulexecutorbase/#loadstatestring","title":"LoadState(String)","text":"

Load the state from a file.

public abstract void LoadState(string filename)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_9","title":"Parameters","text":"

filename String

"},{"location":"xmldocs/llama.statefulexecutorbase/#inferstring-inferenceparams-cancellationtoken","title":"Infer(String, InferenceParams, CancellationToken)","text":"

Execute the inference.

public IEnumerable<string> Infer(string text, InferenceParams inferenceParams, CancellationToken cancellationToken)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_10","title":"Parameters","text":"

text String

inferenceParams InferenceParams

cancellationToken CancellationToken

"},{"location":"xmldocs/llama.statefulexecutorbase/#returns_4","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.statefulexecutorbase/#inferasyncstring-inferenceparams-cancellationtoken","title":"InferAsync(String, InferenceParams, CancellationToken)","text":"

Execute the inference asynchronously.

public IAsyncEnumerable<string> InferAsync(string text, InferenceParams inferenceParams, CancellationToken cancellationToken)\n
"},{"location":"xmldocs/llama.statefulexecutorbase/#parameters_11","title":"Parameters","text":"

text String

inferenceParams InferenceParams

cancellationToken CancellationToken

"},{"location":"xmldocs/llama.statefulexecutorbase/#returns_5","title":"Returns","text":"

IAsyncEnumerable<String>

"},{"location":"xmldocs/llama.statelessexecutor/","title":"StatelessExecutor","text":"

Namespace: LLama

This executor infer the input as one-time job. Previous inputs won't impact on the response to current input.

public class StatelessExecutor : LLama.Abstractions.ILLamaExecutor\n

Inheritance Object \u2192 StatelessExecutor Implements ILLamaExecutor

"},{"location":"xmldocs/llama.statelessexecutor/#properties","title":"Properties","text":""},{"location":"xmldocs/llama.statelessexecutor/#model","title":"Model","text":"

The mode used by the executor when running the inference.

public LLamaModel Model { get; }\n
"},{"location":"xmldocs/llama.statelessexecutor/#property-value","title":"Property Value","text":"

LLamaModel

"},{"location":"xmldocs/llama.statelessexecutor/#constructors","title":"Constructors","text":""},{"location":"xmldocs/llama.statelessexecutor/#statelessexecutorllamamodel","title":"StatelessExecutor(LLamaModel)","text":"
public StatelessExecutor(LLamaModel model)\n
"},{"location":"xmldocs/llama.statelessexecutor/#parameters","title":"Parameters","text":"

model LLamaModel The LLama model.

"},{"location":"xmldocs/llama.statelessexecutor/#methods","title":"Methods","text":""},{"location":"xmldocs/llama.statelessexecutor/#inferstring-inferenceparams-cancellationtoken","title":"Infer(String, InferenceParams, CancellationToken)","text":"
public IEnumerable<string> Infer(string text, InferenceParams inferenceParams, CancellationToken cancellationToken)\n
"},{"location":"xmldocs/llama.statelessexecutor/#parameters_1","title":"Parameters","text":"

text String

inferenceParams InferenceParams

cancellationToken CancellationToken

"},{"location":"xmldocs/llama.statelessexecutor/#returns","title":"Returns","text":"

IEnumerable<String>

"},{"location":"xmldocs/llama.statelessexecutor/#inferasyncstring-inferenceparams-cancellationtoken","title":"InferAsync(String, InferenceParams, CancellationToken)","text":"
public IAsyncEnumerable<string> InferAsync(string text, InferenceParams inferenceParams, CancellationToken token)\n
"},{"location":"xmldocs/llama.statelessexecutor/#parameters_2","title":"Parameters","text":"

text String

inferenceParams InferenceParams

token CancellationToken

"},{"location":"xmldocs/llama.statelessexecutor/#returns_1","title":"Returns","text":"

IAsyncEnumerable<String>

"}]} \ No newline at end of file diff --git a/site/sitemap.xml.gz b/site/sitemap.xml.gz new file mode 100644 index 00000000..393f1870 Binary files /dev/null and b/site/sitemap.xml.gz differ diff --git a/site/xmldocs/index.html b/site/xmldocs/index.html new file mode 100644 index 00000000..90641dea --- /dev/null +++ b/site/xmldocs/index.html @@ -0,0 +1,1747 @@ + + + + + + + + + + + + + + + + + + + + + + index - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.abstractions.ihistorytransform/index.html b/site/xmldocs/llama.abstractions.ihistorytransform/index.html new file mode 100644 index 00000000..057c4a8c --- /dev/null +++ b/site/xmldocs/llama.abstractions.ihistorytransform/index.html @@ -0,0 +1,1749 @@ + + + + + + + + + + + + + + + + + + + + + + llama.abstractions.ihistorytransform - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

IHistoryTransform

+

Namespace: LLama.Abstractions

+

Transform history to plain text and vice versa.

+
public interface IHistoryTransform
+
+

Methods

+

HistoryToText(ChatHistory)

+

Convert a ChatHistory instance to plain text.

+
string HistoryToText(ChatHistory history)
+
+

Parameters

+

history ChatHistory
+The ChatHistory instance

+

Returns

+

String

+

TextToHistory(AuthorRole, String)

+

Converts plain text to a ChatHistory instance.

+
ChatHistory TextToHistory(AuthorRole role, string text)
+
+

Parameters

+

role AuthorRole
+The role for the author.

+

text String
+The chat history as plain text.

+

Returns

+

ChatHistory
+The updated history.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.abstractions.illamaexecutor/index.html b/site/xmldocs/llama.abstractions.illamaexecutor/index.html new file mode 100644 index 00000000..198c108b --- /dev/null +++ b/site/xmldocs/llama.abstractions.illamaexecutor/index.html @@ -0,0 +1,1823 @@ + + + + + + + + + + + + + + + + + + + + + + llama.abstractions.illamaexecutor - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ILLamaExecutor

+

Namespace: LLama.Abstractions

+

A high level interface for LLama models.

+
public interface ILLamaExecutor
+
+

Properties

+

Model

+

The loaded model for this executor.

+
public abstract LLamaModel Model { get; }
+
+

Property Value

+

LLamaModel

+

Methods

+

Infer(String, InferenceParams, CancellationToken)

+

Infers a response from the model.

+
IEnumerable<string> Infer(string text, InferenceParams inferenceParams, CancellationToken token)
+
+

Parameters

+

text String
+Your prompt

+

inferenceParams InferenceParams
+Any additional parameters

+

token CancellationToken
+A cancellation token.

+

Returns

+

IEnumerable<String>

+

InferAsync(String, InferenceParams, CancellationToken)

+
IAsyncEnumerable<string> InferAsync(string text, InferenceParams inferenceParams, CancellationToken token)
+
+

Parameters

+

text String

+

inferenceParams InferenceParams

+

token CancellationToken

+

Returns

+

IAsyncEnumerable<String>

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.abstractions.itextstreamtransform/index.html b/site/xmldocs/llama.abstractions.itextstreamtransform/index.html new file mode 100644 index 00000000..f3775675 --- /dev/null +++ b/site/xmldocs/llama.abstractions.itextstreamtransform/index.html @@ -0,0 +1,1744 @@ + + + + + + + + + + + + + + + + + + + + + + llama.abstractions.itextstreamtransform - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ITextStreamTransform

+

Namespace: LLama.Abstractions

+

Takes a stream of tokens and transforms them.

+
public interface ITextStreamTransform
+
+

Methods

+

Transform(IEnumerable<String>)

+

Takes a stream of tokens and transforms them, returning a new stream of tokens.

+
IEnumerable<string> Transform(IEnumerable<string> tokens)
+
+

Parameters

+

tokens IEnumerable<String>

+

Returns

+

IEnumerable<String>

+

TransformAsync(IAsyncEnumerable<String>)

+

Takes a stream of tokens and transforms them, returning a new stream of tokens asynchronously.

+
IAsyncEnumerable<string> TransformAsync(IAsyncEnumerable<string> tokens)
+
+

Parameters

+

tokens IAsyncEnumerable<String>

+

Returns

+

IAsyncEnumerable<String>

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.abstractions.itexttransform/index.html b/site/xmldocs/llama.abstractions.itexttransform/index.html new file mode 100644 index 00000000..0b8426b4 --- /dev/null +++ b/site/xmldocs/llama.abstractions.itexttransform/index.html @@ -0,0 +1,1688 @@ + + + + + + + + + + + + + + + + + + + + + + llama.abstractions.itexttransform - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ITextTransform

+

Namespace: LLama.Abstractions

+

An interface for text transformations. + These can be used to compose a pipeline of text transformations, such as: + - Tokenization + - Lowercasing + - Punctuation removal + - Trimming + - etc.

+
public interface ITextTransform
+
+

Methods

+

Transform(String)

+

Takes a string and transforms it.

+
string Transform(string text)
+
+

Parameters

+

text String

+

Returns

+

String

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.chatsession/index.html b/site/xmldocs/llama.chatsession/index.html new file mode 100644 index 00000000..0641af9d --- /dev/null +++ b/site/xmldocs/llama.chatsession/index.html @@ -0,0 +1,2485 @@ + + + + + + + + + + + + + + + + + + + + + + llama.chatsession - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatSession

+

Namespace: LLama

+

The main chat session class.

+
public class ChatSession
+
+

Inheritance ObjectChatSession

+

Fields

+

OutputTransform

+

The output transform used in this session.

+
public ITextStreamTransform OutputTransform;
+
+

Properties

+

Executor

+

The executor for this session.

+
public ILLamaExecutor Executor { get; }
+
+

Property Value

+

ILLamaExecutor

+

History

+

The chat history for this session.

+
public ChatHistory History { get; }
+
+

Property Value

+

ChatHistory

+

HistoryTransform

+

The history transform used in this session.

+
public IHistoryTransform HistoryTransform { get; set; }
+
+

Property Value

+

IHistoryTransform

+

InputTransformPipeline

+

The input transform pipeline used in this session.

+
public List<ITextTransform> InputTransformPipeline { get; set; }
+
+

Property Value

+

List<ITextTransform>

+

Constructors

+

ChatSession(ILLamaExecutor)

+
public ChatSession(ILLamaExecutor executor)
+
+

Parameters

+

executor ILLamaExecutor
+The executor for this session

+

Methods

+

WithHistoryTransform(IHistoryTransform)

+

Use a custom history transform.

+
public ChatSession WithHistoryTransform(IHistoryTransform transform)
+
+

Parameters

+

transform IHistoryTransform

+

Returns

+

ChatSession

+

AddInputTransform(ITextTransform)

+

Add a text transform to the input transform pipeline.

+
public ChatSession AddInputTransform(ITextTransform transform)
+
+

Parameters

+

transform ITextTransform

+

Returns

+

ChatSession

+

WithOutputTransform(ITextStreamTransform)

+

Use a custom output transform.

+
public ChatSession WithOutputTransform(ITextStreamTransform transform)
+
+

Parameters

+

transform ITextStreamTransform

+

Returns

+

ChatSession

+

SaveSession(String)

+
public void SaveSession(string path)
+
+

Parameters

+

path String
+The directory name to save the session. If the directory does not exist, a new directory will be created.

+

LoadSession(String)

+
public void LoadSession(string path)
+
+

Parameters

+

path String
+The directory name to load the session.

+

Chat(ChatHistory, InferenceParams, CancellationToken)

+

Get the response from the LLama model with chat histories.

+
public IEnumerable<string> Chat(ChatHistory history, InferenceParams inferenceParams, CancellationToken cancellationToken)
+
+

Parameters

+

history ChatHistory

+

inferenceParams InferenceParams

+

cancellationToken CancellationToken

+

Returns

+

IEnumerable<String>

+

Chat(String, InferenceParams, CancellationToken)

+

Get the response from the LLama model. Note that prompt could not only be the preset words, + but also the question you want to ask.

+
public IEnumerable<string> Chat(string prompt, InferenceParams inferenceParams, CancellationToken cancellationToken)
+
+

Parameters

+

prompt String

+

inferenceParams InferenceParams

+

cancellationToken CancellationToken

+

Returns

+

IEnumerable<String>

+

ChatAsync(ChatHistory, InferenceParams, CancellationToken)

+

Get the response from the LLama model with chat histories.

+
public IAsyncEnumerable<string> ChatAsync(ChatHistory history, InferenceParams inferenceParams, CancellationToken cancellationToken)
+
+

Parameters

+

history ChatHistory

+

inferenceParams InferenceParams

+

cancellationToken CancellationToken

+

Returns

+

IAsyncEnumerable<String>

+

ChatAsync(String, InferenceParams, CancellationToken)

+

Get the response from the LLama model with chat histories asynchronously.

+
public IAsyncEnumerable<string> ChatAsync(string prompt, InferenceParams inferenceParams, CancellationToken cancellationToken)
+
+

Parameters

+

prompt String

+

inferenceParams InferenceParams

+

cancellationToken CancellationToken

+

Returns

+

IAsyncEnumerable<String>

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.authorrole/index.html b/site/xmldocs/llama.common.authorrole/index.html new file mode 100644 index 00000000..2dfb46fd --- /dev/null +++ b/site/xmldocs/llama.common.authorrole/index.html @@ -0,0 +1,1625 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.authorrole - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.chathistory/index.html b/site/xmldocs/llama.common.chathistory/index.html new file mode 100644 index 00000000..524e1687 --- /dev/null +++ b/site/xmldocs/llama.common.chathistory/index.html @@ -0,0 +1,1788 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.chathistory - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatHistory

+

Namespace: LLama.Common

+

The chat history class

+
public class ChatHistory
+
+

Inheritance ObjectChatHistory

+

Properties

+

Messages

+

List of messages in the chat

+
public List<Message> Messages { get; }
+
+

Property Value

+

List<Message>

+

Constructors

+

ChatHistory()

+

Create a new instance of the chat content class

+
public ChatHistory()
+
+

Methods

+

AddMessage(AuthorRole, String)

+

Add a message to the chat history

+
public void AddMessage(AuthorRole authorRole, string content)
+
+

Parameters

+

authorRole AuthorRole
+Role of the message author

+

content String
+Message content

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.fixedsizequeue-1/index.html b/site/xmldocs/llama.common.fixedsizequeue-1/index.html new file mode 100644 index 00000000..b7174df3 --- /dev/null +++ b/site/xmldocs/llama.common.fixedsizequeue-1/index.html @@ -0,0 +1,2071 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.fixedsizequeue-1 - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

FixedSizeQueue<T>

+

Namespace: LLama.Common

+

A queue with fixed storage size. + Currently it's only a naive implementation and needs to be further optimized in the future.

+
public class FixedSizeQueue<T> : , System.Collections.IEnumerable
+
+

Type Parameters

+

T

+

Inheritance ObjectFixedSizeQueue<T>
+Implements IEnumerable<T>, IEnumerable

+

Properties

+

Count

+
public int Count { get; }
+
+

Property Value

+

Int32

+

Capacity

+
public int Capacity { get; }
+
+

Property Value

+

Int32

+

Constructors

+

FixedSizeQueue(Int32)

+
public FixedSizeQueue(int size)
+
+

Parameters

+

size Int32

+

FixedSizeQueue(Int32, IEnumerable<T>)

+
public FixedSizeQueue(int size, IEnumerable<T> data)
+
+

Parameters

+

size Int32

+

data IEnumerable<T>

+

Methods

+

FillWith(T)

+
public FixedSizeQueue<T> FillWith(T value)
+
+

Parameters

+

value T

+

Returns

+

FixedSizeQueue<T>

+

Enqueue(T)

+

Enquene an element.

+
public void Enqueue(T item)
+
+

Parameters

+

item T

+

ToArray()

+
public T[] ToArray()
+
+

Returns

+

T[]

+

GetEnumerator()

+
public IEnumerator<T> GetEnumerator()
+
+

Returns

+

IEnumerator<T>

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.illamalogger/index.html b/site/xmldocs/llama.common.illamalogger/index.html new file mode 100644 index 00000000..2bef61bd --- /dev/null +++ b/site/xmldocs/llama.common.illamalogger/index.html @@ -0,0 +1,1670 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.illamalogger - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ILLamaLogger

+

Namespace: LLama.Common

+
public interface ILLamaLogger
+
+

Methods

+

Log(String, String, LogLevel)

+

Write the log in cosutomized way

+
void Log(string source, string message, LogLevel level)
+
+

Parameters

+

source String
+The source of the log. It may be a method name or class name.

+

message String
+The message.

+

level LogLevel
+The log level.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.inferenceparams/index.html b/site/xmldocs/llama.common.inferenceparams/index.html new file mode 100644 index 00000000..ec2fc11a --- /dev/null +++ b/site/xmldocs/llama.common.inferenceparams/index.html @@ -0,0 +1,2589 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.inferenceparams - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

InferenceParams

+

Namespace: LLama.Common

+
public class InferenceParams
+
+

Inheritance ObjectInferenceParams

+

Properties

+

TokensKeep

+

number of tokens to keep from initial prompt

+
public int TokensKeep { get; set; }
+
+

Property Value

+

Int32

+

MaxTokens

+

how many new tokens to predict (n_predict), set to -1 to inifinitely generate response + until it complete.

+
public int MaxTokens { get; set; }
+
+

Property Value

+

Int32

+

LogitBias

+

logit bias for specific tokens

+
public Dictionary<int, float> LogitBias { get; set; }
+
+

Property Value

+

Dictionary<Int32, Single>

+

AntiPrompts

+

Sequences where the model will stop generating further tokens.

+
public IEnumerable<string> AntiPrompts { get; set; }
+
+

Property Value

+

IEnumerable<String>

+

PathSession

+

path to file for saving/loading model eval state

+
public string PathSession { get; set; }
+
+

Property Value

+

String

+

InputSuffix

+

string to suffix user inputs with

+
public string InputSuffix { get; set; }
+
+

Property Value

+

String

+

InputPrefix

+

string to prefix user inputs with

+
public string InputPrefix { get; set; }
+
+

Property Value

+

String

+

TopK

+

0 or lower to use vocab size

+
public int TopK { get; set; }
+
+

Property Value

+

Int32

+

TopP

+

1.0 = disabled

+
public float TopP { get; set; }
+
+

Property Value

+

Single

+

TfsZ

+

1.0 = disabled

+
public float TfsZ { get; set; }
+
+

Property Value

+

Single

+

TypicalP

+

1.0 = disabled

+
public float TypicalP { get; set; }
+
+

Property Value

+

Single

+

Temperature

+

1.0 = disabled

+
public float Temperature { get; set; }
+
+

Property Value

+

Single

+

RepeatPenalty

+

1.0 = disabled

+
public float RepeatPenalty { get; set; }
+
+

Property Value

+

Single

+

RepeatLastTokensCount

+

last n tokens to penalize (0 = disable penalty, -1 = context size) (repeat_last_n)

+
public int RepeatLastTokensCount { get; set; }
+
+

Property Value

+

Int32

+

FrequencyPenalty

+

frequency penalty coefficient + 0.0 = disabled

+
public float FrequencyPenalty { get; set; }
+
+

Property Value

+

Single

+

PresencePenalty

+

presence penalty coefficient + 0.0 = disabled

+
public float PresencePenalty { get; set; }
+
+

Property Value

+

Single

+

Mirostat

+

Mirostat uses tokens instead of words. + algorithm described in the paper https://arxiv.org/abs/2007.14966. + 0 = disabled, 1 = mirostat, 2 = mirostat 2.0

+
public MiroStateType Mirostat { get; set; }
+
+

Property Value

+

MiroStateType

+

MirostatTau

+

target entropy

+
public float MirostatTau { get; set; }
+
+

Property Value

+

Single

+

MirostatEta

+

learning rate

+
public float MirostatEta { get; set; }
+
+

Property Value

+

Single

+

PenalizeNL

+

consider newlines as a repeatable token (penalize_nl)

+
public bool PenalizeNL { get; set; }
+
+

Property Value

+

Boolean

+

Constructors

+

InferenceParams()

+
public InferenceParams()
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.llamadefaultlogger/index.html b/site/xmldocs/llama.common.llamadefaultlogger/index.html new file mode 100644 index 00000000..1dfb47c5 --- /dev/null +++ b/site/xmldocs/llama.common.llamadefaultlogger/index.html @@ -0,0 +1,2090 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.llamadefaultlogger - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaDefaultLogger

+

Namespace: LLama.Common

+

The default logger of LLamaSharp. On default it write to console. User methods of LLamaLogger.Default to change the behavior. + It's more recommended to inherit ILLamaLogger to cosutomize the behavior.

+
public sealed class LLamaDefaultLogger : ILLamaLogger
+
+

Inheritance ObjectLLamaDefaultLogger
+Implements ILLamaLogger

+

Properties

+

Default

+
public static LLamaDefaultLogger Default { get; }
+
+

Property Value

+

LLamaDefaultLogger

+

Methods

+

EnableConsole()

+
public LLamaDefaultLogger EnableConsole()
+
+

Returns

+

LLamaDefaultLogger

+

DisableConsole()

+
public LLamaDefaultLogger DisableConsole()
+
+

Returns

+

LLamaDefaultLogger

+

EnableFile(String, FileMode)

+
public LLamaDefaultLogger EnableFile(string filename, FileMode mode)
+
+

Parameters

+

filename String

+

mode FileMode

+

Returns

+

LLamaDefaultLogger

+

DisableFile(String)

+
public LLamaDefaultLogger DisableFile(string filename)
+
+

Parameters

+

filename String

+

Returns

+

LLamaDefaultLogger

+

Log(String, String, LogLevel)

+
public void Log(string source, string message, LogLevel level)
+
+

Parameters

+

source String

+

message String

+

level LogLevel

+

Info(String)

+
public void Info(string message)
+
+

Parameters

+

message String

+

Warn(String)

+
public void Warn(string message)
+
+

Parameters

+

message String

+

Error(String)

+
public void Error(string message)
+
+

Parameters

+

message String

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.mirostatetype/index.html b/site/xmldocs/llama.common.mirostatetype/index.html new file mode 100644 index 00000000..e8cc7c36 --- /dev/null +++ b/site/xmldocs/llama.common.mirostatetype/index.html @@ -0,0 +1,1625 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.mirostatetype - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.common.modelparams/index.html b/site/xmldocs/llama.common.modelparams/index.html new file mode 100644 index 00000000..b67bca6e --- /dev/null +++ b/site/xmldocs/llama.common.modelparams/index.html @@ -0,0 +1,2364 @@ + + + + + + + + + + + + + + + + + + + + + + llama.common.modelparams - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ModelParams

+

Namespace: LLama.Common

+
public class ModelParams
+
+

Inheritance ObjectModelParams

+

Properties

+

ContextSize

+

Model context size (n_ctx)

+
public int ContextSize { get; set; }
+
+

Property Value

+

Int32

+

GpuLayerCount

+

Number of layers to run in VRAM / GPU memory (n_gpu_layers)

+
public int GpuLayerCount { get; set; }
+
+

Property Value

+

Int32

+

Seed

+

Seed for the random number generator (seed)

+
public int Seed { get; set; }
+
+

Property Value

+

Int32

+

UseFp16Memory

+

Use f16 instead of f32 for memory kv (memory_f16)

+
public bool UseFp16Memory { get; set; }
+
+

Property Value

+

Boolean

+

UseMemorymap

+

Use mmap for faster loads (use_mmap)

+
public bool UseMemorymap { get; set; }
+
+

Property Value

+

Boolean

+

UseMemoryLock

+

Use mlock to keep model in memory (use_mlock)

+
public bool UseMemoryLock { get; set; }
+
+

Property Value

+

Boolean

+

Perplexity

+

Compute perplexity over the prompt (perplexity)

+
public bool Perplexity { get; set; }
+
+

Property Value

+

Boolean

+

ModelPath

+

Model path (model)

+
public string ModelPath { get; set; }
+
+

Property Value

+

String

+

LoraAdapter

+

lora adapter path (lora_adapter)

+
public string LoraAdapter { get; set; }
+
+

Property Value

+

String

+

LoraBase

+

base model path for the lora adapter (lora_base)

+
public string LoraBase { get; set; }
+
+

Property Value

+

String

+

Threads

+

Number of threads (-1 = autodetect) (n_threads)

+
public int Threads { get; set; }
+
+

Property Value

+

Int32

+

BatchSize

+

batch size for prompt processing (must be >=32 to use BLAS) (n_batch)

+
public int BatchSize { get; set; }
+
+

Property Value

+

Int32

+

ConvertEosToNewLine

+

Whether to convert eos to newline during the inference.

+
public bool ConvertEosToNewLine { get; set; }
+
+

Property Value

+

Boolean

+

EmbeddingMode

+

Whether to use embedding mode. (embedding) Note that if this is set to true, + The LLamaModel won't produce text response anymore.

+
public bool EmbeddingMode { get; set; }
+
+

Property Value

+

Boolean

+

Constructors

+

ModelParams(String, Int32, Int32, Int32, Boolean, Boolean, Boolean, Boolean, String, String, Int32, Int32, Boolean, Boolean)

+
public ModelParams(string modelPath, int contextSize, int gpuLayerCount, int seed, bool useFp16Memory, bool useMemorymap, bool useMemoryLock, bool perplexity, string loraAdapter, string loraBase, int threads, int batchSize, bool convertEosToNewLine, bool embeddingMode)
+
+

Parameters

+

modelPath String
+The model path.

+

contextSize Int32
+Model context size (n_ctx)

+

gpuLayerCount Int32
+Number of layers to run in VRAM / GPU memory (n_gpu_layers)

+

seed Int32
+Seed for the random number generator (seed)

+

useFp16Memory Boolean
+Whether to use f16 instead of f32 for memory kv (memory_f16)

+

useMemorymap Boolean
+Whether to use mmap for faster loads (use_mmap)

+

useMemoryLock Boolean
+Whether to use mlock to keep model in memory (use_mlock)

+

perplexity Boolean
+Thether to compute perplexity over the prompt (perplexity)

+

loraAdapter String
+Lora adapter path (lora_adapter)

+

loraBase String
+Base model path for the lora adapter (lora_base)

+

threads Int32
+Number of threads (-1 = autodetect) (n_threads)

+

batchSize Int32
+Batch size for prompt processing (must be >=32 to use BLAS) (n_batch)

+

convertEosToNewLine Boolean
+Whether to convert eos to newline during the inference.

+

embeddingMode Boolean
+Whether to use embedding mode. (embedding) Note that if this is set to true, The LLamaModel won't produce text response anymore.

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.exceptions.runtimeerror/index.html b/site/xmldocs/llama.exceptions.runtimeerror/index.html new file mode 100644 index 00000000..266f0401 --- /dev/null +++ b/site/xmldocs/llama.exceptions.runtimeerror/index.html @@ -0,0 +1,2070 @@ + + + + + + + + + + + + + + + + + + + + + + llama.exceptions.runtimeerror - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

RuntimeError

+

Namespace: LLama.Exceptions

+
public class RuntimeError : System.Exception, System.Runtime.Serialization.ISerializable
+
+

Inheritance ObjectExceptionRuntimeError
+Implements ISerializable

+

Properties

+

TargetSite

+
public MethodBase TargetSite { get; }
+
+

Property Value

+

MethodBase

+

Message

+
public string Message { get; }
+
+

Property Value

+

String

+

Data

+
public IDictionary Data { get; }
+
+

Property Value

+

IDictionary

+

InnerException

+
public Exception InnerException { get; }
+
+

Property Value

+

Exception

+ +
public string HelpLink { get; set; }
+
+

Property Value

+

String

+

Source

+
public string Source { get; set; }
+
+

Property Value

+

String

+

HResult

+
public int HResult { get; set; }
+
+

Property Value

+

Int32

+

StackTrace

+
public string StackTrace { get; }
+
+

Property Value

+

String

+

Constructors

+

RuntimeError()

+
public RuntimeError()
+
+

RuntimeError(String)

+
public RuntimeError(string message)
+
+

Parameters

+

message String

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.extensions.dictionaryextension/index.html b/site/xmldocs/llama.extensions.dictionaryextension/index.html new file mode 100644 index 00000000..e91c2bca --- /dev/null +++ b/site/xmldocs/llama.extensions.dictionaryextension/index.html @@ -0,0 +1,1827 @@ + + + + + + + + + + + + + + + + + + + + + + llama.extensions.dictionaryextension - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+ +
+
+ + + +
+
+ + + + +

DictionaryExtension

+

Namespace: LLama.Extensions

+
public static class DictionaryExtension
+
+

Inheritance ObjectDictionaryExtension

+

Methods

+

Deconstruct<T1, T2>(KeyValuePair<T1, T2>, T1&, T2&)

+
public static void Deconstruct<T1, T2>(KeyValuePair<T1, T2> pair, T1& first, T2& second)
+
+

Type Parameters

+

T1

+

T2

+

Parameters

+

pair KeyValuePair<T1, T2>

+

first T1&

+

second T2&

+

Update<T1, T2>(Dictionary<T1, T2>, IDictionary<T1, T2>)

+
public static void Update<T1, T2>(Dictionary<T1, T2> dic, IDictionary<T1, T2> other)
+
+

Type Parameters

+

T1

+

T2

+

Parameters

+

dic Dictionary<T1, T2>

+

other IDictionary<T1, T2>

+

GetOrDefault<T1, T2>(Dictionary<T1, T2>, T1, T2)

+
public static T2 GetOrDefault<T1, T2>(Dictionary<T1, T2> dic, T1 key, T2 defaultValue)
+
+

Type Parameters

+

T1

+

T2

+

Parameters

+

dic Dictionary<T1, T2>

+

key T1

+

defaultValue T2

+

Returns

+

T2

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.instructexecutor/index.html b/site/xmldocs/llama.instructexecutor/index.html new file mode 100644 index 00000000..970f52ef --- /dev/null +++ b/site/xmldocs/llama.instructexecutor/index.html @@ -0,0 +1,2165 @@ + + + + + + + + + + + + + + + + + + + + + + llama.instructexecutor - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

InstructExecutor

+

Namespace: LLama

+

The LLama executor for instruct mode.

+
public class InstructExecutor : StatefulExecutorBase, LLama.Abstractions.ILLamaExecutor
+
+

Inheritance ObjectStatefulExecutorBaseInstructExecutor
+Implements ILLamaExecutor

+

Properties

+

Model

+

The mode used by the executor.

+
public LLamaModel Model { get; }
+
+

Property Value

+

LLamaModel

+

Constructors

+

InstructExecutor(LLamaModel, String, String)

+
public InstructExecutor(LLamaModel model, string instructionPrefix, string instructionSuffix)
+
+

Parameters

+

model LLamaModel

+

instructionPrefix String

+

instructionSuffix String

+

Methods

+

GetStateData()

+
public ExecutorBaseState GetStateData()
+
+

Returns

+

ExecutorBaseState

+

LoadState(ExecutorBaseState)

+
public void LoadState(ExecutorBaseState data)
+
+

Parameters

+

data ExecutorBaseState

+

SaveState(String)

+
public void SaveState(string filename)
+
+

Parameters

+

filename String

+

LoadState(String)

+
public void LoadState(string filename)
+
+

Parameters

+

filename String

+

GetLoopCondition(InferStateArgs)

+
protected bool GetLoopCondition(InferStateArgs args)
+
+

Parameters

+

args InferStateArgs

+

Returns

+

Boolean

+

PreprocessInputs(String, InferStateArgs)

+
protected void PreprocessInputs(string text, InferStateArgs args)
+
+

Parameters

+

text String

+

args InferStateArgs

+

PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)

+
protected bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs)
+
+

Parameters

+

inferenceParams InferenceParams

+

args InferStateArgs

+

extraOutputs IEnumerable`1&

+

Returns

+

Boolean

+

InferInternal(InferenceParams, InferStateArgs)

+
protected void InferInternal(InferenceParams inferenceParams, InferStateArgs args)
+
+

Parameters

+

inferenceParams InferenceParams

+

args InferStateArgs

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.interactiveexecutor/index.html b/site/xmldocs/llama.interactiveexecutor/index.html new file mode 100644 index 00000000..2dd1c760 --- /dev/null +++ b/site/xmldocs/llama.interactiveexecutor/index.html @@ -0,0 +1,2165 @@ + + + + + + + + + + + + + + + + + + + + + + llama.interactiveexecutor - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

InteractiveExecutor

+

Namespace: LLama

+

The LLama executor for interactive mode.

+
public class InteractiveExecutor : StatefulExecutorBase, LLama.Abstractions.ILLamaExecutor
+
+

Inheritance ObjectStatefulExecutorBaseInteractiveExecutor
+Implements ILLamaExecutor

+

Properties

+

Model

+

The mode used by the executor.

+
public LLamaModel Model { get; }
+
+

Property Value

+

LLamaModel

+

Constructors

+

InteractiveExecutor(LLamaModel)

+
public InteractiveExecutor(LLamaModel model)
+
+

Parameters

+

model LLamaModel

+

Methods

+

GetStateData()

+
public ExecutorBaseState GetStateData()
+
+

Returns

+

ExecutorBaseState

+

LoadState(ExecutorBaseState)

+
public void LoadState(ExecutorBaseState data)
+
+

Parameters

+

data ExecutorBaseState

+

SaveState(String)

+
public void SaveState(string filename)
+
+

Parameters

+

filename String

+

LoadState(String)

+
public void LoadState(string filename)
+
+

Parameters

+

filename String

+

GetLoopCondition(InferStateArgs)

+

Define whether to continue the loop to generate responses.

+
protected bool GetLoopCondition(InferStateArgs args)
+
+

Parameters

+

args InferStateArgs

+

Returns

+

Boolean

+

PreprocessInputs(String, InferStateArgs)

+
protected void PreprocessInputs(string text, InferStateArgs args)
+
+

Parameters

+

text String

+

args InferStateArgs

+

PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)

+

Return whether to break the generation.

+
protected bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs)
+
+

Parameters

+

inferenceParams InferenceParams

+

args InferStateArgs

+

extraOutputs IEnumerable`1&

+

Returns

+

Boolean

+

InferInternal(InferenceParams, InferStateArgs)

+
protected void InferInternal(InferenceParams inferenceParams, InferStateArgs args)
+
+

Parameters

+

inferenceParams InferenceParams

+

args InferStateArgs

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.llamaembedder/index.html b/site/xmldocs/llama.llamaembedder/index.html new file mode 100644 index 00000000..68a1fb02 --- /dev/null +++ b/site/xmldocs/llama.llamaembedder/index.html @@ -0,0 +1,1794 @@ + + + + + + + + + + + + + + + + + + + + + + llama.llamaembedder - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaEmbedder

+

Namespace: LLama

+

The embedder for LLama, which supports getting embeddings from text.

+
public class LLamaEmbedder : System.IDisposable
+
+

Inheritance ObjectLLamaEmbedder
+Implements IDisposable

+

Constructors

+

LLamaEmbedder(ModelParams)

+
public LLamaEmbedder(ModelParams params)
+
+

Parameters

+

params ModelParams

+

Methods

+

GetEmbeddings(String, Int32, Boolean, String)

+

Get the embeddings of the text.

+
public Single[] GetEmbeddings(string text, int threads, bool addBos, string encoding)
+
+

Parameters

+

text String

+

threads Int32
+Threads used for inference.

+

addBos Boolean
+Add bos to the text.

+

encoding String

+

Returns

+

Single[]

+

Exceptions

+

RuntimeError

+

Dispose()

+
public void Dispose()
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.llamamodel/index.html b/site/xmldocs/llama.llamamodel/index.html new file mode 100644 index 00000000..f527a461 --- /dev/null +++ b/site/xmldocs/llama.llamamodel/index.html @@ -0,0 +1,2548 @@ + + + + + + + + + + + + + + + + + + + + + + llama.llamamodel - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaModel

+

Namespace: LLama

+

The abstraction of a LLama model, which holds the context in the native library.

+
public class LLamaModel : System.IDisposable
+
+

Inheritance ObjectLLamaModel
+Implements IDisposable

+

Properties

+

ContextSize

+

The context size.

+
public int ContextSize { get; }
+
+

Property Value

+

Int32

+

Params

+

The model params set for this model.

+
public ModelParams Params { get; set; }
+
+

Property Value

+

ModelParams

+

NativeHandle

+

The native handle, which is used to be passed to the native APIs. Please avoid using it + unless you know what is the usage of the Native API.

+
public SafeLLamaContextHandle NativeHandle { get; }
+
+

Property Value

+

SafeLLamaContextHandle

+

Encoding

+

The encoding set for this model to deal with text input.

+
public Encoding Encoding { get; }
+
+

Property Value

+

Encoding

+

Constructors

+

LLamaModel(ModelParams, String, ILLamaLogger)

+
public LLamaModel(ModelParams Params, string encoding, ILLamaLogger logger)
+
+

Parameters

+

Params ModelParams
+Model params.

+

encoding String
+Encoding to deal with text input.

+

logger ILLamaLogger
+The logger.

+

Methods

+

Tokenize(String, Boolean)

+

Tokenize a string.

+
public IEnumerable<int> Tokenize(string text, bool addBos)
+
+

Parameters

+

text String

+

addBos Boolean
+Whether to add a bos to the text.

+

Returns

+

IEnumerable<Int32>

+

DeTokenize(IEnumerable<Int32>)

+

Detokenize the tokens to text.

+
public string DeTokenize(IEnumerable<int> tokens)
+
+

Parameters

+

tokens IEnumerable<Int32>

+

Returns

+

String

+

SaveState(String)

+

Save the state to specified path.

+
public void SaveState(string filename)
+
+

Parameters

+

filename String

+

GetStateData()

+

Get the state data as a byte array.

+
public Byte[] GetStateData()
+
+

Returns

+

Byte[]

+

LoadState(String)

+

Load the state from specified path.

+
public void LoadState(string filename)
+
+

Parameters

+

filename String

+

Exceptions

+

RuntimeError

+

LoadState(Byte[])

+

Load the state from memory.

+
public void LoadState(Byte[] stateData)
+
+

Parameters

+

stateData Byte[]

+

Exceptions

+

RuntimeError

+

Sample(LLamaTokenDataArray, Single, MiroStateType, Single, Single, Int32, Single, Single, Single)

+

Perform the sampling. Please don't use it unless you fully know what it does.

+
public int Sample(LLamaTokenDataArray candidates, float temperature, MiroStateType mirostat, float mirostatTau, float mirostatEta, int topK, float topP, float tfsZ, float typicalP)
+
+

Parameters

+

candidates LLamaTokenDataArray

+

temperature Single

+

mirostat MiroStateType

+

mirostatTau Single

+

mirostatEta Single

+

topK Int32

+

topP Single

+

tfsZ Single

+

typicalP Single

+

Returns

+

Int32

+

ApplyPenalty(IEnumerable<Int32>, Dictionary<Int32, Single>, Int32, Single, Single, Single, Boolean)

+

Apply the penalty for the tokens. Please don't use it unless you fully know what it does.

+
public LLamaTokenDataArray ApplyPenalty(IEnumerable<int> lastTokens, Dictionary<int, float> logitBias, int repeatLastTokensCount, float repeatPenalty, float alphaFrequency, float alphaPresence, bool penalizeNL)
+
+

Parameters

+

lastTokens IEnumerable<Int32>

+

logitBias Dictionary<Int32, Single>

+

repeatLastTokensCount Int32

+

repeatPenalty Single

+

alphaFrequency Single

+

alphaPresence Single

+

penalizeNL Boolean

+

Returns

+

LLamaTokenDataArray

+

Eval(Int32[], Int32)

+
public int Eval(Int32[] tokens, int pastTokensCount)
+
+

Parameters

+

tokens Int32[]

+

pastTokensCount Int32

+

Returns

+

Int32
+The updated pastTokensCount.

+

Exceptions

+

RuntimeError

+

GenerateResult(IEnumerable<Int32>)

+
internal IEnumerable<string> GenerateResult(IEnumerable<int> ids)
+
+

Parameters

+

ids IEnumerable<Int32>

+

Returns

+

IEnumerable<String>

+

Dispose()

+
public void Dispose()
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.llamaquantizer/index.html b/site/xmldocs/llama.llamaquantizer/index.html new file mode 100644 index 00000000..f207d7d7 --- /dev/null +++ b/site/xmldocs/llama.llamaquantizer/index.html @@ -0,0 +1,1793 @@ + + + + + + + + + + + + + + + + + + + + + + llama.llamaquantizer - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaQuantizer

+

Namespace: LLama

+

The quantizer to quantize the model.

+
public static class LLamaQuantizer
+
+

Inheritance ObjectLLamaQuantizer

+

Methods

+

Quantize(String, String, LLamaFtype, Int32)

+

Quantize the model.

+
public static bool Quantize(string srcFileName, string dstFilename, LLamaFtype ftype, int nthread)
+
+

Parameters

+

srcFileName String
+The model file to be quantized.

+

dstFilename String
+The path to save the quantized model.

+

ftype LLamaFtype
+The type of quantization.

+

nthread Int32
+Thread to be used during the quantization. By default it's the physical core number.

+

Returns

+

Boolean
+Whether the quantization is successful.

+

Exceptions

+

ArgumentException

+

Quantize(String, String, String, Int32)

+

Quantize the model.

+
public static bool Quantize(string srcFileName, string dstFilename, string ftype, int nthread)
+
+

Parameters

+

srcFileName String
+The model file to be quantized.

+

dstFilename String
+The path to save the quantized model.

+

ftype String
+The type of quantization.

+

nthread Int32
+Thread to be used during the quantization. By default it's the physical core number.

+

Returns

+

Boolean
+Whether the quantization is successful.

+

Exceptions

+

ArgumentException

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.llamatransforms/index.html b/site/xmldocs/llama.llamatransforms/index.html new file mode 100644 index 00000000..2533de08 --- /dev/null +++ b/site/xmldocs/llama.llamatransforms/index.html @@ -0,0 +1,1638 @@ + + + + + + + + + + + + + + + + + + + + + + llama.llamatransforms - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaTransforms

+

Namespace: LLama

+

A class that contains all the transforms provided internally by LLama.

+
public class LLamaTransforms
+
+

Inheritance ObjectLLamaTransforms

+

Constructors

+

LLamaTransforms()

+
public LLamaTransforms()
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.llamacontextparams/index.html b/site/xmldocs/llama.native.llamacontextparams/index.html new file mode 100644 index 00000000..c7124dc7 --- /dev/null +++ b/site/xmldocs/llama.native.llamacontextparams/index.html @@ -0,0 +1,1818 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.llamacontextparams - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaContextParams

+

Namespace: LLama.Native

+
public struct LLamaContextParams
+
+

Inheritance ObjectValueTypeLLamaContextParams

+

Fields

+

n_ctx

+

text context

+
public int n_ctx;
+
+

n_gpu_layers

+

number of layers to store in VRAM

+
public int n_gpu_layers;
+
+

seed

+

RNG seed, -1 for random

+
public int seed;
+
+

f16_kv

+

use fp16 for KV cache

+
public bool f16_kv;
+
+

logits_all

+

the llama_eval() call computes all logits, not just the last one

+
public bool logits_all;
+
+

vocab_only

+

only load the vocabulary, no weights

+
public bool vocab_only;
+
+

use_mmap

+

use mmap if possible

+
public bool use_mmap;
+
+

use_mlock

+

force system to keep model in RAM

+
public bool use_mlock;
+
+

embedding

+

embedding mode only

+
public bool embedding;
+
+

progress_callback

+

called with a progress value between 0 and 1, pass NULL to disable

+
public IntPtr progress_callback;
+
+

progress_callback_user_data

+

context pointer passed to the progress callback

+
public IntPtr progress_callback_user_data;
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.llamaftype/index.html b/site/xmldocs/llama.native.llamaftype/index.html new file mode 100644 index 00000000..e15f0107 --- /dev/null +++ b/site/xmldocs/llama.native.llamaftype/index.html @@ -0,0 +1,1625 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.llamaftype - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.llamatokendata/index.html b/site/xmldocs/llama.native.llamatokendata/index.html new file mode 100644 index 00000000..d30bc20d --- /dev/null +++ b/site/xmldocs/llama.native.llamatokendata/index.html @@ -0,0 +1,1748 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.llamatokendata - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaTokenData

+

Namespace: LLama.Native

+
public struct LLamaTokenData
+
+

Inheritance ObjectValueTypeLLamaTokenData

+

Fields

+

id

+

token id

+
public int id;
+
+

logit

+

log-odds of the token

+
public float logit;
+
+

p

+

probability of the token

+
public float p;
+
+

Constructors

+

LLamaTokenData(Int32, Single, Single)

+
LLamaTokenData(int id, float logit, float p)
+
+

Parameters

+

id Int32

+

logit Single

+

p Single

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.llamatokendataarray/index.html b/site/xmldocs/llama.native.llamatokendataarray/index.html new file mode 100644 index 00000000..8b2ecb7e --- /dev/null +++ b/site/xmldocs/llama.native.llamatokendataarray/index.html @@ -0,0 +1,1745 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.llamatokendataarray - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaTokenDataArray

+

Namespace: LLama.Native

+
public struct LLamaTokenDataArray
+
+

Inheritance ObjectValueTypeLLamaTokenDataArray

+

Fields

+

data

+
public Memory<LLamaTokenData> data;
+
+

size

+
public ulong size;
+
+

sorted

+
public bool sorted;
+
+

Constructors

+

LLamaTokenDataArray(LLamaTokenData[], UInt64, Boolean)

+
LLamaTokenDataArray(LLamaTokenData[] data, ulong size, bool sorted)
+
+

Parameters

+

data LLamaTokenData[]

+

size UInt64

+

sorted Boolean

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.llamatokendataarraynative/index.html b/site/xmldocs/llama.native.llamatokendataarraynative/index.html new file mode 100644 index 00000000..2e3140da --- /dev/null +++ b/site/xmldocs/llama.native.llamatokendataarraynative/index.html @@ -0,0 +1,1671 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.llamatokendataarraynative - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaTokenDataArrayNative

+

Namespace: LLama.Native

+
public struct LLamaTokenDataArrayNative
+
+

Inheritance ObjectValueTypeLLamaTokenDataArrayNative

+

Fields

+

data

+
public IntPtr data;
+
+

size

+
public ulong size;
+
+

sorted

+
public bool sorted;
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.nativeapi/index.html b/site/xmldocs/llama.native.nativeapi/index.html new file mode 100644 index 00000000..6f7bcc3c --- /dev/null +++ b/site/xmldocs/llama.native.nativeapi/index.html @@ -0,0 +1,4125 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.nativeapi - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

NativeApi

+

Namespace: LLama.Native

+
public class NativeApi
+
+

Inheritance ObjectNativeApi

+

Constructors

+

NativeApi()

+
public NativeApi()
+
+

Methods

+

llama_print_timings(SafeLLamaContextHandle)

+
public static void llama_print_timings(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

llama_reset_timings(SafeLLamaContextHandle)

+
public static void llama_reset_timings(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

llama_print_system_info()

+

Print system information

+
public static IntPtr llama_print_system_info()
+
+

Returns

+

IntPtr

+

llama_model_quantize(String, String, LLamaFtype, Int32)

+
public static int llama_model_quantize(string fname_inp, string fname_out, LLamaFtype ftype, int nthread)
+
+

Parameters

+

fname_inp String

+

fname_out String

+

ftype LLamaFtype

+

nthread Int32

+

Returns

+

Int32

+

llama_sample_repetition_penalty(SafeLLamaContextHandle, IntPtr, Int32[], UInt64, Single)

+

Repetition penalty described in CTRL academic paper https://arxiv.org/abs/1909.05858, with negative logit fix.

+
public static void llama_sample_repetition_penalty(SafeLLamaContextHandle ctx, IntPtr candidates, Int32[] last_tokens, ulong last_tokens_size, float penalty)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

last_tokens Int32[]

+

last_tokens_size UInt64

+

penalty Single

+

llama_sample_frequency_and_presence_penalties(SafeLLamaContextHandle, IntPtr, Int32[], UInt64, Single, Single)

+

Frequency and presence penalties described in OpenAI API https://platform.openai.com/docs/api-reference/parameter-details.

+
public static void llama_sample_frequency_and_presence_penalties(SafeLLamaContextHandle ctx, IntPtr candidates, Int32[] last_tokens, ulong last_tokens_size, float alpha_frequency, float alpha_presence)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

last_tokens Int32[]

+

last_tokens_size UInt64

+

alpha_frequency Single

+

alpha_presence Single

+

llama_sample_softmax(SafeLLamaContextHandle, IntPtr)

+

Sorts candidate tokens by their logits in descending order and calculate probabilities based on logits.

+
public static void llama_sample_softmax(SafeLLamaContextHandle ctx, IntPtr candidates)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

llama_sample_top_k(SafeLLamaContextHandle, IntPtr, Int32, UInt64)

+

Top-K sampling described in academic paper "The Curious Case of Neural Text Degeneration" https://arxiv.org/abs/1904.09751

+
public static void llama_sample_top_k(SafeLLamaContextHandle ctx, IntPtr candidates, int k, ulong min_keep)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

k Int32

+

min_keep UInt64

+

llama_sample_top_p(SafeLLamaContextHandle, IntPtr, Single, UInt64)

+

Nucleus sampling described in academic paper "The Curious Case of Neural Text Degeneration" https://arxiv.org/abs/1904.09751

+
public static void llama_sample_top_p(SafeLLamaContextHandle ctx, IntPtr candidates, float p, ulong min_keep)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

p Single

+

min_keep UInt64

+

llama_sample_tail_free(SafeLLamaContextHandle, IntPtr, Single, UInt64)

+

Tail Free Sampling described in https://www.trentonbricken.com/Tail-Free-Sampling/.

+
public static void llama_sample_tail_free(SafeLLamaContextHandle ctx, IntPtr candidates, float z, ulong min_keep)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

z Single

+

min_keep UInt64

+

llama_sample_typical(SafeLLamaContextHandle, IntPtr, Single, UInt64)

+

Locally Typical Sampling implementation described in the paper https://arxiv.org/abs/2202.00666.

+
public static void llama_sample_typical(SafeLLamaContextHandle ctx, IntPtr candidates, float p, ulong min_keep)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

p Single

+

min_keep UInt64

+

llama_sample_temperature(SafeLLamaContextHandle, IntPtr, Single)

+
public static void llama_sample_temperature(SafeLLamaContextHandle ctx, IntPtr candidates, float temp)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr

+

temp Single

+

llama_sample_token_mirostat(SafeLLamaContextHandle, IntPtr, Single, Single, Int32, Single*)

+

Mirostat 1.0 algorithm described in the paper https://arxiv.org/abs/2007.14966. Uses tokens instead of words.

+
public static int llama_sample_token_mirostat(SafeLLamaContextHandle ctx, IntPtr candidates, float tau, float eta, int m, Single* mu)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+A vector of llama_token_data containing the candidate tokens, their probabilities (p), and log-odds (logit) for the current position in the generated text.

+

tau Single
+The target cross-entropy (or surprise) value you want to achieve for the generated text. A higher value corresponds to more surprising or less predictable text, while a lower value corresponds to less surprising or more predictable text.

+

eta Single
+The learning rate used to update mu based on the error between the target and observed surprisal of the sampled word. A larger learning rate will cause mu to be updated more quickly, while a smaller learning rate will result in slower updates.

+

m Int32
+The number of tokens considered in the estimation of s_hat. This is an arbitrary value that is used to calculate s_hat, which in turn helps to calculate the value of k. In the paper, they use m = 100, but you can experiment with different values to see how it affects the performance of the algorithm.

+

mu Single*
+Maximum cross-entropy. This value is initialized to be twice the target cross-entropy (2 * tau) and is updated in the algorithm based on the error between the target and observed surprisal.

+

Returns

+

Int32

+

llama_sample_token_mirostat_v2(SafeLLamaContextHandle, IntPtr, Single, Single, Single*)

+

Mirostat 2.0 algorithm described in the paper https://arxiv.org/abs/2007.14966. Uses tokens instead of words.

+
public static int llama_sample_token_mirostat_v2(SafeLLamaContextHandle ctx, IntPtr candidates, float tau, float eta, Single* mu)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+A vector of llama_token_data containing the candidate tokens, their probabilities (p), and log-odds (logit) for the current position in the generated text.

+

tau Single
+The target cross-entropy (or surprise) value you want to achieve for the generated text. A higher value corresponds to more surprising or less predictable text, while a lower value corresponds to less surprising or more predictable text.

+

eta Single
+The learning rate used to update mu based on the error between the target and observed surprisal of the sampled word. A larger learning rate will cause mu to be updated more quickly, while a smaller learning rate will result in slower updates.

+

mu Single*
+Maximum cross-entropy. This value is initialized to be twice the target cross-entropy (2 * tau) and is updated in the algorithm based on the error between the target and observed surprisal.

+

Returns

+

Int32

+

llama_sample_token_greedy(SafeLLamaContextHandle, IntPtr)

+

Selects the token with the highest probability.

+
public static int llama_sample_token_greedy(SafeLLamaContextHandle ctx, IntPtr candidates)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

Returns

+

Int32

+

llama_sample_token(SafeLLamaContextHandle, IntPtr)

+

Randomly selects a token from the candidates based on their probabilities.

+
public static int llama_sample_token(SafeLLamaContextHandle ctx, IntPtr candidates)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

candidates IntPtr
+Pointer to LLamaTokenDataArray

+

Returns

+

Int32

+

llama_empty_call()

+
public static bool llama_empty_call()
+
+

Returns

+

Boolean

+

llama_context_default_params()

+
public static LLamaContextParams llama_context_default_params()
+
+

Returns

+

LLamaContextParams

+

llama_mmap_supported()

+
public static bool llama_mmap_supported()
+
+

Returns

+

Boolean

+

llama_mlock_supported()

+
public static bool llama_mlock_supported()
+
+

Returns

+

Boolean

+

llama_init_from_file(String, LLamaContextParams)

+

Various functions for loading a ggml llama model. + Allocate (almost) all memory needed for the model. + Return NULL on failure

+
public static IntPtr llama_init_from_file(string path_model, LLamaContextParams params_)
+
+

Parameters

+

path_model String

+

params_ LLamaContextParams

+

Returns

+

IntPtr

+

llama_init_backend()

+

not great API - very likely to change. + Initialize the llama + ggml backend + Call once at the start of the program

+
public static void llama_init_backend()
+
+

llama_free(IntPtr)

+

Frees all allocated memory

+
public static void llama_free(IntPtr ctx)
+
+

Parameters

+

ctx IntPtr

+

llama_apply_lora_from_file(SafeLLamaContextHandle, String, String, Int32)

+

Apply a LoRA adapter to a loaded model + path_base_model is the path to a higher quality model to use as a base for + the layers modified by the adapter. Can be NULL to use the current loaded model. + The model needs to be reloaded before applying a new adapter, otherwise the adapter + will be applied on top of the previous one

+
public static int llama_apply_lora_from_file(SafeLLamaContextHandle ctx, string path_lora, string path_base_model, int n_threads)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

path_lora String

+

path_base_model String

+

n_threads Int32

+

Returns

+

Int32
+Returns 0 on success

+

llama_get_kv_cache_token_count(SafeLLamaContextHandle)

+

Returns the number of tokens in the KV cache

+
public static int llama_get_kv_cache_token_count(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

Returns

+

Int32

+

llama_set_rng_seed(SafeLLamaContextHandle, Int32)

+

Sets the current rng seed.

+
public static void llama_set_rng_seed(SafeLLamaContextHandle ctx, int seed)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

seed Int32

+

llama_get_state_size(SafeLLamaContextHandle)

+

Returns the maximum size in bytes of the state (rng, logits, embedding + and kv_cache) - will often be smaller after compacting tokens

+
public static ulong llama_get_state_size(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

Returns

+

UInt64

+

llama_copy_state_data(SafeLLamaContextHandle, Byte[])

+

Copies the state to the specified destination address. + Destination needs to have allocated enough memory. + Returns the number of bytes copied

+
public static ulong llama_copy_state_data(SafeLLamaContextHandle ctx, Byte[] dest)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

dest Byte[]

+

Returns

+

UInt64

+

llama_set_state_data(SafeLLamaContextHandle, Byte[])

+

Set the state reading from the specified address + Returns the number of bytes read

+
public static ulong llama_set_state_data(SafeLLamaContextHandle ctx, Byte[] src)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

src Byte[]

+

Returns

+

UInt64

+

llama_load_session_file(SafeLLamaContextHandle, String, Int32[], UInt64, UInt64*)

+

Load session file

+
public static bool llama_load_session_file(SafeLLamaContextHandle ctx, string path_session, Int32[] tokens_out, ulong n_token_capacity, UInt64* n_token_count_out)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

path_session String

+

tokens_out Int32[]

+

n_token_capacity UInt64

+

n_token_count_out UInt64*

+

Returns

+

Boolean

+

llama_save_session_file(SafeLLamaContextHandle, String, Int32[], UInt64)

+

Save session file

+
public static bool llama_save_session_file(SafeLLamaContextHandle ctx, string path_session, Int32[] tokens, ulong n_token_count)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

path_session String

+

tokens Int32[]

+

n_token_count UInt64

+

Returns

+

Boolean

+

llama_eval(SafeLLamaContextHandle, Int32[], Int32, Int32, Int32)

+

Run the llama inference to obtain the logits and probabilities for the next token. + tokens + n_tokens is the provided batch of new tokens to process + n_past is the number of tokens to use from previous eval calls

+
public static int llama_eval(SafeLLamaContextHandle ctx, Int32[] tokens, int n_tokens, int n_past, int n_threads)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

tokens Int32[]

+

n_tokens Int32

+

n_past Int32

+

n_threads Int32

+

Returns

+

Int32
+Returns 0 on success

+

llama_eval_with_pointer(SafeLLamaContextHandle, Int32*, Int32, Int32, Int32)

+
public static int llama_eval_with_pointer(SafeLLamaContextHandle ctx, Int32* tokens, int n_tokens, int n_past, int n_threads)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

tokens Int32*

+

n_tokens Int32

+

n_past Int32

+

n_threads Int32

+

Returns

+

Int32

+

llama_tokenize(SafeLLamaContextHandle, String, Encoding, Int32[], Int32, Boolean)

+

Convert the provided text into tokens. + The tokens pointer must be large enough to hold the resulting tokens. + Returns the number of tokens on success, no more than n_max_tokens + Returns a negative number on failure - the number of tokens that would have been returned

+
public static int llama_tokenize(SafeLLamaContextHandle ctx, string text, Encoding encoding, Int32[] tokens, int n_max_tokens, bool add_bos)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

text String

+

encoding Encoding

+

tokens Int32[]

+

n_max_tokens Int32

+

add_bos Boolean

+

Returns

+

Int32

+

llama_tokenize_native(SafeLLamaContextHandle, SByte[], Int32[], Int32, Boolean)

+
public static int llama_tokenize_native(SafeLLamaContextHandle ctx, SByte[] text, Int32[] tokens, int n_max_tokens, bool add_bos)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

text SByte[]

+

tokens Int32[]

+

n_max_tokens Int32

+

add_bos Boolean

+

Returns

+

Int32

+

llama_n_vocab(SafeLLamaContextHandle)

+
public static int llama_n_vocab(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

Returns

+

Int32

+

llama_n_ctx(SafeLLamaContextHandle)

+
public static int llama_n_ctx(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

Returns

+

Int32

+

llama_n_embd(SafeLLamaContextHandle)

+
public static int llama_n_embd(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

Returns

+

Int32

+

llama_get_logits(SafeLLamaContextHandle)

+

Token logits obtained from the last call to llama_eval() + The logits for the last token are stored in the last row + Can be mutated in order to change the probabilities of the next token + Rows: n_tokens + Cols: n_vocab

+
public static Single* llama_get_logits(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

Returns

+

Single*

+

llama_get_embeddings(SafeLLamaContextHandle)

+

Get the embeddings for the input + shape: [n_embd] (1-dimensional)

+
public static Single* llama_get_embeddings(SafeLLamaContextHandle ctx)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

Returns

+

Single*

+

llama_token_to_str(SafeLLamaContextHandle, Int32)

+

Token Id -> String. Uses the vocabulary in the provided context

+
public static IntPtr llama_token_to_str(SafeLLamaContextHandle ctx, int token)
+
+

Parameters

+

ctx SafeLLamaContextHandle

+

token Int32

+

Returns

+

IntPtr
+Pointer to a string.

+

llama_token_bos()

+
public static int llama_token_bos()
+
+

Returns

+

Int32

+

llama_token_eos()

+
public static int llama_token_eos()
+
+

Returns

+

Int32

+

llama_token_nl()

+
public static int llama_token_nl()
+
+

Returns

+

Int32

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.safellamacontexthandle/index.html b/site/xmldocs/llama.native.safellamacontexthandle/index.html new file mode 100644 index 00000000..19a6f6f8 --- /dev/null +++ b/site/xmldocs/llama.native.safellamacontexthandle/index.html @@ -0,0 +1,1855 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.safellamacontexthandle - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

SafeLLamaContextHandle

+

Namespace: LLama.Native

+
public class SafeLLamaContextHandle : SafeLLamaHandleBase, System.IDisposable
+
+

Inheritance ObjectCriticalFinalizerObjectSafeHandleSafeLLamaHandleBaseSafeLLamaContextHandle
+Implements IDisposable

+

Properties

+

IsInvalid

+
public bool IsInvalid { get; }
+
+

Property Value

+

Boolean

+

IsClosed

+
public bool IsClosed { get; }
+
+

Property Value

+

Boolean

+

Constructors

+

SafeLLamaContextHandle(IntPtr)

+
public SafeLLamaContextHandle(IntPtr handle)
+
+

Parameters

+

handle IntPtr

+

Methods

+

ReleaseHandle()

+
protected bool ReleaseHandle()
+
+

Returns

+

Boolean

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.native.safellamahandlebase/index.html b/site/xmldocs/llama.native.safellamahandlebase/index.html new file mode 100644 index 00000000..ecedee4b --- /dev/null +++ b/site/xmldocs/llama.native.safellamahandlebase/index.html @@ -0,0 +1,1783 @@ + + + + + + + + + + + + + + + + + + + + + + llama.native.safellamahandlebase - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

SafeLLamaHandleBase

+

Namespace: LLama.Native

+
public abstract class SafeLLamaHandleBase : System.Runtime.InteropServices.SafeHandle, System.IDisposable
+
+

Inheritance ObjectCriticalFinalizerObjectSafeHandleSafeLLamaHandleBase
+Implements IDisposable

+

Properties

+

IsInvalid

+
public bool IsInvalid { get; }
+
+

Property Value

+

Boolean

+

IsClosed

+
public bool IsClosed { get; }
+
+

Property Value

+

Boolean

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatcompletion/index.html b/site/xmldocs/llama.oldversion.chatcompletion/index.html new file mode 100644 index 00000000..26469fb0 --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatcompletion/index.html @@ -0,0 +1,2363 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatcompletion - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatCompletion

+

Namespace: LLama.OldVersion

+
public class ChatCompletion : System.IEquatable`1[[LLama.OldVersion.ChatCompletion, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectChatCompletion
+Implements IEquatable<ChatCompletion>

+

Properties

+

Id

+
public string Id { get; set; }
+
+

Property Value

+

String

+

Object

+
public string Object { get; set; }
+
+

Property Value

+

String

+

Created

+
public int Created { get; set; }
+
+

Property Value

+

Int32

+

Model

+
public string Model { get; set; }
+
+

Property Value

+

String

+

Choices

+
public ChatCompletionChoice[] Choices { get; set; }
+
+

Property Value

+

ChatCompletionChoice[]

+

Usage

+
public CompletionUsage Usage { get; set; }
+
+

Property Value

+

CompletionUsage

+

Constructors

+

ChatCompletion(String, String, Int32, String, ChatCompletionChoice[], CompletionUsage)

+
public ChatCompletion(string Id, string Object, int Created, string Model, ChatCompletionChoice[] Choices, CompletionUsage Usage)
+
+

Parameters

+

Id String

+

Object String

+

Created Int32

+

Model String

+

Choices ChatCompletionChoice[]

+

Usage CompletionUsage

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(ChatCompletion)

+
public bool Equals(ChatCompletion other)
+
+

Parameters

+

other ChatCompletion

+

Returns

+

Boolean

+

<Clone>$()

+
public ChatCompletion <Clone>$()
+
+

Returns

+

ChatCompletion

+

Deconstruct(String&, String&, Int32&, String&, ChatCompletionChoice[]&, CompletionUsage&)

+
public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, ChatCompletionChoice[]& Choices, CompletionUsage& Usage)
+
+

Parameters

+

Id String&

+

Object String&

+

Created Int32&

+

Model String&

+

Choices ChatCompletionChoice[]&

+

Usage CompletionUsage&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatcompletionchoice/index.html b/site/xmldocs/llama.oldversion.chatcompletionchoice/index.html new file mode 100644 index 00000000..b97e9222 --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatcompletionchoice/index.html @@ -0,0 +1,2222 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatcompletionchoice - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatCompletionChoice

+

Namespace: LLama.OldVersion

+
public class ChatCompletionChoice : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectChatCompletionChoice
+Implements IEquatable<ChatCompletionChoice>

+

Properties

+

Index

+
public int Index { get; set; }
+
+

Property Value

+

Int32

+

Message

+
public ChatCompletionMessage Message { get; set; }
+
+

Property Value

+

ChatCompletionMessage

+

FinishReason

+
public string FinishReason { get; set; }
+
+

Property Value

+

String

+

Constructors

+

ChatCompletionChoice(Int32, ChatCompletionMessage, String)

+
public ChatCompletionChoice(int Index, ChatCompletionMessage Message, string FinishReason)
+
+

Parameters

+

Index Int32

+

Message ChatCompletionMessage

+

FinishReason String

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(ChatCompletionChoice)

+
public bool Equals(ChatCompletionChoice other)
+
+

Parameters

+

other ChatCompletionChoice

+

Returns

+

Boolean

+

<Clone>$()

+
public ChatCompletionChoice <Clone>$()
+
+

Returns

+

ChatCompletionChoice

+

Deconstruct(Int32&, ChatCompletionMessage&, String&)

+
public void Deconstruct(Int32& Index, ChatCompletionMessage& Message, String& FinishReason)
+
+

Parameters

+

Index Int32&

+

Message ChatCompletionMessage&

+

FinishReason String&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatcompletionchunk/index.html b/site/xmldocs/llama.oldversion.chatcompletionchunk/index.html new file mode 100644 index 00000000..82b4ecce --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatcompletionchunk/index.html @@ -0,0 +1,2316 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatcompletionchunk - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatCompletionChunk

+

Namespace: LLama.OldVersion

+
public class ChatCompletionChunk : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunk, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectChatCompletionChunk
+Implements IEquatable<ChatCompletionChunk>

+

Properties

+

Id

+
public string Id { get; set; }
+
+

Property Value

+

String

+

Model

+
public string Model { get; set; }
+
+

Property Value

+

String

+

Object

+
public string Object { get; set; }
+
+

Property Value

+

String

+

Created

+
public int Created { get; set; }
+
+

Property Value

+

Int32

+

Choices

+
public ChatCompletionChunkChoice[] Choices { get; set; }
+
+

Property Value

+

ChatCompletionChunkChoice[]

+

Constructors

+

ChatCompletionChunk(String, String, String, Int32, ChatCompletionChunkChoice[])

+
public ChatCompletionChunk(string Id, string Model, string Object, int Created, ChatCompletionChunkChoice[] Choices)
+
+

Parameters

+

Id String

+

Model String

+

Object String

+

Created Int32

+

Choices ChatCompletionChunkChoice[]

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(ChatCompletionChunk)

+
public bool Equals(ChatCompletionChunk other)
+
+

Parameters

+

other ChatCompletionChunk

+

Returns

+

Boolean

+

<Clone>$()

+
public ChatCompletionChunk <Clone>$()
+
+

Returns

+

ChatCompletionChunk

+

Deconstruct(String&, String&, String&, Int32&, ChatCompletionChunkChoice[]&)

+
public void Deconstruct(String& Id, String& Model, String& Object, Int32& Created, ChatCompletionChunkChoice[]& Choices)
+
+

Parameters

+

Id String&

+

Model String&

+

Object String&

+

Created Int32&

+

Choices ChatCompletionChunkChoice[]&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatcompletionchunkchoice/index.html b/site/xmldocs/llama.oldversion.chatcompletionchunkchoice/index.html new file mode 100644 index 00000000..8bd90302 --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatcompletionchunkchoice/index.html @@ -0,0 +1,2222 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatcompletionchunkchoice - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatCompletionChunkChoice

+

Namespace: LLama.OldVersion

+
public class ChatCompletionChunkChoice : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunkChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectChatCompletionChunkChoice
+Implements IEquatable<ChatCompletionChunkChoice>

+

Properties

+

Index

+
public int Index { get; set; }
+
+

Property Value

+

Int32

+

Delta

+
public ChatCompletionChunkDelta Delta { get; set; }
+
+

Property Value

+

ChatCompletionChunkDelta

+

FinishReason

+
public string FinishReason { get; set; }
+
+

Property Value

+

String

+

Constructors

+

ChatCompletionChunkChoice(Int32, ChatCompletionChunkDelta, String)

+
public ChatCompletionChunkChoice(int Index, ChatCompletionChunkDelta Delta, string FinishReason)
+
+

Parameters

+

Index Int32

+

Delta ChatCompletionChunkDelta

+

FinishReason String

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(ChatCompletionChunkChoice)

+
public bool Equals(ChatCompletionChunkChoice other)
+
+

Parameters

+

other ChatCompletionChunkChoice

+

Returns

+

Boolean

+

<Clone>$()

+
public ChatCompletionChunkChoice <Clone>$()
+
+

Returns

+

ChatCompletionChunkChoice

+

Deconstruct(Int32&, ChatCompletionChunkDelta&, String&)

+
public void Deconstruct(Int32& Index, ChatCompletionChunkDelta& Delta, String& FinishReason)
+
+

Parameters

+

Index Int32&

+

Delta ChatCompletionChunkDelta&

+

FinishReason String&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatcompletionchunkdelta/index.html b/site/xmldocs/llama.oldversion.chatcompletionchunkdelta/index.html new file mode 100644 index 00000000..54534ae1 --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatcompletionchunkdelta/index.html @@ -0,0 +1,2175 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatcompletionchunkdelta - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatCompletionChunkDelta

+

Namespace: LLama.OldVersion

+
public class ChatCompletionChunkDelta : System.IEquatable`1[[LLama.OldVersion.ChatCompletionChunkDelta, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectChatCompletionChunkDelta
+Implements IEquatable<ChatCompletionChunkDelta>

+

Properties

+

Role

+
public string Role { get; set; }
+
+

Property Value

+

String

+

Content

+
public string Content { get; set; }
+
+

Property Value

+

String

+

Constructors

+

ChatCompletionChunkDelta(String, String)

+
public ChatCompletionChunkDelta(string Role, string Content)
+
+

Parameters

+

Role String

+

Content String

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(ChatCompletionChunkDelta)

+
public bool Equals(ChatCompletionChunkDelta other)
+
+

Parameters

+

other ChatCompletionChunkDelta

+

Returns

+

Boolean

+

<Clone>$()

+
public ChatCompletionChunkDelta <Clone>$()
+
+

Returns

+

ChatCompletionChunkDelta

+

Deconstruct(String&, String&)

+
public void Deconstruct(String& Role, String& Content)
+
+

Parameters

+

Role String&

+

Content String&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatcompletionmessage/index.html b/site/xmldocs/llama.oldversion.chatcompletionmessage/index.html new file mode 100644 index 00000000..6c27041a --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatcompletionmessage/index.html @@ -0,0 +1,2222 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatcompletionmessage - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatCompletionMessage

+

Namespace: LLama.OldVersion

+
public class ChatCompletionMessage : System.IEquatable`1[[LLama.OldVersion.ChatCompletionMessage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectChatCompletionMessage
+Implements IEquatable<ChatCompletionMessage>

+

Properties

+

Role

+
public ChatRole Role { get; set; }
+
+

Property Value

+

ChatRole

+

Content

+
public string Content { get; set; }
+
+

Property Value

+

String

+

Name

+
public string Name { get; set; }
+
+

Property Value

+

String

+

Constructors

+

ChatCompletionMessage(ChatRole, String, String)

+
public ChatCompletionMessage(ChatRole Role, string Content, string Name)
+
+

Parameters

+

Role ChatRole

+

Content String

+

Name String

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(ChatCompletionMessage)

+
public bool Equals(ChatCompletionMessage other)
+
+

Parameters

+

other ChatCompletionMessage

+

Returns

+

Boolean

+

<Clone>$()

+
public ChatCompletionMessage <Clone>$()
+
+

Returns

+

ChatCompletionMessage

+

Deconstruct(ChatRole&, String&, String&)

+
public void Deconstruct(ChatRole& Role, String& Content, String& Name)
+
+

Parameters

+

Role ChatRole&

+

Content String&

+

Name String&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatmessagerecord/index.html b/site/xmldocs/llama.oldversion.chatmessagerecord/index.html new file mode 100644 index 00000000..3ad94fc1 --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatmessagerecord/index.html @@ -0,0 +1,2175 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatmessagerecord - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatMessageRecord

+

Namespace: LLama.OldVersion

+
public class ChatMessageRecord : System.IEquatable`1[[LLama.OldVersion.ChatMessageRecord, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectChatMessageRecord
+Implements IEquatable<ChatMessageRecord>

+

Properties

+

Message

+
public ChatCompletionMessage Message { get; set; }
+
+

Property Value

+

ChatCompletionMessage

+

Time

+
public DateTime Time { get; set; }
+
+

Property Value

+

DateTime

+

Constructors

+

ChatMessageRecord(ChatCompletionMessage, DateTime)

+
public ChatMessageRecord(ChatCompletionMessage Message, DateTime Time)
+
+

Parameters

+

Message ChatCompletionMessage

+

Time DateTime

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(ChatMessageRecord)

+
public bool Equals(ChatMessageRecord other)
+
+

Parameters

+

other ChatMessageRecord

+

Returns

+

Boolean

+

<Clone>$()

+
public ChatMessageRecord <Clone>$()
+
+

Returns

+

ChatMessageRecord

+

Deconstruct(ChatCompletionMessage&, DateTime&)

+
public void Deconstruct(ChatCompletionMessage& Message, DateTime& Time)
+
+

Parameters

+

Message ChatCompletionMessage&

+

Time DateTime&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatrole/index.html b/site/xmldocs/llama.oldversion.chatrole/index.html new file mode 100644 index 00000000..3adc3d6e --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatrole/index.html @@ -0,0 +1,1625 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatrole - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.chatsession-1/index.html b/site/xmldocs/llama.oldversion.chatsession-1/index.html new file mode 100644 index 00000000..d59ef185 --- /dev/null +++ b/site/xmldocs/llama.oldversion.chatsession-1/index.html @@ -0,0 +1,1957 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.chatsession-1 - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ChatSession<T>

+

Namespace: LLama.OldVersion

+
public class ChatSession<T>
+
+

Type Parameters

+

T

+

Inheritance ObjectChatSession<T>

+

Constructors

+

ChatSession(T)

+
public ChatSession(T model)
+
+

Parameters

+

model T

+

Methods

+

Chat(String, String, String)

+
public IEnumerable<string> Chat(string text, string prompt, string encoding)
+
+

Parameters

+

text String

+

prompt String

+

encoding String

+

Returns

+

IEnumerable<String>

+

WithPrompt(String, String)

+
public ChatSession<T> WithPrompt(string prompt, string encoding)
+
+

Parameters

+

prompt String

+

encoding String

+

Returns

+

ChatSession<T>

+

WithPromptFile(String, String)

+
public ChatSession<T> WithPromptFile(string promptFilename, string encoding)
+
+

Parameters

+

promptFilename String

+

encoding String

+

Returns

+

ChatSession<T>

+

WithAntiprompt(String[])

+

Set the keyword to split the return value of chat AI.

+
public ChatSession<T> WithAntiprompt(String[] antiprompt)
+
+

Parameters

+

antiprompt String[]

+

Returns

+

ChatSession<T>

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.completion/index.html b/site/xmldocs/llama.oldversion.completion/index.html new file mode 100644 index 00000000..071197f1 --- /dev/null +++ b/site/xmldocs/llama.oldversion.completion/index.html @@ -0,0 +1,2363 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.completion - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Completion

+

Namespace: LLama.OldVersion

+
public class Completion : System.IEquatable`1[[LLama.OldVersion.Completion, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectCompletion
+Implements IEquatable<Completion>

+

Properties

+

Id

+
public string Id { get; set; }
+
+

Property Value

+

String

+

Object

+
public string Object { get; set; }
+
+

Property Value

+

String

+

Created

+
public int Created { get; set; }
+
+

Property Value

+

Int32

+

Model

+
public string Model { get; set; }
+
+

Property Value

+

String

+

Choices

+
public CompletionChoice[] Choices { get; set; }
+
+

Property Value

+

CompletionChoice[]

+

Usage

+
public CompletionUsage Usage { get; set; }
+
+

Property Value

+

CompletionUsage

+

Constructors

+

Completion(String, String, Int32, String, CompletionChoice[], CompletionUsage)

+
public Completion(string Id, string Object, int Created, string Model, CompletionChoice[] Choices, CompletionUsage Usage)
+
+

Parameters

+

Id String

+

Object String

+

Created Int32

+

Model String

+

Choices CompletionChoice[]

+

Usage CompletionUsage

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(Completion)

+
public bool Equals(Completion other)
+
+

Parameters

+

other Completion

+

Returns

+

Boolean

+

<Clone>$()

+
public Completion <Clone>$()
+
+

Returns

+

Completion

+

Deconstruct(String&, String&, Int32&, String&, CompletionChoice[]&, CompletionUsage&)

+
public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, CompletionChoice[]& Choices, CompletionUsage& Usage)
+
+

Parameters

+

Id String&

+

Object String&

+

Created Int32&

+

Model String&

+

Choices CompletionChoice[]&

+

Usage CompletionUsage&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.completionchoice/index.html b/site/xmldocs/llama.oldversion.completionchoice/index.html new file mode 100644 index 00000000..11be118c --- /dev/null +++ b/site/xmldocs/llama.oldversion.completionchoice/index.html @@ -0,0 +1,2269 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.completionchoice - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

CompletionChoice

+

Namespace: LLama.OldVersion

+
public class CompletionChoice : System.IEquatable`1[[LLama.OldVersion.CompletionChoice, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectCompletionChoice
+Implements IEquatable<CompletionChoice>

+

Properties

+

Text

+
public string Text { get; set; }
+
+

Property Value

+

String

+

Index

+
public int Index { get; set; }
+
+

Property Value

+

Int32

+

Logprobs

+
public CompletionLogprobs Logprobs { get; set; }
+
+

Property Value

+

CompletionLogprobs

+

FinishReason

+
public string FinishReason { get; set; }
+
+

Property Value

+

String

+

Constructors

+

CompletionChoice(String, Int32, CompletionLogprobs, String)

+
public CompletionChoice(string Text, int Index, CompletionLogprobs Logprobs, string FinishReason)
+
+

Parameters

+

Text String

+

Index Int32

+

Logprobs CompletionLogprobs

+

FinishReason String

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(CompletionChoice)

+
public bool Equals(CompletionChoice other)
+
+

Parameters

+

other CompletionChoice

+

Returns

+

Boolean

+

<Clone>$()

+
public CompletionChoice <Clone>$()
+
+

Returns

+

CompletionChoice

+

Deconstruct(String&, Int32&, CompletionLogprobs&, String&)

+
public void Deconstruct(String& Text, Int32& Index, CompletionLogprobs& Logprobs, String& FinishReason)
+
+

Parameters

+

Text String&

+

Index Int32&

+

Logprobs CompletionLogprobs&

+

FinishReason String&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.completionchunk/index.html b/site/xmldocs/llama.oldversion.completionchunk/index.html new file mode 100644 index 00000000..c8516218 --- /dev/null +++ b/site/xmldocs/llama.oldversion.completionchunk/index.html @@ -0,0 +1,2316 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.completionchunk - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

CompletionChunk

+

Namespace: LLama.OldVersion

+
public class CompletionChunk : System.IEquatable`1[[LLama.OldVersion.CompletionChunk, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectCompletionChunk
+Implements IEquatable<CompletionChunk>

+

Properties

+

Id

+
public string Id { get; set; }
+
+

Property Value

+

String

+

Object

+
public string Object { get; set; }
+
+

Property Value

+

String

+

Created

+
public int Created { get; set; }
+
+

Property Value

+

Int32

+

Model

+
public string Model { get; set; }
+
+

Property Value

+

String

+

Choices

+
public CompletionChoice[] Choices { get; set; }
+
+

Property Value

+

CompletionChoice[]

+

Constructors

+

CompletionChunk(String, String, Int32, String, CompletionChoice[])

+
public CompletionChunk(string Id, string Object, int Created, string Model, CompletionChoice[] Choices)
+
+

Parameters

+

Id String

+

Object String

+

Created Int32

+

Model String

+

Choices CompletionChoice[]

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(CompletionChunk)

+
public bool Equals(CompletionChunk other)
+
+

Parameters

+

other CompletionChunk

+

Returns

+

Boolean

+

<Clone>$()

+
public CompletionChunk <Clone>$()
+
+

Returns

+

CompletionChunk

+

Deconstruct(String&, String&, Int32&, String&, CompletionChoice[]&)

+
public void Deconstruct(String& Id, String& Object, Int32& Created, String& Model, CompletionChoice[]& Choices)
+
+

Parameters

+

Id String&

+

Object String&

+

Created Int32&

+

Model String&

+

Choices CompletionChoice[]&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.completionlogprobs/index.html b/site/xmldocs/llama.oldversion.completionlogprobs/index.html new file mode 100644 index 00000000..d05ed418 --- /dev/null +++ b/site/xmldocs/llama.oldversion.completionlogprobs/index.html @@ -0,0 +1,2269 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.completionlogprobs - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

CompletionLogprobs

+

Namespace: LLama.OldVersion

+
public class CompletionLogprobs : System.IEquatable`1[[LLama.OldVersion.CompletionLogprobs, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectCompletionLogprobs
+Implements IEquatable<CompletionLogprobs>

+

Properties

+

TextOffset

+
public Int32[] TextOffset { get; set; }
+
+

Property Value

+

Int32[]

+

TokenLogProbs

+
public Single[] TokenLogProbs { get; set; }
+
+

Property Value

+

Single[]

+

Tokens

+
public String[] Tokens { get; set; }
+
+

Property Value

+

String[]

+

TopLogprobs

+
public Dictionary`2[] TopLogprobs { get; set; }
+
+

Property Value

+

Dictionary`2[]

+

Constructors

+

CompletionLogprobs(Int32[], Single[], String[], Dictionary`2[])

+
public CompletionLogprobs(Int32[] TextOffset, Single[] TokenLogProbs, String[] Tokens, Dictionary`2[] TopLogprobs)
+
+

Parameters

+

TextOffset Int32[]

+

TokenLogProbs Single[]

+

Tokens String[]

+

TopLogprobs Dictionary`2[]

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(CompletionLogprobs)

+
public bool Equals(CompletionLogprobs other)
+
+

Parameters

+

other CompletionLogprobs

+

Returns

+

Boolean

+

<Clone>$()

+
public CompletionLogprobs <Clone>$()
+
+

Returns

+

CompletionLogprobs

+

Deconstruct(Int32[]&, Single[]&, String[]&, Dictionary`2[]&)

+
public void Deconstruct(Int32[]& TextOffset, Single[]& TokenLogProbs, String[]& Tokens, Dictionary`2[]& TopLogprobs)
+
+

Parameters

+

TextOffset Int32[]&

+

TokenLogProbs Single[]&

+

Tokens String[]&

+

TopLogprobs Dictionary`2[]&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.completionusage/index.html b/site/xmldocs/llama.oldversion.completionusage/index.html new file mode 100644 index 00000000..ab3b3c7d --- /dev/null +++ b/site/xmldocs/llama.oldversion.completionusage/index.html @@ -0,0 +1,2222 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.completionusage - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

CompletionUsage

+

Namespace: LLama.OldVersion

+
public class CompletionUsage : System.IEquatable`1[[LLama.OldVersion.CompletionUsage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectCompletionUsage
+Implements IEquatable<CompletionUsage>

+

Properties

+

PromptTokens

+
public int PromptTokens { get; set; }
+
+

Property Value

+

Int32

+

CompletionTokens

+
public int CompletionTokens { get; set; }
+
+

Property Value

+

Int32

+

TotalTokens

+
public int TotalTokens { get; set; }
+
+

Property Value

+

Int32

+

Constructors

+

CompletionUsage(Int32, Int32, Int32)

+
public CompletionUsage(int PromptTokens, int CompletionTokens, int TotalTokens)
+
+

Parameters

+

PromptTokens Int32

+

CompletionTokens Int32

+

TotalTokens Int32

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(CompletionUsage)

+
public bool Equals(CompletionUsage other)
+
+

Parameters

+

other CompletionUsage

+

Returns

+

Boolean

+

<Clone>$()

+
public CompletionUsage <Clone>$()
+
+

Returns

+

CompletionUsage

+

Deconstruct(Int32&, Int32&, Int32&)

+
public void Deconstruct(Int32& PromptTokens, Int32& CompletionTokens, Int32& TotalTokens)
+
+

Parameters

+

PromptTokens Int32&

+

CompletionTokens Int32&

+

TotalTokens Int32&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.embedding/index.html b/site/xmldocs/llama.oldversion.embedding/index.html new file mode 100644 index 00000000..f814d0ac --- /dev/null +++ b/site/xmldocs/llama.oldversion.embedding/index.html @@ -0,0 +1,2269 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.embedding - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Embedding

+

Namespace: LLama.OldVersion

+
public class Embedding : System.IEquatable`1[[LLama.OldVersion.Embedding, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectEmbedding
+Implements IEquatable<Embedding>

+

Properties

+

Object

+
public string Object { get; set; }
+
+

Property Value

+

String

+

Model

+
public string Model { get; set; }
+
+

Property Value

+

String

+

Data

+
public EmbeddingData[] Data { get; set; }
+
+

Property Value

+

EmbeddingData[]

+

Usage

+
public EmbeddingUsage Usage { get; set; }
+
+

Property Value

+

EmbeddingUsage

+

Constructors

+

Embedding(String, String, EmbeddingData[], EmbeddingUsage)

+
public Embedding(string Object, string Model, EmbeddingData[] Data, EmbeddingUsage Usage)
+
+

Parameters

+

Object String

+

Model String

+

Data EmbeddingData[]

+

Usage EmbeddingUsage

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(Embedding)

+
public bool Equals(Embedding other)
+
+

Parameters

+

other Embedding

+

Returns

+

Boolean

+

<Clone>$()

+
public Embedding <Clone>$()
+
+

Returns

+

Embedding

+

Deconstruct(String&, String&, EmbeddingData[]&, EmbeddingUsage&)

+
public void Deconstruct(String& Object, String& Model, EmbeddingData[]& Data, EmbeddingUsage& Usage)
+
+

Parameters

+

Object String&

+

Model String&

+

Data EmbeddingData[]&

+

Usage EmbeddingUsage&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.embeddingdata/index.html b/site/xmldocs/llama.oldversion.embeddingdata/index.html new file mode 100644 index 00000000..459be909 --- /dev/null +++ b/site/xmldocs/llama.oldversion.embeddingdata/index.html @@ -0,0 +1,2222 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.embeddingdata - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

EmbeddingData

+

Namespace: LLama.OldVersion

+
public class EmbeddingData : System.IEquatable`1[[LLama.OldVersion.EmbeddingData, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectEmbeddingData
+Implements IEquatable<EmbeddingData>

+

Properties

+

Index

+
public int Index { get; set; }
+
+

Property Value

+

Int32

+

Object

+
public string Object { get; set; }
+
+

Property Value

+

String

+

Embedding

+
public Single[] Embedding { get; set; }
+
+

Property Value

+

Single[]

+

Constructors

+

EmbeddingData(Int32, String, Single[])

+
public EmbeddingData(int Index, string Object, Single[] Embedding)
+
+

Parameters

+

Index Int32

+

Object String

+

Embedding Single[]

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(EmbeddingData)

+
public bool Equals(EmbeddingData other)
+
+

Parameters

+

other EmbeddingData

+

Returns

+

Boolean

+

<Clone>$()

+
public EmbeddingData <Clone>$()
+
+

Returns

+

EmbeddingData

+

Deconstruct(Int32&, String&, Single[]&)

+
public void Deconstruct(Int32& Index, String& Object, Single[]& Embedding)
+
+

Parameters

+

Index Int32&

+

Object String&

+

Embedding Single[]&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.embeddingusage/index.html b/site/xmldocs/llama.oldversion.embeddingusage/index.html new file mode 100644 index 00000000..bb663dd3 --- /dev/null +++ b/site/xmldocs/llama.oldversion.embeddingusage/index.html @@ -0,0 +1,2175 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.embeddingusage - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

EmbeddingUsage

+

Namespace: LLama.OldVersion

+
public class EmbeddingUsage : System.IEquatable`1[[LLama.OldVersion.EmbeddingUsage, LLamaSharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null]]
+
+

Inheritance ObjectEmbeddingUsage
+Implements IEquatable<EmbeddingUsage>

+

Properties

+

PromptTokens

+
public int PromptTokens { get; set; }
+
+

Property Value

+

Int32

+

TotalTokens

+
public int TotalTokens { get; set; }
+
+

Property Value

+

Int32

+

Constructors

+

EmbeddingUsage(Int32, Int32)

+
public EmbeddingUsage(int PromptTokens, int TotalTokens)
+
+

Parameters

+

PromptTokens Int32

+

TotalTokens Int32

+

Methods

+

ToString()

+
public string ToString()
+
+

Returns

+

String

+

PrintMembers(StringBuilder)

+
protected bool PrintMembers(StringBuilder builder)
+
+

Parameters

+

builder StringBuilder

+

Returns

+

Boolean

+

GetHashCode()

+
public int GetHashCode()
+
+

Returns

+

Int32

+

Equals(Object)

+
public bool Equals(object obj)
+
+

Parameters

+

obj Object

+

Returns

+

Boolean

+

Equals(EmbeddingUsage)

+
public bool Equals(EmbeddingUsage other)
+
+

Parameters

+

other EmbeddingUsage

+

Returns

+

Boolean

+

<Clone>$()

+
public EmbeddingUsage <Clone>$()
+
+

Returns

+

EmbeddingUsage

+

Deconstruct(Int32&, Int32&)

+
public void Deconstruct(Int32& PromptTokens, Int32& TotalTokens)
+
+

Parameters

+

PromptTokens Int32&

+

TotalTokens Int32&

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.ichatmodel/index.html b/site/xmldocs/llama.oldversion.ichatmodel/index.html new file mode 100644 index 00000000..8640ca4b --- /dev/null +++ b/site/xmldocs/llama.oldversion.ichatmodel/index.html @@ -0,0 +1,1846 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.ichatmodel - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

IChatModel

+

Namespace: LLama.OldVersion

+
public interface IChatModel
+
+

Properties

+

Name

+
public abstract string Name { get; }
+
+

Property Value

+

String

+

Methods

+

Chat(String, String, String)

+
IEnumerable<string> Chat(string text, string prompt, string encoding)
+
+

Parameters

+

text String

+

prompt String

+

encoding String

+

Returns

+

IEnumerable<String>

+

InitChatPrompt(String, String)

+

Init a prompt for chat and automatically produce the next prompt during the chat.

+
void InitChatPrompt(string prompt, string encoding)
+
+

Parameters

+

prompt String

+

encoding String

+

InitChatAntiprompt(String[])

+
void InitChatAntiprompt(String[] antiprompt)
+
+

Parameters

+

antiprompt String[]

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.llamaembedder/index.html b/site/xmldocs/llama.oldversion.llamaembedder/index.html new file mode 100644 index 00000000..c6ca4025 --- /dev/null +++ b/site/xmldocs/llama.oldversion.llamaembedder/index.html @@ -0,0 +1,1774 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.llamaembedder - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaEmbedder

+

Namespace: LLama.OldVersion

+
public class LLamaEmbedder : System.IDisposable
+
+

Inheritance ObjectLLamaEmbedder
+Implements IDisposable

+

Constructors

+

LLamaEmbedder(LLamaParams)

+
public LLamaEmbedder(LLamaParams params)
+
+

Parameters

+

params LLamaParams

+

Methods

+

GetEmbeddings(String, Int32, Boolean, String)

+
public Single[] GetEmbeddings(string text, int n_thread, bool add_bos, string encoding)
+
+

Parameters

+

text String

+

n_thread Int32

+

add_bos Boolean

+

encoding String

+

Returns

+

Single[]

+

Dispose()

+
public void Dispose()
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.llamamodel/index.html b/site/xmldocs/llama.oldversion.llamamodel/index.html new file mode 100644 index 00000000..d10da669 --- /dev/null +++ b/site/xmldocs/llama.oldversion.llamamodel/index.html @@ -0,0 +1,2637 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.llamamodel - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaModel

+

Namespace: LLama.OldVersion

+
public class LLamaModel : IChatModel, System.IDisposable
+
+

Inheritance ObjectLLamaModel
+Implements IChatModel, IDisposable

+

Properties

+

Name

+
public string Name { get; set; }
+
+

Property Value

+

String

+

Verbose

+
public bool Verbose { get; set; }
+
+

Property Value

+

Boolean

+

NativeHandle

+
public SafeLLamaContextHandle NativeHandle { get; }
+
+

Property Value

+

SafeLLamaContextHandle

+

Constructors

+

LLamaModel(String, String, Boolean, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Dictionary<Int32, Single>, Int32, Single, Single, Single, Single, Single, Int32, Single, Single, Int32, Single, Single, String, String, String, String, List<String>, String, String, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, String)

+

Please refer LLamaParams to find the meanings of each arg. Be sure to have set the n_gpu_layers, otherwise it will + load 20 layers to gpu by default.

+
public LLamaModel(string model_path, string model_name, bool verbose, int seed, int n_threads, int n_predict, int n_ctx, int n_batch, int n_keep, int n_gpu_layers, Dictionary<int, float> logit_bias, int top_k, float top_p, float tfs_z, float typical_p, float temp, float repeat_penalty, int repeat_last_n, float frequency_penalty, float presence_penalty, int mirostat, float mirostat_tau, float mirostat_eta, string prompt, string path_session, string input_prefix, string input_suffix, List<string> antiprompt, string lora_adapter, string lora_base, bool memory_f16, bool random_prompt, bool use_color, bool interactive, bool embedding, bool interactive_first, bool prompt_cache_all, bool instruct, bool penalize_nl, bool perplexity, bool use_mmap, bool use_mlock, bool mem_test, bool verbose_prompt, string encoding)
+
+

Parameters

+

model_path String
+The model file path.

+

model_name String
+The model name.

+

verbose Boolean
+Whether to print details when running the model.

+

seed Int32

+

n_threads Int32

+

n_predict Int32

+

n_ctx Int32

+

n_batch Int32

+

n_keep Int32

+

n_gpu_layers Int32

+

logit_bias Dictionary<Int32, Single>

+

top_k Int32

+

top_p Single

+

tfs_z Single

+

typical_p Single

+

temp Single

+

repeat_penalty Single

+

repeat_last_n Int32

+

frequency_penalty Single

+

presence_penalty Single

+

mirostat Int32

+

mirostat_tau Single

+

mirostat_eta Single

+

prompt String

+

path_session String

+

input_prefix String

+

input_suffix String

+

antiprompt List<String>

+

lora_adapter String

+

lora_base String

+

memory_f16 Boolean

+

random_prompt Boolean

+

use_color Boolean

+

interactive Boolean

+

embedding Boolean

+

interactive_first Boolean

+

prompt_cache_all Boolean

+

instruct Boolean

+

penalize_nl Boolean

+

perplexity Boolean

+

use_mmap Boolean

+

use_mlock Boolean

+

mem_test Boolean

+

verbose_prompt Boolean

+

encoding String

+

LLamaModel(LLamaParams, String, Boolean, String)

+

Please refer LLamaParams to find the meanings of each arg. Be sure to have set the n_gpu_layers, otherwise it will + load 20 layers to gpu by default.

+
public LLamaModel(LLamaParams params, string name, bool verbose, string encoding)
+
+

Parameters

+

params LLamaParams
+The LLamaModel params

+

name String
+Model name

+

verbose Boolean
+Whether to output the detailed info.

+

encoding String

+

Exceptions

+

RuntimeError

+

Methods

+

WithPrompt(String, String)

+

Apply a prompt to the model.

+
public LLamaModel WithPrompt(string prompt, string encoding)
+
+

Parameters

+

prompt String

+

encoding String

+

Returns

+

LLamaModel

+

Exceptions

+

ArgumentException

+

WithPromptFile(String)

+

Apply the prompt file to the model.

+
public LLamaModel WithPromptFile(string promptFileName)
+
+

Parameters

+

promptFileName String

+

Returns

+

LLamaModel

+

InitChatPrompt(String, String)

+
public void InitChatPrompt(string prompt, string encoding)
+
+

Parameters

+

prompt String

+

encoding String

+

InitChatAntiprompt(String[])

+
public void InitChatAntiprompt(String[] antiprompt)
+
+

Parameters

+

antiprompt String[]

+

Chat(String, String, String)

+

Chat with the LLaMa model under interactive mode.

+
public IEnumerable<string> Chat(string text, string prompt, string encoding)
+
+

Parameters

+

text String

+

prompt String

+

encoding String

+

Returns

+

IEnumerable<String>

+

Exceptions

+

ArgumentException

+

SaveState(String)

+

Save the state to specified path.

+
public void SaveState(string filename)
+
+

Parameters

+

filename String

+

LoadState(String, Boolean)

+

Load the state from specified path.

+
public void LoadState(string filename, bool clearPreviousEmbed)
+
+

Parameters

+

filename String

+

clearPreviousEmbed Boolean
+Whether to clear previous footprints of this model.

+

Exceptions

+

RuntimeError

+

Tokenize(String, String)

+

Tokenize a string.

+
public List<int> Tokenize(string text, string encoding)
+
+

Parameters

+

text String
+The utf-8 encoded string to tokenize.

+

encoding String

+

Returns

+

List<Int32>
+A list of tokens.

+

Exceptions

+

RuntimeError
+If the tokenization failed.

+

DeTokenize(IEnumerable<Int32>)

+

Detokenize a list of tokens.

+
public string DeTokenize(IEnumerable<int> tokens)
+
+

Parameters

+

tokens IEnumerable<Int32>
+The list of tokens to detokenize.

+

Returns

+

String
+The detokenized string.

+

Call(String, String)

+

Call the model to run inference.

+
public IEnumerable<string> Call(string text, string encoding)
+
+

Parameters

+

text String

+

encoding String

+

Returns

+

IEnumerable<String>

+

Exceptions

+

RuntimeError

+

Dispose()

+
public void Dispose()
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.oldversion.llamaparams/index.html b/site/xmldocs/llama.oldversion.llamaparams/index.html new file mode 100644 index 00000000..ab9c4a39 --- /dev/null +++ b/site/xmldocs/llama.oldversion.llamaparams/index.html @@ -0,0 +1,2447 @@ + + + + + + + + + + + + + + + + + + + + + + llama.oldversion.llamaparams - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

LLamaParams

+

Namespace: LLama.OldVersion

+
public struct LLamaParams
+
+

Inheritance ObjectValueTypeLLamaParams

+

Fields

+

seed

+
public int seed;
+
+

n_threads

+
public int n_threads;
+
+

n_predict

+
public int n_predict;
+
+

n_ctx

+
public int n_ctx;
+
+

n_batch

+
public int n_batch;
+
+

n_keep

+
public int n_keep;
+
+

n_gpu_layers

+
public int n_gpu_layers;
+
+

logit_bias

+
public Dictionary<int, float> logit_bias;
+
+

top_k

+
public int top_k;
+
+

top_p

+
public float top_p;
+
+

tfs_z

+
public float tfs_z;
+
+

typical_p

+
public float typical_p;
+
+

temp

+
public float temp;
+
+

repeat_penalty

+
public float repeat_penalty;
+
+

repeat_last_n

+
public int repeat_last_n;
+
+

frequency_penalty

+
public float frequency_penalty;
+
+

presence_penalty

+
public float presence_penalty;
+
+

mirostat

+
public int mirostat;
+
+

mirostat_tau

+
public float mirostat_tau;
+
+

mirostat_eta

+
public float mirostat_eta;
+
+

model

+
public string model;
+
+

prompt

+
public string prompt;
+
+

path_session

+
public string path_session;
+
+

input_prefix

+
public string input_prefix;
+
+

input_suffix

+
public string input_suffix;
+
+

antiprompt

+
public List<string> antiprompt;
+
+

lora_adapter

+
public string lora_adapter;
+
+

lora_base

+
public string lora_base;
+
+

memory_f16

+
public bool memory_f16;
+
+

random_prompt

+
public bool random_prompt;
+
+

use_color

+
public bool use_color;
+
+

interactive

+
public bool interactive;
+
+

prompt_cache_all

+
public bool prompt_cache_all;
+
+

embedding

+
public bool embedding;
+
+

interactive_first

+
public bool interactive_first;
+
+

instruct

+
public bool instruct;
+
+

penalize_nl

+
public bool penalize_nl;
+
+

perplexity

+
public bool perplexity;
+
+

use_mmap

+
public bool use_mmap;
+
+

use_mlock

+
public bool use_mlock;
+
+

mem_test

+
public bool mem_test;
+
+

verbose_prompt

+
public bool verbose_prompt;
+
+

Constructors

+

LLamaParams(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Dictionary<Int32, Single>, Int32, Single, Single, Single, Single, Single, Int32, Single, Single, Int32, Single, Single, String, String, String, String, String, List<String>, String, String, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)

+
LLamaParams(int seed, int n_threads, int n_predict, int n_ctx, int n_batch, int n_keep, int n_gpu_layers, Dictionary<int, float> logit_bias, int top_k, float top_p, float tfs_z, float typical_p, float temp, float repeat_penalty, int repeat_last_n, float frequency_penalty, float presence_penalty, int mirostat, float mirostat_tau, float mirostat_eta, string model, string prompt, string path_session, string input_prefix, string input_suffix, List<string> antiprompt, string lora_adapter, string lora_base, bool memory_f16, bool random_prompt, bool use_color, bool interactive, bool prompt_cache_all, bool embedding, bool interactive_first, bool instruct, bool penalize_nl, bool perplexity, bool use_mmap, bool use_mlock, bool mem_test, bool verbose_prompt)
+
+

Parameters

+

seed Int32

+

n_threads Int32

+

n_predict Int32

+

n_ctx Int32

+

n_batch Int32

+

n_keep Int32

+

n_gpu_layers Int32

+

logit_bias Dictionary<Int32, Single>

+

top_k Int32

+

top_p Single

+

tfs_z Single

+

typical_p Single

+

temp Single

+

repeat_penalty Single

+

repeat_last_n Int32

+

frequency_penalty Single

+

presence_penalty Single

+

mirostat Int32

+

mirostat_tau Single

+

mirostat_eta Single

+

model String

+

prompt String

+

path_session String

+

input_prefix String

+

input_suffix String

+

antiprompt List<String>

+

lora_adapter String

+

lora_base String

+

memory_f16 Boolean

+

random_prompt Boolean

+

use_color Boolean

+

interactive Boolean

+

prompt_cache_all Boolean

+

embedding Boolean

+

interactive_first Boolean

+

instruct Boolean

+

penalize_nl Boolean

+

perplexity Boolean

+

use_mmap Boolean

+

use_mlock Boolean

+

mem_test Boolean

+

verbose_prompt Boolean

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.resettablellamamodel/index.html b/site/xmldocs/llama.resettablellamamodel/index.html new file mode 100644 index 00000000..8b6e1ebe --- /dev/null +++ b/site/xmldocs/llama.resettablellamamodel/index.html @@ -0,0 +1,1971 @@ + + + + + + + + + + + + + + + + + + + + + + llama.resettablellamamodel - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ResettableLLamaModel

+

Namespace: LLama

+

A LLamaModel what could be reset. Note that using this class will consume about 10% more memories.

+
public class ResettableLLamaModel : LLamaModel, System.IDisposable
+
+

Inheritance ObjectLLamaModelResettableLLamaModel
+Implements IDisposable

+

Properties

+

OriginalState

+

The initial state of the model

+
public Byte[] OriginalState { get; set; }
+
+

Property Value

+

Byte[]

+

ContextSize

+

The context size.

+
public int ContextSize { get; }
+
+

Property Value

+

Int32

+

Params

+

The model params set for this model.

+
public ModelParams Params { get; set; }
+
+

Property Value

+

ModelParams

+

NativeHandle

+

The native handle, which is used to be passed to the native APIs. Please avoid using it + unless you know what is the usage of the Native API.

+
public SafeLLamaContextHandle NativeHandle { get; }
+
+

Property Value

+

SafeLLamaContextHandle

+

Encoding

+

The encoding set for this model to deal with text input.

+
public Encoding Encoding { get; }
+
+

Property Value

+

Encoding

+

Constructors

+

ResettableLLamaModel(ModelParams, String)

+
public ResettableLLamaModel(ModelParams Params, string encoding)
+
+

Parameters

+

Params ModelParams

+

encoding String

+

Methods

+

Reset()

+

Reset the state to the initial state.

+
public void Reset()
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.statefulexecutorbase/index.html b/site/xmldocs/llama.statefulexecutorbase/index.html new file mode 100644 index 00000000..c4f4e1a6 --- /dev/null +++ b/site/xmldocs/llama.statefulexecutorbase/index.html @@ -0,0 +1,2416 @@ + + + + + + + + + + + + + + + + + + + + + + llama.statefulexecutorbase - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+ +
+ + + +
+
+ + + + +

StatefulExecutorBase

+

Namespace: LLama

+

The base class for stateful LLama executors.

+
public abstract class StatefulExecutorBase : LLama.Abstractions.ILLamaExecutor
+
+

Inheritance ObjectStatefulExecutorBase
+Implements ILLamaExecutor

+

Properties

+

Model

+

The mode used by the executor.

+
public LLamaModel Model { get; }
+
+

Property Value

+

LLamaModel

+

Methods

+

WithSessionFile(String)

+

This API is currently not verified.

+
public StatefulExecutorBase WithSessionFile(string filename)
+
+

Parameters

+

filename String

+

Returns

+

StatefulExecutorBase

+

Exceptions

+

ArgumentNullException

+

RuntimeError

+

SaveSessionFile(String)

+

This API has not been verified currently.

+
public void SaveSessionFile(string filename)
+
+

Parameters

+

filename String

+

HandleRunOutOfContext(Int32)

+

After running out of the context, take some tokens from the original prompt and recompute the logits in batches.

+
protected void HandleRunOutOfContext(int tokensToKeep)
+
+

Parameters

+

tokensToKeep Int32

+

TryReuseMathingPrefix()

+

Try to reuse the matching prefix from the session file.

+
protected void TryReuseMathingPrefix()
+
+

GetLoopCondition(InferStateArgs)

+

Decide whether to continue the loop.

+
protected abstract bool GetLoopCondition(InferStateArgs args)
+
+

Parameters

+

args InferStateArgs

+

Returns

+

Boolean

+

PreprocessInputs(String, InferStateArgs)

+

Preprocess the inputs before the inference.

+
protected abstract void PreprocessInputs(string text, InferStateArgs args)
+
+

Parameters

+

text String

+

args InferStateArgs

+

PostProcess(InferenceParams, InferStateArgs, IEnumerable`1&)

+

Do some post processing after the inference.

+
protected abstract bool PostProcess(InferenceParams inferenceParams, InferStateArgs args, IEnumerable`1& extraOutputs)
+
+

Parameters

+

inferenceParams InferenceParams

+

args InferStateArgs

+

extraOutputs IEnumerable`1&

+

Returns

+

Boolean

+

InferInternal(InferenceParams, InferStateArgs)

+

The core inference logic.

+
protected abstract void InferInternal(InferenceParams inferenceParams, InferStateArgs args)
+
+

Parameters

+

inferenceParams InferenceParams

+

args InferStateArgs

+

SaveState(String)

+

Save the current state to a file.

+
public abstract void SaveState(string filename)
+
+

Parameters

+

filename String

+

GetStateData()

+

Get the current state data.

+
public abstract ExecutorBaseState GetStateData()
+
+

Returns

+

ExecutorBaseState

+

LoadState(ExecutorBaseState)

+

Load the state from data.

+
public abstract void LoadState(ExecutorBaseState data)
+
+

Parameters

+

data ExecutorBaseState

+

LoadState(String)

+

Load the state from a file.

+
public abstract void LoadState(string filename)
+
+

Parameters

+

filename String

+

Infer(String, InferenceParams, CancellationToken)

+

Execute the inference.

+
public IEnumerable<string> Infer(string text, InferenceParams inferenceParams, CancellationToken cancellationToken)
+
+

Parameters

+

text String

+

inferenceParams InferenceParams

+

cancellationToken CancellationToken

+

Returns

+

IEnumerable<String>

+

InferAsync(String, InferenceParams, CancellationToken)

+

Execute the inference asynchronously.

+
public IAsyncEnumerable<string> InferAsync(string text, InferenceParams inferenceParams, CancellationToken cancellationToken)
+
+

Parameters

+

text String

+

inferenceParams InferenceParams

+

cancellationToken CancellationToken

+

Returns

+

IAsyncEnumerable<String>

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/site/xmldocs/llama.statelessexecutor/index.html b/site/xmldocs/llama.statelessexecutor/index.html new file mode 100644 index 00000000..b59adc79 --- /dev/null +++ b/site/xmldocs/llama.statelessexecutor/index.html @@ -0,0 +1,1893 @@ + + + + + + + + + + + + + + + + + + + + llama.statelessexecutor - LLamaSharp Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

StatelessExecutor

+

Namespace: LLama

+

This executor infer the input as one-time job. Previous inputs won't impact on the + response to current input.

+
public class StatelessExecutor : LLama.Abstractions.ILLamaExecutor
+
+

Inheritance ObjectStatelessExecutor
+Implements ILLamaExecutor

+

Properties

+

Model

+

The mode used by the executor when running the inference.

+
public LLamaModel Model { get; }
+
+

Property Value

+

LLamaModel

+

Constructors

+

StatelessExecutor(LLamaModel)

+
public StatelessExecutor(LLamaModel model)
+
+

Parameters

+

model LLamaModel
+The LLama model.

+

Methods

+

Infer(String, InferenceParams, CancellationToken)

+
public IEnumerable<string> Infer(string text, InferenceParams inferenceParams, CancellationToken cancellationToken)
+
+

Parameters

+

text String

+

inferenceParams InferenceParams

+

cancellationToken CancellationToken

+

Returns

+

IEnumerable<String>

+

InferAsync(String, InferenceParams, CancellationToken)

+
public IAsyncEnumerable<string> InferAsync(string text, InferenceParams inferenceParams, CancellationToken token)
+
+

Parameters

+

text String

+

inferenceParams InferenceParams

+

token CancellationToken

+

Returns

+

IAsyncEnumerable<String>

+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file