> **Experimental**
>
> `@aws-cdk/aws-bedrock-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# PromptVariant

Factory class for creating prompt variants.

Provides static methods to create different types of prompt variants
with proper configuration and type safety.

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`bedrock/prompts/prompt-variant.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0-alpha.0/packages/@aws-cdk/aws-bedrock-alpha/bedrock/prompts/prompt-variant.ts#L102)

## Example

```ts
const cmk = new kms.Key(this, 'cmk', {});
const claudeModel = bedrock.BedrockFoundationModel.ANTHROPIC_CLAUDE_SONNET_V1_0;

const variant1 = bedrock.PromptVariant.text({
  variantName: 'variant1',
  model: claudeModel,
  promptVariables: ['topic'],
  promptText: 'This is my first text prompt. Please summarize our conversation on: {{topic}}.',
  inferenceConfiguration: bedrock.PromptInferenceConfiguration.text({
    temperature: 1.0,
    topP: 0.999,
    maxTokens: 2000,
  }),
});

const prompt1 = new bedrock.Prompt(this, 'prompt1', {
  promptName: 'prompt1',
  description: 'my first prompt',
  defaultVariant: variant1,
  variants: [variant1],
  kmsKey: cmk,
});
```

## Methods

- `agent(props: AgentPromptVariantProps): IPromptVariant` (static) — Creates an agent prompt template variant.

  **Parameters**

  - `props` — - Properties for the agent prompt variant.

  **Returns:** A PromptVariant configured for agent interactions

- `chat(props: ChatPromptVariantProps): IPromptVariant` (static) — Creates a chat template variant.

  Use this template type when
  the model supports the Converse API or the Anthropic Claude Messages API.
  This allows you to include a System prompt and previous User messages
  and Assistant messages for context.

  **Parameters**

  - `props` — - Properties for the chat prompt variant.

  **Returns:** A PromptVariant configured for chat interactions

- `text(props: TextPromptVariantProps): IPromptVariant` (static) — Creates a text template variant.

  **Parameters**

  - `props` — - Properties for the text prompt variant.

  **Returns:** A PromptVariant configured for text processing
