# ModelParams
Namespace: LLama.Common
The parameters for initializing a LLama model.
```csharp
public class ModelParams : LLama.Abstractions.ILLamaParams, LLama.Abstractions.IModelParams, LLama.Abstractions.IContextParams, System.IEquatable`1[[LLama.Common.ModelParams, LLamaSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
```
Inheritance [Object](https://docs.microsoft.com/en-us/dotnet/api/system.object) → [ModelParams](./llama.common.modelparams.md)
Implements [ILLamaParams](./llama.abstractions.illamaparams.md), [IModelParams](./llama.abstractions.imodelparams.md), [IContextParams](./llama.abstractions.icontextparams.md), [IEquatable<ModelParams>](https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1)
## Properties
### **ContextSize**
```csharp
public Nullable ContextSize { get; set; }
```
#### Property Value
[Nullable<UInt32>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **MainGpu**
```csharp
public int MainGpu { get; set; }
```
#### Property Value
[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **SplitMode**
```csharp
public GPUSplitMode SplitMode { get; set; }
```
#### Property Value
[GPUSplitMode](./llama.native.gpusplitmode.md)
### **GpuLayerCount**
```csharp
public int GpuLayerCount { get; set; }
```
#### Property Value
[Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)
### **Seed**
```csharp
public uint Seed { get; set; }
```
#### Property Value
[UInt32](https://docs.microsoft.com/en-us/dotnet/api/system.uint32)
### **UseMemorymap**
```csharp
public bool UseMemorymap { get; set; }
```
#### Property Value
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **UseMemoryLock**
```csharp
public bool UseMemoryLock { get; set; }
```
#### Property Value
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **ModelPath**
```csharp
public string ModelPath { get; set; }
```
#### Property Value
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
### **LoraAdapters**
```csharp
public AdapterCollection LoraAdapters { get; set; }
```
#### Property Value
[AdapterCollection](./llama.abstractions.adaptercollection.md)
### **LoraBase**
```csharp
public string LoraBase { get; set; }
```
#### Property Value
[String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
### **Threads**
```csharp
public Nullable Threads { get; set; }
```
#### Property Value
[Nullable<UInt32>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **BatchThreads**
```csharp
public Nullable BatchThreads { get; set; }
```
#### Property Value
[Nullable<UInt32>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **BatchSize**
```csharp
public uint BatchSize { get; set; }
```
#### Property Value
[UInt32](https://docs.microsoft.com/en-us/dotnet/api/system.uint32)
### **EmbeddingMode**
```csharp
public bool EmbeddingMode { get; set; }
```
#### Property Value
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **TensorSplits**
```csharp
public TensorSplitsCollection TensorSplits { get; set; }
```
#### Property Value
[TensorSplitsCollection](./llama.abstractions.tensorsplitscollection.md)
### **MetadataOverrides**
```csharp
public List MetadataOverrides { get; set; }
```
#### Property Value
[List<MetadataOverride>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1)
### **RopeFrequencyBase**
```csharp
public Nullable RopeFrequencyBase { get; set; }
```
#### Property Value
[Nullable<Single>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **RopeFrequencyScale**
```csharp
public Nullable RopeFrequencyScale { get; set; }
```
#### Property Value
[Nullable<Single>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **YarnExtrapolationFactor**
```csharp
public Nullable YarnExtrapolationFactor { get; set; }
```
#### Property Value
[Nullable<Single>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **YarnAttentionFactor**
```csharp
public Nullable YarnAttentionFactor { get; set; }
```
#### Property Value
[Nullable<Single>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **YarnBetaFast**
```csharp
public Nullable YarnBetaFast { get; set; }
```
#### Property Value
[Nullable<Single>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **YarnBetaSlow**
```csharp
public Nullable YarnBetaSlow { get; set; }
```
#### Property Value
[Nullable<Single>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **YarnOriginalContext**
```csharp
public Nullable YarnOriginalContext { get; set; }
```
#### Property Value
[Nullable<UInt32>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **YarnScalingType**
```csharp
public Nullable YarnScalingType { get; set; }
```
#### Property Value
[Nullable<RopeScalingType>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **TypeK**
```csharp
public Nullable TypeK { get; set; }
```
#### Property Value
[Nullable<GGMLType>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **TypeV**
```csharp
public Nullable TypeV { get; set; }
```
#### Property Value
[Nullable<GGMLType>](https://docs.microsoft.com/en-us/dotnet/api/system.nullable-1)
### **NoKqvOffload**
```csharp
public bool NoKqvOffload { get; set; }
```
#### Property Value
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **DefragThreshold**
```csharp
public float DefragThreshold { get; set; }
```
#### Property Value
[Single](https://docs.microsoft.com/en-us/dotnet/api/system.single)
### **DoPooling**
```csharp
public bool DoPooling { get; set; }
```
#### Property Value
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **VocabOnly**
```csharp
public bool VocabOnly { get; set; }
```
#### Property Value
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **Encoding**
```csharp
public Encoding Encoding { get; set; }
```
#### Property Value
[Encoding](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding)
## Constructors
### **ModelParams(String)**
```csharp
public ModelParams(string modelPath)
```
#### Parameters
`modelPath` [String](https://docs.microsoft.com/en-us/dotnet/api/system.string)
The model path.
## 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(ModelParams)**
```csharp
public bool Equals(ModelParams other)
```
#### Parameters
`other` [ModelParams](./llama.common.modelparams.md)
#### Returns
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/system.boolean)
### **<Clone>$()**
```csharp
public ModelParams $()
```
#### Returns
[ModelParams](./llama.common.modelparams.md)