This is so cool indeed! Another scenario would be to have a customer send a photo in the chat of their windscreen and an AI determines if the windscreen has a sensor or not. This is useful for people who run windscreen replacement businesses as most customers don't know what type of screen they have and have no idea where to look. I'm sure there an API with car VIN numbers which can specify if a car has a windscreen with a sensor or not, but it may be accurate or not. Having AI determine the type of glass and follow up with the car model and year can be used to quickly generate quotes and order out of stock screens when a customer is interested in a windscreen replacement.
@ That’s interesting, so basically we have session with user based on workflow lifetime, and temporal is really good for a long living tasks. this is great idea. just interesting, how you will solve if workflow done or terminated but we need to restore same session with user?
@@andrew.derevo The workflow's state (conversation history) is accessible as a Query. And you can query the state of finished workflows. If you want to 'restore' a workflow, you could query your finished workflow and use it as input to a new agent workflow. Your workflow would need to support taking an existing history as input data, but that's also easy to do.
@ As i remember by default in temporal workflow history lifetime is about few weeks or so, but we can change it of course and make it lived longer but for some reason it feels like not a best solution, am i wrong? (in my mind better solution come like external persist storage service that store historical data for finished workflows and then we recreate new workflow from there. one more Postgres, Redis, Mondo, etc) i still learning temporal and often overthinking i guess, will be really happy to hear some advice from experienced developers 🙏
@@andrew.derevo you're right. Finished workflows have a maximum retention period (90 days in Temporal Cloud). There's a workflow export feature so you can store it in your own S3 bucket, for example. Ultimately, if you want ended chat histories to be used again, I agree with you that you want to be persisting that information to a nosql / relational database.
I have one more question about Pydantic😅 de facto it’s kind of standard in python world, but it seems there is still no a perfect solution for temporal? we use pydantic converter from official examples but it feels a bit confusing to me, what do you think about this case? (especially in AI niche pydantic do a pretty good job to get structured outputs from LLM’s and integrated in almost all top python AI libraries)
Amazing. Short, simple and open… 👏
This is fantastic. I love demos like this that bring multiple tools together to solve a problem
This is great, I was actually looking at temporal over the last weeks for this exact use case. Great demo
This is so cool indeed!
Another scenario would be to have a customer send a photo in the chat of their windscreen and an AI determines if the windscreen has a sensor or not. This is useful for people who run windscreen replacement businesses as most customers don't know what type of screen they have and have no idea where to look.
I'm sure there an API with car VIN numbers which can specify if a car has a windscreen with a sensor or not, but it may be accurate or not. Having AI determine the type of glass and follow up with the car model and year can be used to quickly generate quotes and order out of stock screens when a customer is interested in a windscreen replacement.
Awesome
love temporal. Don’t check code example yet but it looks like it use same workflow from chat start to end?
Yep! Easy to delegate tool-running into child workflows if that's desirable, though
@ That’s interesting, so basically we have session with user based on workflow lifetime, and temporal is really good for a long living tasks. this is great idea. just interesting, how you will solve if workflow done or terminated but we need to restore same session with user?
@@andrew.derevo The workflow's state (conversation history) is accessible as a Query. And you can query the state of finished workflows. If you want to 'restore' a workflow, you could query your finished workflow and use it as input to a new agent workflow. Your workflow would need to support taking an existing history as input data, but that's also easy to do.
@ As i remember by default in temporal workflow history lifetime is about few weeks or so, but we can change it of course and make it lived longer but for some reason it feels like not a best solution, am i wrong? (in my mind better solution come like external persist storage service that store historical data for finished workflows and then we recreate new workflow from there. one more Postgres, Redis, Mondo, etc) i still learning temporal and often overthinking i guess, will be really happy to hear some advice from experienced developers 🙏
@@andrew.derevo you're right. Finished workflows have a maximum retention period (90 days in Temporal Cloud). There's a workflow export feature so you can store it in your own S3 bucket, for example.
Ultimately, if you want ended chat histories to be used again, I agree with you that you want to be persisting that information to a nosql / relational database.
Very cool! Combine temporal with notdiamond ai = homerun.
I have one more question about Pydantic😅 de facto it’s kind of standard in python world, but it seems there is still no a perfect solution for temporal? we use pydantic converter from official examples but it feels a bit confusing to me, what do you think about this case? (especially in AI niche pydantic do a pretty good job to get structured outputs from LLM’s and integrated in almost all top python AI libraries)
Stay tuned, we're working on Pydantic support in our Python SDK and plan to release this soon!
@ amazing news😍