One-off vs Stream
One-off messages
A one-off message is a standard message that you can send entirely as you would do when you're chatting with a friend and hit send .
The entire message will be sent at once.
One-off messages are great for small content that you know in advance.3
For example, in our Ping-Pong recipe, we answer "pong" using a one-off message every time the user says "ping".
Streamed messages
Streamed messages are different from one-off messages.
When you send a streamed message, the user immediately sees a message box popping up.
However, every time you send a new stream on the same channel, it will aggregate to the same message box.
Sending a stream works in 3 steps:
π΅ Open a stream channel using the createStream() method
const channel = agent.createStream(conversationId)π΅ Write content to the stream as many times as you want
π΅ When you're done, close the channel
Et voilΓ π Here's an example of how a streamed response looks
Which one to choose?
It's pretty rare to hesitate between both, but if you're in that situation, here's a quick recap that might help.
One-off
β great when you know the content of the message upfront β suited when you need to inform the user quickly about something
βGenerally not suited to send multiple messages in a row
Stream
β feel more natural / human-friendly β suited for long-running tasks in the background
βBe careful with very very long answers because it can become borring for the user to wait, especially if you know the whole response upfront.
Last updated