# ASP.NET Core LLM Kit Overview

The Telerik UI for ASP.NET Core LLM Kit is a set of purpose-built components for bringing AI agent activity into your application.

The kit provides ready-made building blocks for showing reasoning traces, multi-step thought chains, tool invocations, inline citations, and conversation checkpoints alongside any chat or agentic interface.

## Key Features

* [Reasoning](https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/conversational-ui/llm-kit/reasoning)—Shows a model's thinking trace in one collapsible block, with support for streaming content token by token.
* [Chain of Thought](https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/conversational-ui/llm-kit/chain-of-thought)—Collects an ordered series of thought steps beneath one collapsible header, with support for custom row templates.
* [Tool Call](https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/conversational-ui/llm-kit/tool-call)—Shows an individual tool or function invocation, including parameters, approval flow, results, and error states.
* [Checkpoint](https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/conversational-ui/llm-kit/checkpoint)—Places a decorative separator between conversation turns with a **Start Over** or **Redo** action.
* [Citation](https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/conversational-ui/llm-kit/citation)—Adds an inline reference chip that opens a paginated popover containing complete source details.

## Initializing the LLM Kit Components

The following example demonstrates how to configure a simple reasoning block and a tool call.

```Razor HtmlHelper
    @(Html.Kendo().Reasoning()
        .Name("reasoning")
        .Label("Thinking")
        .Expandable(true)
        .Expanded(true)
        .Content("Checking the available revenue data.")
    )

    @(Html.Kendo().ToolCall()
        .Name("toolCall")
        .Label("query_database")
        .State(ToolCallState.Completed)
        .Expandable(true)
        .Expanded(true)
    )

     @(Html.Kendo().ChainOfThought()
        .Name("chainOfThought")
        .Label("Thought")
        .Expandable(true)
        .Expanded(true)
        .Thoughts(thoughts =>
        {
            thoughts.Add().Label("Searching for analytics tools").SvgIcon("search").Completed(true);
            thoughts.Add().Label("Checking the revenue table").SvgIcon("table").Completed(true);
            thoughts.Add().Label("Preparing the query result").SvgIcon("gear").Completed(true);
        })
    )

     @(Html.Kendo().Citation()
        .Name("citation")
        .Sources(sources =>
        {
            sources.Add().Title("Quarterly Revenue Report").Url("https://example.com/reports/q1-2025").Description("Summary of enterprise revenue by quarter.");
        })
    )
```

```Razor TagHelper
    <kendo-reasoning name="reasoning"
        label="Thinking"
        expandable="true"
        expanded="true"
        content="Checking the available revenue data.">
    </kendo-reasoning>

    <kendo-toolcall name="toolCall"
        label="query_database"
        state="ToolCallState.Completed"
        expandable="true"
        expanded="true">
    </kendo-toolcall>

    <kendo-chainofthought name="chainOfThought"
        label="Thought"
        expandable="true"
        expanded="true">
        <thoughts>
            <thought label="Searching for analytics tools" svg-icon="search" completed="true" />
            <thought label="Checking the revenue table" svg-icon="table" completed="true" />
            <thought label="Preparing the query result" svg-icon="gear" completed="true" />
        </thoughts>
    </kendo-chainofthought>

    <kendo-citation name="citation">
        <sources>
            <source title="Quarterly Revenue Report"
                url="https://example.com/reports/q1-2025"
                description="Summary of enterprise revenue by quarter.">
            </source>
        </sources>
    </kendo-citation>
```

## See Also

* [LLM Kit Overview Demo for ASP.NET Core](https://demos.telerik.com/aspnet-core/llm_kit)

* [Server-Side API of the Reasoning HtmlHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/reasoning)

* [Server-Side API of the ChainOfThought HtmlHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/chainofthought)

* [Server-Side API of the ToolCall HtmlHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/toolcall)

* [Server-Side API of the Checkpoint HtmlHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/checkpoint)

* [Server-Side API of the Citation HtmlHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/citation)

* [Server-Side API of the Reasoning TagHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/taghelpers/reasoning)

* [Server-Side API of the ChainOfThought TagHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/taghelpers/chainofthought)

* [Server-Side API of the ToolCall TagHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/taghelpers/toolcall)

* [Server-Side API of the Checkpoint TagHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/taghelpers/checkpoint)

* [Server-Side API of the Citation TagHelper](https://www.telerik.com/aspnet-core-ui/documentation/api/taghelpers/citation)
