microsoft / TaskWeaver

A code-first agent framework for seamlessly planning and executing data analytics tasks.
https://microsoft.github.io/TaskWeaver/
MIT License
5.11k stars 652 forks source link

Deployment of Taskweaver to Azure subscription #253

Open RahilBukhari83 opened 5 months ago

RahilBukhari83 commented 5 months ago

Are there any recommendations, guidelines for deploying Taskweaver to an Azure environment? The purpose is to have a central service that specific teams could use for data analysis use cases. I have read and configured my local environment using conda, just wondered if there was a recommended approach if deploying to a cloud environment.

liqul commented 5 months ago

We are still working on core features of TaskWeaver, lacking of bandwidth on the deployment for various environments.

RahilBukhari83 commented 5 months ago

thanks for the prompt response. Do you have a view on how typically some teams / organisations have gone about deployments? For example have people primarily used it as a personal assistant on their local machines or have you heard / seen more centralise deployments? Apologies a difficult question to answer, I thought I would ask in case there was a view on it.

liqul commented 5 months ago

That is a great question.

There are different perspectives considering a LLM agent service. If you consider the functionality, it is similar to other services. There is typically only one API of this serivce to send a message to the agent, though you might need to consider how to handle the streaming response. However, if you consider security, that is more complicated especially as an agent that can generate and run arbitrary code. We need to, for example, identify various attacks, provide a good isolation between different sessions, as well as the isolation between code execution and the host environment. I'm sure there are other challenges, if you consider hosting an agent service in a scalable and secure manner.

But if consider it as a local assistant where the user fully owns it, it is a much simpler situation. For example, you typically don't consider malicious actions towards the agent as well as isolating multiple concurrent sessions.

We are still learning while developing this framework, and hopefully, we have a more concrete answer for this question :).