+
Stream Chat Completions with Tools

The useChat hook can be integrated with a Python FastAPI backend to stream chat completions in real-time. However, the most basic setup that involves streaming plain text chunks by setting the streamProtocol to text is limited.

As a result, setting the streamProtocol to data allows you to stream chunks that include information about tool calls and results.

To make your responses streamable, you will have to use the StreamingResponse class provided by FastAPI. You will also have to ensure that your chunks follow the data stream protocol and that the response has x-vercel-ai-data-stream header set to v1.