
I work on developing and deploying innovative solutions for generative AI applications, such as text, image, and video synthesis, using LLMs, state-of-the-art techniques and frameworks, such as Langgraph, Langchain, Vector Databases, Advanced RAG, Multi-Agentic Systems, MCP etc.
I have over 10 years of professional experience in software engineering, data science, and machine learning, with a strong background in Python, ML, NLP, LLMs, Multi Agentic Systems, Computer Vision, Azure, and AWS. I graduated with a B.Tech. in Computer Science from the Indian Institute of Technology, Mandi, where I also served as a teaching assistant for the course on Artificial Intelligence.
Lead AI Engineer
Nops.ioLead AI Engineer
MyPocketLawyerData and Applied Scientist II
MicrosoftLead Data Scientist
Envision Global LeadershipData Science Manager
Fortem Genus LabsData Scientist - LLM and NLP Lead
CallidusAIResearch and Development Intern
Siemens Technology and Services
NLP

LLM

GPT-4

Fast API

OpenAI

Mistral

Qdrant

RAG

Python

Machine Learning

AI
.NET Core
Azure

MLOps

PowerBI

PyTorch
.png)
Docker

Kubernetes

AWS

GCP

SQL

NoSQL

Prompt Engineering
.png)
Flask

DevOps

Nodejs

Redis

Hadoop

Nagios

Linux Kernel
I'm not a, I have around 8 years of experience. My primary skills are in data science, machine learning, and generative AI, language models. I also worked at Microsoft for around 5 years. And I am looking for the next challenge. I've worked on many challenging products. I have also worked with the latest language models at Microsoft, and I've
been able to bring a solution that's key. Yeah. So, basically, if you have a PyTorch model, and if we're in a high-traffic, cloud-based production environment, then there are various steps. One is that we can deploy it in a Kubernetes cluster and then do horizontal scaling. And then do more than that. So, that's the first step to get load balancing, which is one thing. The other thing is that we can also convert the model to ONNX format, which is more optimized for this. That's the second step. The third is we can also use vertical scaling, using a high-end GPU for serving this.
on the top of my mind.
Yeah, so basically, AWS is a service function, and if you want to maintain managed state in a Python-based microservice that interacts with TensorFlow models hosted on AWS. For this state, we can use some external database and a config database or something like that. And basically, the AWS number can connect to that and get the state from that. So, that's one way of managing state in a Python-based microservice.
Yeah. So some of the best methods are basically using git. Not only is there version control, but it also ensures that there is a standard with if all the developers follow, then the code will be well managed. And we can also use mypy, which is a library for doing dynamic and static testing of the code. Another good practice is to basically add type hints also in the code, although Python doesn't require it. But, for credibility purposes, we should do that and also do proper exception handling.
Yeah, for containerization, I think if a cycle learn application, we can use Docker to containerize it. Like, we can create an API, like fast API or something, and then use Docker to containerize it and deploy it as a Docker image.
Yeah, just the screen dot add thing, basically, always will return true, whether it's seen or not seen, whether it's there in the set or not. So, basically, if you do return all of true, it will be true.
I think in this case, there can be some racing condition that will happen, and we cannot, and that's why the threads will not function as intended. So we can use some of the same words, or logs, in order to prevent it.
Yeah. So blue green deployment is easily done in a Kubernetes. Like, if you deploy your models to Kubernetes as Docker containers, then using Helm charts for the same, it happens in a blue green manner. Only thing is, if you do a new deployment, there are a couple of containers of the old model that are running, they will start up and then get decommissioned in a good manner.
Yeah. I think PyTorch is more widely adopted. There's a much more developer support for PyTorch, much more open source support for PyTorch, and that's why I think that is the preferred way to go. TensorFlow allows us some customizability, so that's the pro of TensorFlow.
Yeah. So basically, scalability always takes into account whether you want to scale it. So we have to deploy it in a manner where it can be easily scaled vertically or horizontally. That is one thing. Resilient neural networks will become, say, if you're having data augmentation in the training dataset so that it becomes more robust, more resilient. And similarly, we have to adopt all the responsibility principles while developing these. So those are the two, three things that can be done in order to make it.