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

# Conversation

> La classe Conversation regroupe des tours de conversation sous un même identifiant de conversation.

```python theme={"system"}
class Conversation(BaseModel): ...
```

Une conversation. Regroupe les tours de conversation par conversation\_id (sans span).

`continue_parent_trace` contrôle l’isolation des traces pour les tours de conversation créés par cette
conversation. Par défaut, la valeur `False` fait démarrer à chaque tour de conversation sa propre trace
OTel (le bon choix pour la vue autonome de l’onglet Conversations). Définissez `True`
lorsque l’application dispose d’une trace englobante (par exemple une requête instrumentée par fastapi)
qui doit contenir l’appel d’agent.

`Conversation` est un modèle Pydantic. Lors de sa construction, vous pouvez définir chacun des champs ci-dessous comme argument nommé.

`Conversation` est un gestionnaire de contexte et peut être utilisé dans une instruction `with`.

<h2 id="fields">
  Champs
</h2>

| Champ | Type | Par défaut | Description |
| - | - | - | - |
| `conversation_id` | `str` | `''` | |
| `conversation_name` | `str` | `''` | |
| `agent_name` | `str` | `''` | Valeurs par défaut définies au niveau de la conversation et héritées par chaque tour de conversation (la valeur propre au tour est prioritaire). system\_instructions est exclu, car il varie d’un tour de conversation à l’autre. |
| `model` | `str` | `''` | |
| `agent_id` | `str` | `''` | |
| `agent_description` | `str` | `''` | |
| `agent_version` | `str` | `''` | |
| `include_content` | `bool` | `True` | |
| `continue_parent_trace` | `bool` | `False` | |
| `attributes` | `dict[str, Any]` | `{}` | Attributs appliqués à chaque span émis par cette conversation. |

<h2 id="methods">
  Méthodes
</h2>

<h3 id="start_turn">
  start\_turn
</h3>

```python theme={"system"}
def start_turn(
    *,
    user_message: str = '',
    model: str = '',
    agent_name: str = '',
    agent_id: str = '',
    agent_description: str = '',
    agent_version: str = '',
    system_instructions: Union[list[str], None] = None,
) -> Turn: ...
```

Crée et démarre un tour de conversation. Termine automatiquement le tour de conversation précédent s’il est encore ouvert.

Définit la contextvar `_current_turn` afin que le tour de conversation soit accessible via
`get_current_turn()`, qu’un gestionnaire de contexte soit utilisé ou non.
Les paramètres `agent_name` / `model` / `agent_id` / `agent_description`
/ `agent_version` reprennent chacun la valeur par défaut de la conversation lorsqu’ils sont laissés
vides ; `continue_parent_trace` est hérité. Vous pouvez redéfinir n’importe lequel d’entre eux ultérieurement
via `turn.record(...)`.

`system_instructions` (le prompt système de l’agent) est porté par le
span invoke\_agent du tour de conversation ; il peut également être défini ultérieurement par affectation d’attribut
sur le `Turn` renvoyé, comme pour `start_llm`.

<h3 id="end">
  end
</h3>

```python theme={"system"}
def end() -> None: ...
```
