# TraconKnowledgeOptions

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/api/tracon.traconknowledgeoptions/
> Summary: TraconKnowledgeOptions: Options for the knowledge base (semantic search).

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Core.dll</code></div>

Options for the knowledge base (semantic search).

```csharp
public sealed class TraconKnowledgeOptions
```

<dl class="api-relations"><dt>Inheritance</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object">object</a> ← <a href="/api/tracon.traconknowledgeoptions/">TraconKnowledgeOptions</a></dd><dt>Inherited Members</dt><dd><a href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object?, object?)</a>, <a href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a></dd></dl>

## Remarks

Reads values from the `Tracon:Knowledge` configuration section. It does
not require a separate `Use...` call, for the same reason as scheduling
and quotas. It becomes functional only when [IVectorSearchStore](/api/tracon.ivectorsearchstore/) and
`IEmbeddingGenerator` are registered.

## Constructors

### <a id="Tracon_TraconKnowledgeOptions__ctor"></a> TraconKnowledgeOptions\(\)

```csharp
public TraconKnowledgeOptions()
```

## Fields

### <a id="Tracon_TraconKnowledgeOptions_SectionName"></a> SectionName

The configuration section name.

```csharp
public const string SectionName = "Tracon:Knowledge"
```

#### Field Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)

## Properties

### <a id="Tracon_TraconKnowledgeOptions_ChunkOverlap"></a> ChunkOverlap

The overlap length between consecutive chunks, in characters.

```csharp
public int ChunkOverlap { get; set; }
```

#### Property Value

 [int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="Tracon_TraconKnowledgeOptions_ChunkSize"></a> ChunkSize

The chunk length in characters.

```csharp
public int ChunkSize { get; set; }
```

#### Property Value

 [int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="Tracon_TraconKnowledgeOptions_Dimensions"></a> Dimensions

The embedding dimensions. They are fixed with the schema. Changing them
invalidates all embeddings.

```csharp
public int Dimensions { get; set; }
```

#### Property Value

 [int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="Tracon_TraconKnowledgeOptions_EmbeddingProvider"></a> EmbeddingProvider

The name of the provider the registered embedding generator calls, as a
tenant egress policy names it (for example `azure-openai`).

```csharp
public string? EmbeddingProvider { get; set; }
```

#### Property Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)?

#### Remarks

Every embedding call — a `search_knowledge` query, a knowledge search and
a document upload — checks the tenant's egress policy against this name
before the text leaves the process, and refuses a tenant that has its own
credential for this provider: the generator was built with the setup key and
cannot use the tenant's.

When it is not set, the provider name the generator reports is used. That
name does not always match a policy name: the OpenAI and the Azure OpenAI
generators both report `openai`. When neither name is known, a tenant
with an egress policy is refused, and a tenant without one is not.

### <a id="Tracon_TraconKnowledgeOptions_MaxResults"></a> MaxResults

The maximum number of results returned by the `search_knowledge` tool.

```csharp
public int MaxResults { get; set; }
```

#### Property Value

 [int](https://learn.microsoft.com/dotnet/api/system.int32)
