# IInferenceParams Namespace: LLama.Abstractions The parameters used for inference. ```csharp public interface IInferenceParams ``` ## Properties ### **TokensKeep** number of tokens to keep from initial prompt ```csharp public abstract 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 abstract 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 abstract Dictionary LogitBias { get; set; } ``` #### Property Value [Dictionary<LLamaToken, 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 abstract IReadOnlyList AntiPrompts { get; set; } ``` #### Property Value [IReadOnlyList<String>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1)
### **TopK** 0 or lower to use vocab size ```csharp public abstract int TopK { get; set; } ``` #### Property Value [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **TopP** 1.0 = disabled ```csharp public abstract float TopP { get; set; } ``` #### Property Value [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
### **MinP** 0.0 = disabled ```csharp public abstract float MinP { get; set; } ``` #### Property Value [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
### **TfsZ** 1.0 = disabled ```csharp public abstract float TfsZ { get; set; } ``` #### Property Value [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
### **TypicalP** 1.0 = disabled ```csharp public abstract float TypicalP { get; set; } ``` #### Property Value [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
### **Temperature** 1.0 = disabled ```csharp public abstract float Temperature { get; set; } ``` #### Property Value [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
### **RepeatPenalty** 1.0 = disabled ```csharp public abstract 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 abstract 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 abstract 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 abstract 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 abstract MirostatType Mirostat { get; set; } ``` #### Property Value [MirostatType](./llama.common.mirostattype.md)
### **MirostatTau** target entropy ```csharp public abstract float MirostatTau { get; set; } ``` #### Property Value [Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
### **MirostatEta** learning rate ```csharp public abstract 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 abstract bool PenalizeNL { get; set; } ``` #### Property Value [Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **Grammar** Grammar to constrain possible tokens ```csharp public abstract SafeLLamaGrammarHandle Grammar { get; set; } ``` #### Property Value [SafeLLamaGrammarHandle](./llama.native.safellamagrammarhandle.md)
### **SamplingPipeline** Set a custom sampling pipeline to use. If this is set All other sampling parameters are ignored! ```csharp public abstract ISamplingPipeline SamplingPipeline { get; set; } ``` #### Property Value [ISamplingPipeline](./llama.sampling.isamplingpipeline.md)