Loading video...

Video Failed to Load

Go Home

AI chat sample now streaming the chat replies across multiple browsers and can work with multiple replicas by publishing the chat stream via Redis (saving the full message to the db). Still very chatty (pun intended) and inefficient but fun to build! The video shows how aspire can amplify...

13,320 views • 1 year ago •via X (Twitter)

9 Comments

dinko_pavicic's profile picture
dinko_pavicic1 year ago

Wonder if Orleans could be feasible for this? For example, to have a chat room grain that stores last xx messages in the grain state. Since grain, when activated stays in the memory for some time could be similar to Redis? For older messages, query the db through grain.

Nima's profile picture
Nima1 year ago

Probably overkill but try Orleans, no need for redis, simpler architecture.

Mcs's profile picture
Mcs1 year ago

Do you have this sample code in a repo?

Ben Morris's profile picture
Ben Morris1 year ago

Realtime apps are fun. My little side project is similar .NET 9/redis/SignalR live chat app, built loosely over OpenAI assistants API. How are you handling user sending 2nd message while current one is processing?

David Fowler's profile picture
David Fowler1 year ago

Before the latest change I was using a semaphore, but now that I moved to redis that’s not currently blocked. I need to reimplement mutual exclusion ( I also need to implement cancellation of the steam.

Theo Albers '67's profile picture
Theo Albers '671 year ago

I used your repo on a brand new home pc. I had issues with podman, networking, but the Aspire part, getting started with another one's repo, worked like a charm.

Greg Kedzierski's profile picture
Greg Kedzierski1 year ago

There's no way to get a trace starting from the client app, right?

David Fowler's profile picture
David Fowler1 year ago

You can. I just didn’t do it.

ZeBobo5's profile picture
ZeBobo51 year ago

Time to fine tune your model on Aspire deployment ?

Related Videos