# Overview

As of version `5.44.1`, the SDK exposes AI-related components and props for integrating AI-powered responses (for example, chatbot-style rendering).

See [our React Native Assistant tutorial](https://getstream.io/blog/react-native-assistant/) before integrating AI.

## Best Practices

- Map your backend AI states to the SDK’s expected state model.
- Override default components only when your AI UX diverges from the defaults.
- Keep AI state transitions predictable to avoid flicker in UI.
- Handle `AI_STATE_ERROR` explicitly with user-friendly messaging.
- Treat AI components as opt-in and keep non-AI flows unaffected.

### AI States

The AI can be in several states that reflect response progress. See the current list [here](https://github.com/GetStream/stream-chat-react-native/v8/blob/5d81a975f8cb0ca43530eb81d0f4b7c56f0ebc19/package/src/components/AITypingIndicatorView/hooks/useAIState.ts#L9).

State meanings:

- `AI_STATE_THINKING` - the AI is thinking and trying to internally craft an answer to your query
- `AI_STATE_GENERATING` - the actual response to your query is being generated
- `AI_STATE_EXTERNAL_SOURCES` - the AI is checking external resources for information
- `AI_STATE_ERROR` - the AI has reached an error state while trying to answer your query
- `AI_STATE_IDLE` - the AI is in an idle state and is not doing anything

If your implementation uses different states, override the default components and behavior as needed.


---

This page was last updated at 2026-04-17T17:33:45.130Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react-native/v8/ui-components/ai/overview/](https://getstream.io/chat/docs/sdk/react-native/v8/ui-components/ai/overview/).