# 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 ```csharp public class InferenceParams ``` Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [InferenceParams]() ## 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]()
### **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)