<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Hanu koshti on Medium]]></title>
        <description><![CDATA[Stories by Hanu koshti on Medium]]></description>
        <link>https://medium.com/@hanukoshti?source=rss-c4b7c75acb47------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Tums41FARnW23dtyXsi86w.jpeg</url>
            <title>Stories by Hanu koshti on Medium</title>
            <link>https://medium.com/@hanukoshti?source=rss-c4b7c75acb47------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 18 May 2026 06:36:47 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@hanukoshti/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[The Shift From AI as a Tool to AI as a Digital Teammate]]></title>
            <link>https://medium.com/@hanukoshti/the-shift-from-ai-as-a-tool-to-ai-as-a-digital-teammate-a24567abc64a?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/a24567abc64a</guid>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[ai-tools]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Tue, 03 Feb 2026 13:07:41 GMT</pubDate>
            <atom:updated>2026-02-03T13:07:41.123Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VLoMAISI6gPYrMd5NyWiiQ.png" /></figure><p>For most of its history, AI has been treated like software:<br> you open it, give it an input, get an output, and move on.</p><p>Useful — but limited.</p><p>That model is breaking.</p><p>We’re now entering a phase where AI is no longer just something we <em>use</em>.<br> It’s something we increasingly <strong>work with</strong>.</p><p>This is the shift from <strong>AI as a tool</strong> to <strong>AI as a digital teammate</strong>.</p><h3>Tools Execute. Teammates Collaborate.</h3><p>A tool does exactly what it’s told — nothing more, nothing less.<br> A teammate understands context, takes initiative, and helps move work forward.</p><p>Modern AI systems are beginning to:</p><ul><li>Maintain long-term context</li><li>Understand goals instead of isolated tasks</li><li>Decide what action to take next</li><li>Use tools, data, and systems autonomously</li><li>Learn from outcomes and improve over time</li></ul><p>That’s no longer just assistance.<br> That’s collaboration.</p><h3>What a Digital Teammate Actually Looks Like</h3><p>A digital teammate doesn’t replace humans — it <strong>augments them</strong>.</p><p>Instead of:</p><blockquote><em>“Generate this report.”</em></blockquote><p>The interaction becomes:</p><blockquote><em>“Monitor this metric, flag anomalies, propose actions, and execute once approved.”</em></blockquote><p>Instead of:</p><blockquote><em>“Help me debug this issue.”</em></blockquote><p>It becomes:</p><blockquote><em>“Investigate the failure, test hypotheses, fix the bug, and open a PR.”</em></blockquote><p>The human sets direction.<br> The AI handles execution.</p><h3>Why This Shift Matters</h3><p>This transition fundamentally changes how organizations scale.</p><p><strong>1. Execution becomes cheaper than coordination</strong><br> AI teammates reduce the overhead of managing tasks, follow-ups, and handoffs.</p><p><strong>2. Small teams gain disproportionate leverage</strong><br> A team of five, augmented by AI teammates, can operate like a team of fifty.</p><p><strong>3. Knowledge stops being siloed</strong><br> AI teammates retain context across projects, decisions, and timelines.</p><p><strong>4. Speed becomes a competitive advantage</strong><br> Decisions move from days to minutes. Iteration cycles compress.</p><p>This isn’t productivity optimization.<br> It’s <strong>organizational transformation</strong>.</p><h3>The Human Role Doesn’t Disappear — It Evolves</h3><p>As AI takes on execution, human value shifts upward.</p><p>Humans focus more on:</p><ul><li>Setting direction and intent</li><li>Making judgment calls</li><li>Handling ambiguity and ethics</li><li>Defining success and constraints</li><li>Owning accountability</li></ul><p>AI handles:</p><ul><li>Repetition</li><li>Coordination</li><li>Analysis</li><li>First-pass decision making</li><li>Continuous execution</li></ul><p>The future isn’t human <em>vs</em> AI.<br> It’s human <strong>with</strong> AI.</p><h3>The Real Challenge: Trust and Responsibility</h3><p>Treating AI as a teammate raises new questions:</p><ul><li>Who is accountable for outcomes?</li><li>How much autonomy is too much?</li><li>When should humans intervene?</li><li>How do we audit decisions?</li></ul><p>Successful teams won’t blindly delegate.<br> They’ll design <strong>clear boundaries, authority, and oversight</strong>.</p><p>Digital teammates need rules, feedback loops, and alignment — just like human ones.</p><h3>Final Thought</h3><p>AI as a tool helped us work faster.<br> AI as a digital teammate will help us work <strong>differently</strong>.</p><p>The teams that win won’t be the ones using the most AI features.<br> They’ll be the ones that <strong>redesign how work gets done</strong> around AI collaboration.</p><p>The future of work isn’t automated.<br> It’s <strong>collaborative</strong>.</p><p>And AI is officially joining the team.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a24567abc64a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why I Love Coffee… and Your Support!]]></title>
            <link>https://medium.com/@hanukoshti/why-i-love-coffee-and-your-support-103fb47bc682?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/103fb47bc682</guid>
            <category><![CDATA[development]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[coffee]]></category>
            <category><![CDATA[support]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Wed, 16 Oct 2024 19:20:15 GMT</pubDate>
            <atom:updated>2024-10-16T19:20:15.950Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1r-fuNqULQC4HiL0vsVaaQ.png" /></figure><p>Sharing valuable content takes time and effort. If you enjoy my posts and find them helpful, consider buying me a coffee! Your support helps me dedicate more time to research, writing, and bringing you even better insights.</p><p><a href="https://www.buymeacoffee.com/Litemax">buymeacoffee.com/Litemax</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=103fb47bc682" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Devops]]></title>
            <link>https://medium.com/@hanukoshti/devops-7f0d1c676425?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/7f0d1c676425</guid>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[roadmaps]]></category>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Sat, 28 Sep 2024 18:22:47 GMT</pubDate>
            <atom:updated>2024-09-28T18:22:47.586Z</atom:updated>
            <content:encoded><![CDATA[<h3>Devops Roadmap</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/791/1*RcuOn-dJhVPJ7zrOoOjm-Q.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7f0d1c676425" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[25 Open Source AI Tools to Cut Your Development Time in Half]]></title>
            <link>https://medium.com/@hanukoshti/25-open-source-ai-tools-to-cut-your-development-time-in-half-a3964989459b?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/a3964989459b</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[beginner]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Fri, 06 Sep 2024 11:43:10 GMT</pubDate>
            <atom:updated>2024-09-06T11:43:10.748Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*0dh57LDdo4MCHPnV.jpg" /></figure><p><a href="https://dev.to/t/beginners">#beginners</a> <a href="https://dev.to/t/opensource">#opensource</a> <a href="https://dev.to/t/ai">#ai</a> <a href="https://dev.to/t/programming">#programming</a></p><p>Each ML/AI project stakeholder requires specialized tools that efficiently enable them to manage the various stages of an ML/AI project, from data preparation and model development to deployment and monitoring. They tend to use specialized open source tools because of <a href="http://spiceworks.com/tech/artificial-intelligence/articles/open-source-vs-proprietary-ai-development/#:~:text=It%20offers%20significant%20cost%20advantages,building%20trust%20in%20AI%20systems.%E2%80%9D">their contribution as a significant catalyst to the advancement, development, and ease of AI projects</a>. As a result, numerous open source AI tools have emerged over the years, making it challenging to pick from the available options.</p><p>This article highlights some factors to consider when picking open source tools and introduces you to 25 open-source options that you can use for your AI project.</p><h3>Picking open source tools for AI project</h3><p>The open source tooling model has allowed companies to develop diverse ML tools to help you handle particular problems in an AI project. The AI tooling landscape is already quite saturated with tools, and the abundance of options makes tool selection difficult. Some of these tools even provide similar solutions. You may be tempted to lean toward adopting tools just because of the enticing features they present. However, there are other crucial factors that you should consider before selecting a tool, which include:</p><ul><li>Popularity</li><li>Impact</li><li>Innovation</li><li>Community engagement</li><li>Relevance to emerging AI trends.</li></ul><h3>Popularity</h3><p>Widely adopted tools often indicate active development, regular updates, and strong community support, ensuring reliability and longevity.</p><h3>Impact</h3><p>A tool with a track record of addressing pain points, delivering measurable improvements, providing long-term project sustainability, and adapting to evolving needs of the problems of an AI project is a good measure of an impactful tool that stakeholders are interested in leveraging.</p><h3>Innovation</h3><p>Tools that embrace more modern technologies and offer unique features demonstrate a commitment to continuous improvement and have the potential to drive advancements and unlock new possibilities.</p><h3>Community engagement</h3><p>Active community engagement fosters collaboration, provides support, and ensures a tool’s continued relevance and improvement.</p><h3>Relevance to emerging AI trends</h3><p>Tools aligned with emerging trends like LLMs enable organizations to leverage the latest capabilities, ensuring their projects remain at the forefront of innovation.</p><h3>25 Open Source Tools for Your AI Project</h3><p>Based on these factors, here are 25 tools that you and the different stakeholders on your team can use for various stages in your AI project.</p><h3>1. KitOps</h3><p>Multiple stakeholders are involved in the machine learning development lifecycle which requires different MLOps tools and environments at various stages of the AI project., which makes it hard to guarantee an organized, portable, transparent, and secure model development pipeline.</p><p>This introduces opportunities for model lineage breaks and accidental or malicious model tampering or modifications during model development. Since the contents of a model are a “black box” — without efficient storage and lineage — it is impossible to know if a model’s or model artifact’s content has been tampered with between model development, staging, deployment, and retirement pipelines.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*k2c_dHUdLu2P1OKj.png" /></figure><p><a href="https://kitops.ml/">KitOps</a> provides AI project stakeholders with a secure package called ModelKit that they can use to share and manage models, code, metadata, and artifacts throughout the ML development lifecycle.</p><p>The ModelKit is an immutable OCI-standard artifact that leverages normal container-native technologies (similar to Docker and Kubernetes), making them seamlessly interoperable and portable across various stakeholders using common software tools and environments. As an immutable package, ModelKit is tamper-proof. This tamper-proof property provides stakeholders with a versioning system that tracks every single update to any of its content (i.e., models, code, metadata, and artifacts) throughout the ML development and deployment pipelines.</p><h3>2. LangChain</h3><p><a href="https://www.langchain.com/">LangChain</a> is a machine learning framework that enables ML engineers and software developers to build end-to-end LLM applications quickly. Its modular architecture allows them to easily mix and match its <a href="https://python.langchain.com/v0.1/docs/modules/">extensive suite of components</a> to create custom LLM applications.</p><p>LangChain simplifies the LLM application’s development and deployment stages with its ecosystem of interconnected parts, consisting of <a href="https://docs.smith.langchain.com/">LangSmith</a>, <a href="https://langchain-ai.github.io/langgraph/">LangServe</a>, and <a href="https://python.langchain.com/v0.2/docs/langserve/">LangGraph</a>. Together, they enable ML engineers and software developers to build robust, diverse, and scaleable LLM applications efficiently.</p><p>LangChain enables professionals without a strong AI background to easily build an application with large language models (LLMs).</p><h3>3. Pachyderm</h3><p><a href="https://www.pachyderm.com/">Pachyderm</a> is a data versioning and management platform that enables engineers to automate complex data transformations. It uses a data infrastructure that provides data lineage via a data-driven versioning pipeline. The version-controlled pipelines are automatically triggered based on changes in the data. It tracks every modification to the data, making it simple to duplicate previous results and test with various pipeline versions.</p><p>Pachyderm’s data infrastructure provides “data-aware” pipelines with versioning and lineage.</p><h3>4. ZenML</h3><p><a href="https://docs.zenml.io/">ZenML</a> is a structured MLOps framework that abstracts the creation of MLOps pipelines, allowing data scientists and ML engineers to focus on the core steps of data preprocessing, model training, evaluation, and deployment without getting bogged down in infrastructure details.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*Bn1oN4E1d4tq6M4r.png" /></figure><p>ZenML framework abstracts MLOps infrastructure complexities and simplifies the adoption of MLOps, making the AI project components accessible, reusable, and reproducible.</p><h3>5. Prefect</h3><p><a href="https://docs.prefect.io/latest/">Prefect</a> is an MLOps orchestration framework for machine learning pipelines. It uses the concepts of tasks (individual units of work) and flows (sequences of tasks) to construct an ML pipeline for running different steps of an ML code, such as feature engineering and training. This modular structure enables ML engineers to simplify creating and managing complex ML workflows.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*dwGPkbyWCU00guIL.png" /></figure><p>Prefect simplifies data workflow management, robust error handling, state management, and extensive monitoring.</p><h3>6. Ray</h3><p><a href="https://www.ray.io/">Ray</a> is a distributed computing framework that makes it easy for data scientists and ML engineers to scale machine learning workloads during model development. It simplifies scaling computationally intensive workloads, like loading and processing extensive data or deep learning model training, from a single machine to large clusters.</p><p>Ray’s core distributed runtime, making it easy to scale ML workloads.</p><h3>7. Metaflow</h3><p><a href="https://docs.metaflow.org/">Metaflow</a> is an MLOps tool that enhances the productivity of data scientists and ML engineers with a unified API. The API offers a code-first approach to building data science workflows, and it contains the whole <a href="https://docs.metaflow.org/introduction/why-metaflow">infrastructure stack</a> that data scientists and ML engineers need to execute AI projects from prototype to production.</p><h3>8. MLflow</h3><p><a href="https://mlflow.org/docs/latest/index.html">MLflow</a> allows data scientists and engineers to manage model development and experiments. It streamlines your entire model development lifecycle, from experimentation to deployment.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/513/0*FcJ3nZO403w-eBxO.png" /></figure><p>MLflow’s key features include:<br><strong>MLflow tracking:</strong> It provides an API and UI to record and query your experiment, parameters, code versions, metrics, and output files when training your machine learning model. You can then compare several runs after logging the results.</p><p><strong>MLflow projects:</strong> It provides a standard reusable format to package data science code and includes API and CLI to run projects to chain into workflows. Any Git repository / local directory can be treated as an MLflow project.</p><p><strong>MLflow models:</strong> It offers a standard format to deploy ML models in diverse serving environments.</p><p><strong>MLflow model registry:</strong> It provides you with a centralized model store, set of APIs, and UI, to collaboratively manage the full lifecycle of a model. It also enables model lineage (from your model experiments and runs), model versioning, and development stage transitions (i.e., moving a model from staging to production).</p><h3>9. Kubeflow</h3><p><a href="https://www.kubeflow.org/docs/">Kubeflow</a> is an MLOps toolkit for Kubernetes. It is designed to simplify the orchestration and deployment of ML workflows on Kubernetes clusters. Its primary purpose is to make scaling and managing complex ML systems easier, portable, and scalable across different infrastructures.</p><p>Kubeflow is a key player in the MLOps landscape, and it introduced a robust and flexible platform for building, deploying, and managing machine learning systems on Kubernetes. This unified platform for developing, deploying, and managing ML models enables collaboration among data scientists, ML engineers, and DevOps teams.</p><h3>10. Seldon core</h3><p><a href="https://docs.seldon.io/projects/seldon-core/en/latest/workflow/github-readme.html">Seldon core</a> is an MLOps platform that simplifies the deployment, serving, and management of machine learning models by converting ML models (TensorFlow, PyTorch, H2o, etc.) or language wrappers (Python, Java, etc.) into production-ready REST/GRPC microservices. Think of them as pre-packaged inference servers or custom servers. Seldon core also enables the containerization of these servers and offers out-of-the-box features like advanced metrics, request logging, explainers, outlier detectors, A/B tests, and canaries.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*mbSn3Kr9UlaWe-ny.png" /></figure><p>Seldon Core’s solution focuses on model management and governance. Its adoption is geared toward ML and DevOps engineers, specifically for model deployment and monitoring, instead of small data science teams.</p><h3>11. DVC (Data Version Control)</h3><p>Implementing version control for machine learning projects entails managing both code and the datasets, ML models, performance metrics, and other development-related artifacts. Its purpose is to bring the best practices from software engineering, like version control and reproducibility, to the world of data science and machine learning. <a href="https://dvc.org/">DVC</a> enables data scientists and ML engineers to track changes to data and models like Git does for code, making it able to run on top of any Git repository. It enables the management of model experiments.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*dYkS6BX1kARj7WUW.png" /></figure><p>DVC’s integration with Git makes it easier to apply software engineering principles to data science workflows.</p><h3>12. Evidently AI</h3><p><a href="https://docs.evidentlyai.com/">EvidentlyAI</a> is an observability platform designed to analyze and monitor production machine learning (ML) models. Its primary purpose is to help ML practitioners understand and maintain the performance of their deployed models over time. Evidently provides a comprehensive set of tools for tracking key model performance metrics, such as accuracy, precision, recall, and drift detection. It also enables stakeholders to generate interactive reports and visualizations that make it easy to identify issues and trends.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*0kivJnjqJ0fPwTmH.png" /></figure><h3>13. Mage AI</h3><p><a href="https://www.mage.ai/">Mage AI</a> is a data transforming and integrating framework that allows data scientists and ML engineers to build and automate data pipelines without extensive coding. Data scientists can easily connect to their data sources, ingest data, and build production-ready data pipelines within Mage notebooks.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*vwRx3BUlYWutThd_.png" /></figure><h3>14. ML Run</h3><p><a href="https://www.mlrun.org/">ML Run</a> provides a serverless technology for orchestrating end-to-end MLOps systems. The serverless platform converts the ML code into scalable and managed microservices. This streamlines the development and management pipelines of the data scientists, ML, software, and DevOps/MLOps engineers throughout the entire machine learning (ML) lifecycle, across their various environments.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*qwyic_7u-lfvkqAm.png" /></figure><h3>15. Kedro</h3><p><a href="https://kedro.org/">Kedro</a> is an ML development framework for creating reproducible, maintainable, modular data science code. Kedro improves AI project development experience via data abstraction and code organization. Using lightweight data connectors, it provides a centralized data catalog to manage and track datasets throughout a project. This enables data scientists to focus on building production level code through Kedro’s data pipelines, enabling other stakeholders to use the same pipelines in different parts of the system.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*3nC6f1xnGL1cJgmw.png" /></figure><p>Kedro focuses on data pipeline development by enforcing SWE best practices for data scientists.</p><h3>16. WhyLogs</h3><p><a href="https://whylogs.readthedocs.io/en/latest/index.html">WhyLogs</a> by WhyLabs is an open-source data logging library designed for machine learning (ML) models and data pipelines. Its primary purpose is to provide visibility into data quality and model performance over time.</p><p>With WhyLogs, MLOps engineers can efficiently generate compact summaries of datasets (called profiles) that capture essential statistical properties and characteristics. These profiles track changes in datasets over time, helping detect data drift — a common cause of model performance degradation. It also provides tools for visualizing key summary statistics from dataset profiles, making it easy to understand data distributions and identify anomalies.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*SdzTmPwIA8Es6_89.png" /></figure><h3>17. Feast</h3><p>Defining, storing, and accessing features for model training and online inference in silos (i.e., from different locations) can lead to inconsistent feature definitions, data duplication, complex data access and retrieval, etc. <a href="https://feast.dev/">Feast</a> solves the challenge of stakeholders managing and serving machine learning (ML) features in development and production environments.</p><p>Feast is a feature store that bridges the gap between data and machine learning models. It provides a centralized repository for defining feature schemas, ensuring consistency across different teams and projects. This can ensure that the feature values used for model inference are consistent with the state of the feature at the time of the request, even for historical data.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*X_v8FuXoS9LRyE0j.png" /></figure><p>Feast is a centralized repository for managing, storing, and serving features, ensuring consistency and reliability across training and serving environments.</p><h3>18. Flyte</h3><p>Data scientists and data and analytics pipeline engineers typically rely on ML and platform engineers to transform models and training pipelines into production-ready systems.</p><p><a href="https://flyte.org/">Flyte</a> empowers data scientists and data and analytics engineers with the autonomy to work independently. It provides them with a Python SDK for building workflows, which can then be effortlessly deployed to the Flyte backend. This simplifies the development, deployment, and management of complex ML and data workflows by building and executing reliable and reproducible pipelines at scale.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*2y7EV8j19LWRd8tF.png" /></figure><h3>19. Featureform</h3><p>The ad-hoc practice of data scientists developing features for model development in isolation makes it difficult for other AI project stakeholders to understand, reuse, or build upon existing work. This leads to duplicated effort, inconsistencies in feature definitions, and difficulties in reproducing results.</p><p><a href="https://www.featureform.com/">Featureform</a> is a virtual feature store that streamlines data scientists’ ability to manage and serve features for machine learning models. It acts as a “virtual” layer over existing data infrastructure like Databricks and Snowflake. This allows data scientists to engineer and deploy features directly to the data infrastructure for other stakeholders. Its structured, centralized feature repository and metadata management approach empower data scientists to seamlessly transition their work from experimentation to production, ensuring reproducibility, collaboration, and governance throughout the ML lifecycle.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*ksI9_FZf7xq18IQT.png" /></figure><h3>20. Deepchecks</h3><p><a href="https://deepchecks.com/">Deepchecks</a> is an ML monitoring tool for continuously testing and validating machine learning models and data from an AI project’s experimentation to the deployment stage. It provides a wide range of built-in checks to validate model performance, data integrity, and data distribution. These checks help identify issues like model bias, data drift, concept drift, and leakage.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*Z4rzjyCTNa8odyTw.png" /></figure><h3>21. Argo</h3><p><a href="https://argoproj.github.io/workflows/">Argo</a> provides a Kubernetes-native workflow engine for orchestrating parallel jobs on Kubernetes. Its primary purpose is to streamline the execution of complex, multi-step workflows, making it particularly well-suited for machine learning (ML) and data processing tasks. It enables ML engineers to define each step of the ML workflow (data preprocessing, model training, evaluation, deployment) as individual containers, making it easier to manage dependencies and ensure reproducibility.</p><p>Argo workflows are defined using DAGs, where each node represents a step in the workflow (typically a containerized task), and edges represent dependencies between steps. Workflows can be defined as a sequence of tasks (steps) or as a Directed Acyclic Graph (DAG) to capture dependencies between tasks.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*6lxMc5KRhxyyRJPM.png" /></figure><h3>22. Deep Lake</h3><p><a href="https://docs.activeloop.ai/?utm_source=deeplakeweb&amp;utm_medium=web&amp;utm_campaign=navbar&amp;utm_id=deeplake">Deep Lake</a> (formerly Activeloop Hub) is an ML-specific database tool designed to act as a data lake for deep learning and a vector store for RAG applications. Its primary purpose is accelerating model training by providing fast and efficient access to large-scale datasets, regardless of format or location.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*dvp926LNj_2SEUk4.png" /></figure><h3>23. Hopsworks feature store</h3><p>Advanced MLOps pipelines with at least an <a href="https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning">MLOps maturity level 1</a> architecture require a centralized feature store. <a href="https://docs.hopsworks.ai/latest/concepts/fs/">Hopsworks</a> is a perfect feature store for such architecture. It provides an end-to-end solution for managing ML feature lifecycle, from data ingestion and feature engineering to model training, deployment, and monitoring. This facilitates feature reuse, consistency, and faster model development.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/788/0*sjk7PKg6BVppZHcM.png" /></figure><h3>24. NannyML</h3><p><a href="https://www.nannyml.com/">NannyML</a> is a Python library specialized in post-deployment monitoring and maintenance of machine learning (ML) models. It enables data scientists to detect and address silent model failure, estimate model performance without immediate ground truth data, and identify data drift that might be responsible for performance degradation.</p><p>GIF</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/0*k6ljRhw5SuXQ1Zem.gif" /></figure><h3>25. Delta Lake</h3><p><a href="https://delta.io/">Delta Lake</a> is a storage layer framework that provides reliability to data lakes. It addresses the challenges of managing large-scale data in lakehouse architectures, where data is stored in an open format and used for various purposes, like machine learning (ML). Data engineers can build real-time pipelines or ML applications using Delta Lake because it supports both batch and streaming data processing. It also brings ACID (atomicity, consistency, isolation, durability) transactions to data lakes, ensuring data integrity even with concurrent reads and writes from multiple pipelines.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*TaVu6L2zB48eStb9.png" /></figure><p>Considering factors like popularity, impact, innovation, community engagement, and relevance to emerging AI trends can help guide your decision when picking open source AI/ML tools, especially for those offering the same value proposition. In some cases, such tools may have different ways of providing solutions for the same use case or possess unique features that make them perfect for a specific project use case.</p><p>For instance, some model development, deployment, and management tools like MLRun or Kubeflow provide a platform or API for easy development of an AI project. This usually dictates the stakeholder’s use of the platform’s environment, infrastructure, and workflows. KitOps provides its solution as a package that allows stakeholders in an AI project to version and share their work while using their existing tools, environment, and development practices. To try out the KitOps solution, <a href="https://kitops.ml/docs/quick-start.html">follow this guide</a> to get started.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a3964989459b" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Key in dictionary in Python]]></title>
            <link>https://medium.com/@hanukoshti/key-in-dictionary-in-python-39f0237a7718?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/39f0237a7718</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[coding]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Thu, 08 Jun 2023 15:24:25 GMT</pubDate>
            <atom:updated>2023-06-08T15:24:25.601Z</atom:updated>
            <content:encoded><![CDATA[<p>Checks if the given key exists in a dictionary.</p><ul><li>Use the in operator to check if d contains key.</li></ul><pre>PYTHON<br>def key_in_dict(d, key):<br>  return (key in d)<br><br>EXAMPLE<br>d = {&#39;one&#39;: 1, &#39;three&#39;: 3, &#39;five&#39;: 5, &#39;two&#39;: 2, &#39;four&#39;: 4}<br>key_in_dict(d, &#39;three&#39;) # True</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=39f0237a7718" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Find key of value in Python]]></title>
            <link>https://medium.com/@hanukoshti/find-key-of-value-in-python-e3f21b60f27a?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/e3f21b60f27a</guid>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[values]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Thu, 08 Jun 2023 15:22:54 GMT</pubDate>
            <atom:updated>2023-06-08T15:22:54.774Z</atom:updated>
            <content:encoded><![CDATA[<p>Finds the first key in the provided dictionary that has the given value.</p><ul><li>Use dictionary.items() and next() to return the first key that has a value equal to val.</li></ul><pre>PYTHON<br>def find_key(dict, val):<br>  return next(key for key, value in dict.items() if value == val)<br><br>EXAMPLE<br>ages = {<br>  &#39;Peter&#39;: 10,<br>  &#39;Isabel&#39;: 11,<br>  &#39;Anna&#39;: 9,<br>}<br>find_key(ages, 11) # &#39;Isabel&#39;</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e3f21b60f27a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Key of min value in Python]]></title>
            <link>https://medium.com/@hanukoshti/key-of-min-value-in-python-182f7d1bb741?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/182f7d1bb741</guid>
            <category><![CDATA[python]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[values]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Thu, 08 Jun 2023 15:21:35 GMT</pubDate>
            <atom:updated>2023-06-08T15:21:35.398Z</atom:updated>
            <content:encoded><![CDATA[<p>Finds the key of the minimum value in a dictionary.</p><ul><li>Use min() with the key parameter set to dict.get() to find and return the key of the minimum value in the given dictionary.</li></ul><pre>PYTHON<br>def key_of_min(d):<br>  return min(d, key = d.get)<br><br>EXAMPLE<br>key_of_min({&#39;a&#39;:4, &#39;b&#39;:0, &#39;c&#39;:13}) # b</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=182f7d1bb741" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Key of max value in Python]]></title>
            <link>https://medium.com/@hanukoshti/key-of-max-value-in-python-1ae37dcb6a54?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/1ae37dcb6a54</guid>
            <category><![CDATA[python]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[values]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Thu, 08 Jun 2023 15:19:58 GMT</pubDate>
            <atom:updated>2023-06-08T15:19:58.058Z</atom:updated>
            <content:encoded><![CDATA[<p>Finds the key of the maximum value in a dictionary.</p><ul><li>Use max() with the key parameter set to dict.get() to find and return the key of the maximum value in the given dictionary.</li></ul><pre>PYTHON<br>def key_of_max(d):<br>  return max(d, key = d.get)<br><br>EXAMPLE<br>key_of_max({&#39;a&#39;:4, &#39;b&#39;:0, &#39;c&#39;:13}) # c</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1ae37dcb6a54" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Dictionary values in Python]]></title>
            <link>https://medium.com/@hanukoshti/dictionary-values-in-python-df1a0f9a36da?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/df1a0f9a36da</guid>
            <category><![CDATA[python]]></category>
            <category><![CDATA[values]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Thu, 08 Jun 2023 15:18:03 GMT</pubDate>
            <atom:updated>2023-06-08T15:18:03.879Z</atom:updated>
            <content:encoded><![CDATA[<p>Returns a flat list of all the values in a flat dictionary.</p><ul><li>Use dict.values() to return the values in the given dictionary.</li><li>Return a list() of the previous result.</li></ul><pre>PYTHON<br>def values_only(flat_dict):<br>  return list(flat_dict.values())<br><br>EXAMPLE<br>ages = {<br>  &#39;Peter&#39;: 10,<br>  &#39;Isabel&#39;: 11,<br>  &#39;Anna&#39;: 9,<br>}<br>values_only(ages) # [10, 11, 9]</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=df1a0f9a36da" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Tip: You should use dict.get(key) instead of dict[key] in Python]]></title>
            <link>https://medium.com/@hanukoshti/tip-you-should-use-dict-get-key-instead-of-dict-key-in-python-a6d3268f5a08?source=rss-c4b7c75acb47------2</link>
            <guid isPermaLink="false">https://medium.com/p/a6d3268f5a08</guid>
            <category><![CDATA[python]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[tips]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Hanu koshti]]></dc:creator>
            <pubDate>Thu, 08 Jun 2023 15:15:12 GMT</pubDate>
            <atom:updated>2023-06-08T15:15:12.206Z</atom:updated>
            <content:encoded><![CDATA[<p>A common debate among Python developers seems to stem from the retrieval of dictionary values, which can be accomplished using either dict[key] or dict.get(key).</p><p>Although you can achieve the same result using either one, dict.get() is usually preferred, as it accepts a second argument which acts as the default value shall the key not exist in the given dictionary. Due to this property, dict.get() will always return a value, whereas dict[key] will raise a KeyError if the given key is missing.</p><pre>PYTHON<br>a = { &#39;max&#39;: 200 }<br>b = { &#39;min&#39;: 100, &#39;max&#39;: 250 }<br>c = { &#39;min&#39;: 50 }<br><br>a[&#39;min&#39;] + b[&#39;min&#39;] + c[&#39;min&#39;] # throws KeyError<br>a.get(&#39;min&#39;, 0) + b.get(&#39;min&#39;, 0) + c.get(&#39;min&#39;, 0) # 150</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a6d3268f5a08" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>