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

# Rewrite Strategy • Rust AI Agent SDK

> RewriteStrategy: Rewriting strategy for queries

# RewriteStrategy

> Defined in the [**Specialized Agents**](../modules/specialized_agents) module.

<Badge color="orange">Rust AI Agent SDK</Badge>

Rewriting strategy for queries

## Fields

| Name         | Type      | Description                             |
| ------------ | --------- | --------------------------------------- |
| `Basic`      | `variant` | -                                       |
| `query`      | `variant` | -                                       |
| `rewriting`  | `variant` | -                                       |
| `Basic`      | `variant` | Basic query rewriting                   |
| `HyDE`       | `variant` | -                                       |
| `Hyde`       | `variant` | HyDE (Hypothetical Document Embeddings) |
| `Step`       | `variant` | -                                       |
| `back`       | `variant` | -                                       |
| `prompting`  | `variant` | -                                       |
| `StepBack`   | `variant` | Step-back prompting                     |
| `Break`      | `variant` | -                                       |
| `into`       | `variant` | -                                       |
| `sub`        | `variant` | -                                       |
| `queries`    | `variant` | -                                       |
| `SubQueries` | `variant` | Break into sub-queries                  |
| `Generate`   | `variant` | -                                       |
| `multiple`   | `variant` | -                                       |
| `query`      | `variant` | -                                       |
| `variations` | `variant` | -                                       |
| `MultiQuery` | `variant` | Generate multiple query variations      |
| `Context`    | `variant` | -                                       |
| `aware`      | `variant` | -                                       |
| `rewriting`  | `variant` | -                                       |
| `Contextual` | `variant` | Context-aware rewriting                 |
| `Auto`       | `variant` | -                                       |
| `detect`     | `variant` | -                                       |
| `best`       | `variant` | -                                       |
| `strategy`   | `variant` | -                                       |
| `default`    | `variant` | Auto-detect best strategy               |
| `Auto`       | `variant` | Auto-detect best strategy               |

## Methods

### `all`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn all() -> Vec<RewriteStrategy>
```

Get all available strategies

### `from_str`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn from_str(s: &str) -> Option<Self>
```

Parse from string

**Parameters:**

| Name | Type   |
| ---- | ------ |
| `s`  | `&str` |

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-rust/praisonai/src/specialized_agents.rs">
  `praisonai/src/specialized_agents.rs` at line 0
</Card>
