> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inworld.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# KnowledgeNode

> Knowledge retrieval node for accessing stored information. You can either use a pre-configured knowledge component that could be reused across multiple nodes or node will create a new component for you.

## Input

**Type:** `String`

The data type that KnowledgeNode accepts as input

## Output

**Type:** `GraphTypes.KnowledgeRecords`

The data type that KnowledgeNode outputs

## Examples

```typescript theme={"system"}
// Using knowledge provider configuration
const knowledgeNode = new KnowledgeNode({
id: 'my-knowledge-node',
knowledgeId: 'company-docs',
knowledgeRecords: ['policy-1', 'policy-2', 'faq-1'],
retrievalConfig: {
threshold: 0.8,
topK: 3
}
});

// Using existing knowledge component
const knowledgeComponent = new RemoteKnowledgeComponent({ id: 'existing-knowledge-component' });
const knowledgeNodeWithComponent = new KnowledgeNode({
id: 'my-knowledge-node',
knowledgeId: 'company-docs',
knowledgeRecords: ['policy-1', 'policy-2', 'faq-1'],
knowledgeComponent
});
```

## Constructors

* [constructor](#constructor)

## Interfaces

* [KnowledgeNodeProps](#knowledgenodeprops)
* [KnowledgeNodeWithComponentProps](#knowledgenodewithcomponentprops)

***

## Constructors

### constructor

```typescript theme={"system"}
new KnowledgeNode(props: KnowledgeNodeProps | KnowledgeNodeWithComponentProps): KnowledgeNode
```

Creates a new KnowledgeNode instance.

#### Parameters

<ParamField body="props" type="KnowledgeNodeProps | KnowledgeNodeWithComponentProps" required>
  Configuration for the knowledge node.
</ParamField>

#### Returns

`KnowledgeNode`

## Interfaces

### KnowledgeNodeProps

Configuration for `KnowledgeNode` using knowledge provider settings.

#### Properties

**knowledgeId**: `string`

ID of the knowledge collection

**knowledgeRecords**: `string[]`

Collection of knowledge records

**maxCharsPerChunk**?: `number`

Maximum characters per chunk (default: 1000)

**maxChunksPerDocument**?: `number`

Maximum chunks per document (default: 10)

**retrievalConfig**?: `object`

Configuration for retrieving relevant information

### KnowledgeNodeWithComponentProps

Configuration for `KnowledgeNode` using an existing knowledge component.

#### Properties

**knowledgeId**: `string`

ID of the knowledge collection

**knowledgeRecords**: `string[]`

Collection of knowledge records

**knowledgeComponent**: `RemoteKnowledgeComponent`

ID of the existing knowledge component to use

**retrievalConfig**?: `object`

Configuration for retrieving relevant information
