# Amex GBT Technology

Stories from Amex GBT's engineering, data science and product teams - Medium

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Creating an AI Platform for classic ML online inference

DevFeed: [Creating an AI Platform for classic ML online inference](<https://devfeed.tech/articles/creating-an-ai-platform-for-classic-ml-online-inference-22589.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/creating-an-ai-platform-for-classic-ml-online-inference-e2165d68e18a?source=rss----60a0578f4096---4>)

Author: Rohith Leeladharan

Published: 2026-09-10T07:26:46Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [AI Platform](<https://devfeed.tech/topics/ai-platform.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [MLOps](<https://devfeed.tech/topics/mlops.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [model-deployment](<https://devfeed.tech/topics/model-deployment.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-platform](<https://devfeed.tech/tags/ai-platform.md>), [ai-platform-engineering](<https://devfeed.tech/tags/ai-platform-engineering.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [experiments](<https://devfeed.tech/tags/experiments.md>), [feature-store](<https://devfeed.tech/tags/feature-store.md>), [inference](<https://devfeed.tech/tags/inference.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [ml](<https://devfeed.tech/tags/ml.md>), [mlops](<https://devfeed.tech/tags/mlops.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [predictions](<https://devfeed.tech/tags/predictions.md>)

### AI overview

This article describes how American Express Global Business Travel built an AI platform for deploying classic machine-learning systems and supporting online inference. It explains the platform's requirements--simplicity, self-service, experimentation, and continuous improvement--and details the pre-process, predict, post-process pattern used by inference engines.

### Source excerpt

Introduction In 2021, we were given the mission to have AI Systems running in production. The team, instead of just following a classical MLOps process, that involves transforming a Jupyter notebook into a product running in production, decided to go further by creating a platform to deploy AI systems in production. The team decided the platform should respect these requirements: Simplicity: The code powering AI systems should be simple, readable, and easy to maintain -- less intricacy means fewer bugs in production and greater reliability. Self-service: Anyone should be able to build and deploy AI systems autonomously, without depending on a central team. Experimentation: The platform should make it easy to run and iterate on experiments. Continuous improvement: Data related to events and interactions within AI systems must be captured, enabling monitoring and continuous improvement over time. In this article, we will walk through the work done to build a platform that fulfills these four requirements. Background At American Express Global Business Travel, we use machine learning (ML) models for a variety of user experiences like ranking hotel and flight search results. Our ML models are wrapped in inference engines that handle both pre-processing of input data before we run a prediction with the model, and post-processing of output data before returning the output to the caller. The overall flow looks something like this: Figure 1: Handling an inference request A client service that would like the ML model's predictions provides necessary context about the request like which user the request is for. Then, optionally, the inference engine fetches any necessary features for inference from our feature store [part 1][part 2]. Finally, it pre-processes the data, runs the predictions using the trained ML model, and does any necessary post-processing of the model output before returning the response to the caller. We call this the pre-process, predict, post-process patter

## A2A in Java: hands on Embabel

DevFeed: [A2A in Java: hands on Embabel](<https://devfeed.tech/articles/a2a-in-java-hands-on-embabel-22587.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/a2a-in-java-hands-on-embabel-b18d514be424?source=rss----60a0578f4096---4>)

Author: Aneshka Goyal

Published: 2026-06-21T07:01:03Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Embabel](<https://devfeed.tech/topics/embabel.md>), [A2A protocol](<https://devfeed.tech/topics/a2a-protocol.md>), [Java](<https://devfeed.tech/topics/java.md>), [MCP](<https://devfeed.tech/topics/mcp.md>), [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [bedrock](<https://devfeed.tech/topics/bedrock.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [a2a](<https://devfeed.tech/tags/a2a.md>), [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [embabel](<https://devfeed.tech/tags/embabel.md>), [java](<https://devfeed.tech/tags/java.md>), [maven](<https://devfeed.tech/tags/maven.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>)

### AI overview

A hands-on tutorial for building a Java agent with Embabel. It demonstrates LLM-based story generation and review, Amazon Bedrock integration, a local Spring AI MCP server for word counts, Maven dependency management, and A2A-compliant endpoints.

### Source excerpt

Part 2: Hands on with Embabel! In Part 1, we discussed how Embabel works internally. In Part 2, we'll now try to get an application started that has an LLM interaction, talks to local MCP server (for tools), and helps us achieve a goal. This time, we'll also make sure we use A2A protocol for our agent (something Embabel makes easier to do allowing us to focus on core business logic and offloading boilerplate code to Embabel). We'll use the project creator to create a skeleton project for us with some Embabel dependencies and code. uvx --from git+https://github.com/embabel/project-creator.git project-creator Please note we can use Java or Kotlin as our preferred language, I would be leveraging Java. This is a simple story teller agent who writes a story and gets it reviewed (both story generation and review comes from LLM). We'd be using Bedrock for connection to our LLM model. For fetching the word count for a topic, it uses an MCP server which is a Spring AI MCP server running locally. Dependency management is handled using Maven, and the POM file looks like this: <?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.9</version> <relativePath/> <!-- Lookup parent from repository --> </parent> <groupId>com.example.demo-city-agent</groupId> <artifactId>Demo-city-agent</artifactId> <version>0.1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>My first agent</name> <description>Generated agent project</description> <properties> <java.version>21</java.version> <embabel-agent.version>0.3.1</embabel-agent.version> </properties> <dependencies> <!-- Main Dependencies --> <dependency> <groupId>com.embabel.agent</groupId> <artifactId

## From Figma to code in minutes: How I built UI Studio with AI

DevFeed: [From Figma to code in minutes: How I built UI Studio with AI](<https://devfeed.tech/articles/from-figma-to-code-in-minutes-how-i-built-ui-studio-with-ai-22592.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/from-figma-to-code-in-minutes-how-i-built-ui-studio-with-ai-68f4cbfa0b8e?source=rss----60a0578f4096---4>)

Author: Jayant Kumar

Published: 2026-06-18T07:01:03Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [ui](<https://devfeed.tech/topics/ui.md>), [React](<https://devfeed.tech/topics/react.md>), [Anthropic Claude](<https://devfeed.tech/topics/anthropic-claude.md>), [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>), [repo](<https://devfeed.tech/topics/repo.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [anthropic-claude](<https://devfeed.tech/tags/anthropic-claude.md>), [figma](<https://devfeed.tech/tags/figma.md>), [frontend-development](<https://devfeed.tech/tags/frontend-development.md>), [prompt-engineering](<https://devfeed.tech/tags/prompt-engineering.md>), [react](<https://devfeed.tech/tags/react.md>), [repo](<https://devfeed.tech/tags/repo.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-design](<https://devfeed.tech/tags/ui-design.md>)

### AI overview

This tutorial explains how the author built UI Studio, a tool that generates UI code using Egencia's internal UITK React components from a prompt, a Figma URL, or a screenshot. It describes the original feasibility-checking workflow and the tool's progression from a local prototype to a deployable application.

### Source excerpt

Whether you're a developer checking feasibility or a designer wanting to see your Figma come to life in real code, UI Studio is built for both. If you've ever worked on a product team, you know the dance, a designer hands over a Figma file, but before anyone writes a single line of production code, a developer has to answer one question: Is this buildable with our component library? At Egencia by Amex GBT, we use UITK (UI Toolkit), our internal component library built on React. It gives developers a set of standardized components to build consistent UIs across our products. As part of Egencia, that question kicks off a process that can take days. We open the doc site, scan the components, write some test code in the React playground or our own repo, and eventually come back to the designer with a verdict. If something isn't feasible, the design goes back for revisions. Then we check again and finally start building. It works. But it's slow. And I couldn't help but wonder whether there was a better way. The idea Earlier this year, I was doing the Anthropic Claude course and somewhere between learning about prompt engineering and working through the hands-on labs, it clicked. What if I could skip the whole feasibility loop and just generate the UI directly using our actual UITK components, from a prompt, a Figma link, or even a screenshot? That was the seed. A few weeks later, UI Studio was live. Figure 1: UI Studio, describe what you want, drop an image, or paste a Figma URLHow it got built It took about three to four weeks to build, and it wasn't linear. It went through three very different versions before becoming what it is today. Phase 1: The hacky local version The first version was built to prove the idea, not to share it. I cloned the UITK doc site repo locally, fetched component data directly from it, and created a proxy that passed all user input to the model via terminal. It worked on my machine. But getting anyone else to use it would have meant cloning re

## A2A in Java: hands on Embabel

DevFeed: [A2A in Java: hands on Embabel](<https://devfeed.tech/articles/a2a-in-java-hands-on-embabel-22588.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/a2a-in-java-hands-on-embabel-c80c9f716f6f?source=rss----60a0578f4096---4>)

Author: Aneshka Goyal

Published: 2026-06-16T08:44:44Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Embabel](<https://devfeed.tech/topics/embabel.md>), [A2A protocol](<https://devfeed.tech/topics/a2a-protocol.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Agent Framework](<https://devfeed.tech/topics/agent-framework.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [a2a](<https://devfeed.tech/tags/a2a.md>), [a2a-protocol](<https://devfeed.tech/tags/a2a-protocol.md>), [agent-framework](<https://devfeed.tech/tags/agent-framework.md>), [ai](<https://devfeed.tech/tags/ai.md>), [embabel](<https://devfeed.tech/tags/embabel.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [java](<https://devfeed.tech/tags/java.md>), [large-language-models-llms](<https://devfeed.tech/tags/large-language-models-llms.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>)

### AI overview

This hands-on article introduces A2A in Java and explores Embabel, a Java agent framework built on Spring AI. It explains how A2A enables interoperability among agents across languages, frameworks, vendors, and platforms, and describes Embabel's use of goal-oriented action planning with existing Java domain logic and structured code.

### Source excerpt

Part 1: What is Embabel? A2A, or Agent-to-Agent Protocol, is an open standard (now under the Linux Foundation) that provides a common language for diverse AI agents to communicate, collaborate, and share tasks, enabling interoperability across different frameworks, vendors, and platforms. You can read more about A2A here. A2A makes agents framework and tech stack agnostic, which means agents developed in Python will be able to connect to other agents in Java or any other programming language of choice (given we have A2A protocol compliance). We currently have ADK (Python) and other Python specific frameworks that simplify the development of A2A compliant agents (as you'll read in this blog). This initiative explores creating a comparable Java-specific framework to enable building A2A-compliant agentic applications in Java. Brief about Spring AI Before learning about Embabel, it's important to discuss and know about Spring AI which provides the foundation for Embabel framework. The Spring AI project aims to streamline the development of applications that incorporate artificial intelligence functionality without unnecessary complexity. This project draws inspiration from notable Python projects, such as LangChain and LlamaIndex, but Spring AI isn't a direct port of those projects. The project was founded with the belief that the next wave of generative AI applications will not only be for Python developers but ubiquitous across many programming languages. Spring AI can be used without Embabel (or any other high level framework like ADK java) to create agents and agentic applications. For more info around how to use Spring AI, check out Part 1 and Part 2. What is Embabel? Embabel is an agent framework built on Spring AI, designed to integrate Large Language Models (LLMs) with existing domain logic and structured code in Java applications. It utilizes a Goal-Oriented Action Planning (GOAP) mechanism to allow agents to dynamically determine the sequence of actions needed

## Using LLMs to Analyze Customer Feedback in Business Travel

DevFeed: [Using LLMs to Analyze Customer Feedback in Business Travel](<https://devfeed.tech/articles/how-we-re-using-llms-to-transport-customer-experience-in-business-travel-22593.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/how-were-using-llms-to-transport-customer-experience-in-business-travel-7dcf9608836e?source=rss----60a0578f4096---4>)

Author: Mahad Mohamed

Published: 2026-06-01T08:01:01Z

Content type: article

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [language-models](<https://devfeed.tech/tags/language-models.md>), [llms](<https://devfeed.tech/tags/llms.md>)

### AI overview

The article describes how LLMs are used to analyze large volumes of unstructured feedback from business travelers and travel managers. The process includes anonymizing, categorizing, and extracting insights that inform the product roadmap, supply strategy, and service model.

### Source excerpt

Business travel is changing fast. Travelers expect seamless, consumer-like experiences with additional service. Travel managers expect deeper insights and more marketplace content, while organizations expect strategic value. At the heart of this shift? Great customer experience. And this starts with truly understanding them, their pain points, preferences, frustrations, and aspirations. For years, it wasn't a lack of feedback that was the problem. Surprisingly, it was the volume and variability of it. Thousands of traveler comments, travel manager surveys, support cases, and contact center calls created a rich source of data but in unstructured, inconsistent formats that were nearly impossible to analyze efficiently. Today, thanks to advancements in large language models (LLMs), that's changed completely. In this article, I'll share how we're using LLMs to analyze feedback from travel managers and travelers anonymizing, categorizing and extracting key insights and how it now directly shapes our product roadmap, supply strategy, and service model. The problem: huge amounts of feedback but limited insights Every year, we receive tens of thousands of data points from: - Support cases - Traveler surveys - Travel manager feedback - Client reviews - Meetings and QBRs While each individual input is valuable, the collective intelligence within this data was historically untapped. Traditional analytics tools could count keywords or measure sentiments but they couldn't understand meaning, nuance or context. For example: - "Can you make changes easier during disruptions?" - "I couldn't rebook quickly when my flight was cancelled." - "Need clearer options when travel plans shift." These comments mean the same thing, but conventional categorization treats them as different issues. LLMs do the opposite. They connect the dots. Step 1: Using LLMs to analyze and interpret customer feedback Instead of manually reviewing comments or using basic text analytics, we feed all unstructured

## Designing a custom AI agent for repetitive QA workflows

DevFeed: [Designing a custom AI agent for repetitive QA workflows](<https://devfeed.tech/articles/designing-a-custom-ai-agent-for-repetitive-qa-workflows-22591.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/designing-a-custom-ai-agent-for-repetitive-qa-workflows-6dcce6f9de10?source=rss----60a0578f4096---4>)

Author: Rimple Sharma

Published: 2026-05-18T06:01:01Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-skills](<https://devfeed.tech/tags/ai-skills.md>), [context](<https://devfeed.tech/tags/context.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [software-testing](<https://devfeed.tech/tags/software-testing.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>)

### AI overview

This tutorial explains how to design a custom AI agent for repetitive QA workflows. It focuses on encoding structured instructions in Markdown, including headers, rules, variables, examples, output schemas, and executable commands, and introduces the agent's processing loop.

### Source excerpt

Part 2: Markdown as agent logic and the ReAct loop in action. In Part 1, I walked through the problem, repetitive QA work that resists pure scripting and the three pillars of a useful agent: input validation, context awareness, and a decision engine. I also showed why structured instructions beat plain text. This part is about how that structure gets encoded, how the loop runs, and what the impact looked like in practice. Why agents use Markdown When writing instructions for an agent, Markdown isn't just a formatting choice, it acts as a bridge between human-readable text and machine-processable logic. It's become a common format for agent communication because both humans and machines can work with it efficiently. But what most people miss... When you write agent instructions in Markdown, you're creating a weighted logic map, as well as just writing text. A few patterns that matter: 1. Semantic headers (#, ##) act as anchors for the agent's attention. Wrapping your mandatory rules under a clear header makes it far less likely the agent will overlook them mid-task. 2. Horizontal rules ( -- -) separate identity from instructions. Without this boundary, rules from one section bleed into another and the agent loses track of what governs what. 3. Bold keywords (**NEVER**, **ALWAYS**, **MANDATORY**) tend to be treated as hard constraints. Bold is a hard constraint. Italics are treated as a soft suggestion. 4. Blockquotes (>) are useful for examples. Wrapping an example in a blockquote signals to the agent that this is a reference, not a direct command. 5. {{curly_braces}} mark dynamic variables. They tell the agent that this part of the input will be filled in at runtime -- things like {{TICKET_ID}} or {{DATASET_NAME}} -- so it never substitutes a generic placeholder into a production file. 6. Fenced code blocks define output schemas. If you want the agent to always respond in a specific format, put that format in a code block. It treats it as a contract. 7. Inline code signa

## Designing a custom AI agent for repetitive QA workflows

DevFeed: [Designing a custom AI agent for repetitive QA workflows](<https://devfeed.tech/articles/designing-a-custom-ai-agent-for-repetitive-qa-workflows-22590.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/designing-a-custom-ai-agent-for-repetitive-qa-workflows-0eee8dd0f267?source=rss----60a0578f4096---4>)

Author: Rimple Sharma

Published: 2026-05-13T09:34:47Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [test](<https://devfeed.tech/topics/test.md>), [test data](<https://devfeed.tech/topics/test-data.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [consistency](<https://devfeed.tech/topics/consistency.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-skills](<https://devfeed.tech/tags/ai-skills.md>), [automation](<https://devfeed.tech/tags/automation.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [qa](<https://devfeed.tech/tags/qa.md>), [software-testing](<https://devfeed.tech/tags/software-testing.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>), [test-data](<https://devfeed.tech/tags/test-data.md>)

### AI overview

This article defines a repetitive QA workflow involving configuration updates, test-data additions, mapping checks, coverage validation, and pull requests. It argues that the main bottleneck is contextual decision-making and cross-file validation, which motivates designing a custom AI agent.

### Source excerpt

Part 1: Core problem definition, three pillars of an effective agent & why structured instructions matter.Source: AI generated image Engineers on QA teams spend a disproportionate share of their time on work that follows a consistent pattern: updating configurations, modifying test artifacts, executing focused validations, and managing pull requests. The tasks are well-defined but the repetition adds up fast. Individually, none of this is complicated. But taken together, these tasks are: Repetitive Error-prone Hard to repeat reliably During my time in automation, I kept running into the same problem. Every release brought the same requirements. New datasets had to be added so the test suite could cover the scenarios tied to them. It was never a one-time effort. The same work had to be repeated across different combinations, every single time. The process typically looked like this: 1. Updating multiple configuration files. 2. Adding the corresponding test data. 3. Making sure everything was mapped correctly. 4. Validating coverage and consistency. 5. Committing the changes and raising a PR. Each step on its own was straightforward. But strung together and repeated across releases, it consumed a meaningful chunk of time that could have gone elsewhere. Problem breakdownFig 2.0 Pain of manual repetitive process (Source: AI generated image) Each step is straightforward. But together, context switching between files, making manual edits, double checking mappings, it added up to 30 to 60 minutes per release cycle in our case. Miss one mapping, introduce a typo, and the build breaks. It wasn't hard work, just repetitive. And that's exactly the kind of work that makes test suites brittle over time. Even with automation in place, every iteration still required someone to identify what had changed, figure out which files were affected, and make sure everything stayed consistent across the board. The framework we had was solid. Scripts handled the heavy lifting well. But there

## Using Shapley Values to Explain Machine Learning Predictions in Business Operations

DevFeed: [Using Shapley Values to Explain Machine Learning Predictions in Business Operations](<https://devfeed.tech/articles/unlocking-the-ml-black-box-shapley-values-in-the-world-of-machine-learning-for-business-operations-22595.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/unlocking-the-ml-black-box-shapley-values-in-the-world-of-machine-learning-for-business-operations-ca3866fa60bb?source=rss----60a0578f4096---4>)

Author: Mahad Mohamed

Published: 2026-05-11T14:20:57Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Machine Learning & Artificial Intelligence](<https://devfeed.tech/topics/machine-learning-artificial-intelligence.md>), [data](<https://devfeed.tech/topics/data.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [context](<https://devfeed.tech/tags/context.md>), [data](<https://devfeed.tech/tags/data.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [operations](<https://devfeed.tech/tags/operations.md>)

### AI overview

This article explains how Shapley values, a concept from cooperative game theory, can make machine learning predictions more interpretable. It describes how they measure each feature's contribution to a specific prediction, helping business stakeholders understand model outputs such as fraud-risk ratings.

### Source excerpt

In the dynamic landscape of machine learning, businesses are constantly seeking ways to optimize processes, enhance decision-making, and drive efficiency in their operations. One powerful concept to drive data-driven efficiency is Shapley values. Originating from cooperative game theory, Shapley values offer a nuanced perspective on the contribution of each player in a collaborative setting. In the realm of machine learning, this concept is proving to be a game-changer for businesses striving to balance accuracy, transparency, and equity. But there's a problem... Currently, when businesses use ML models, the outputs are directly only related to a specific outcome and can be seen as a black-box when being related to overall business outcomes. For example, when predicting Fraud Risk, the output of a model would be the risk rating of each customer without much context of the reasons why a specific customer would be high versus low risk. Solution Shapley values directly help to solve this problem by calculating the impact of each factor when predicting any outcome. This context helps decision-makers decide the best next steps. In this article, we do a deep dive on the background and application of Shapley values to solve real-world problems. Understanding Shapley values At its core, Shapley values provide a framework for fairly distributing a value among a group of contributors based on their marginal contributions. This idea was first introduced by Lloyd Shapley in 1953 and has since found applications in various fields -- including economics, political science, and now, machine learning. In the context of machine learning models, Shapley values assign a value to each feature, indicating its contribution to the prediction for a specific instance. It answers the fundamental question: How much does each feature contribute to the model's output, considering all possible combinations? Decoding the features in machine learning Imagine a machine learning model as a collaborativ

## What is an Agentic Application?

DevFeed: [What is an Agentic Application?](<https://devfeed.tech/articles/what-is-an-agentic-application-22596.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/what-is-an-agentic-application-8f4f382fedc2?source=rss----60a0578f4096---4>)

Author: Aneshka Goyal

Published: 2026-05-06T04:01:01Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Amazon Bedrock](<https://devfeed.tech/topics/amazon-bedrock.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Java](<https://devfeed.tech/topics/java.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [aws](<https://devfeed.tech/tags/aws.md>), [developer](<https://devfeed.tech/tags/developer.md>), [java](<https://devfeed.tech/tags/java.md>), [llm](<https://devfeed.tech/tags/llm.md>), [maven](<https://devfeed.tech/tags/maven.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

A hands-on tutorial for building an agentic application with Spring AI. It demonstrates connecting an application to AWS Bedrock, exposing weather and latitude-longitude tools through a stateless MCP server over HTTP streaming, and combining MCP clients, memory, tools, and a system prompt.

### Source excerpt

Part 2: Using spring AI to build a simple agentic application In Part 1 we discussed about core capabilities of Spring AI that helps it position itself as a strong framework to build Agentic applications. Taking things forward from there, let's now build something to bring things into action!! Scenario We want to build an application that connects with AWS bedrock for LLM integration. Has set of tools exposed from an MCP server running on HTTP streaming protocol in STATELESS mode(MCP is also built using Spring AI). For memory we use chat memory with inbuilt InMemory repository and MessageWindowChatMemory. This application has the ability to provide weather info, some lat long info for a particular city. MCP Server Setup Maven pom for dependency management <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.6</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>mcp-server-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mcp-server-demo</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

## A guide to measuring Python performance

DevFeed: [A guide to measuring Python performance](<https://devfeed.tech/articles/stop-guessing-start-measuring-the-essential-guide-to-python-performance-22594.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/stop-guessing-start-measuring-the-essential-guide-to-python-performance-45ba09cf77fb?source=rss----60a0578f4096---4>)

Author: Aneesh Appukuttan

Published: 2026-05-04T04:01:01Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [performance-optimization](<https://devfeed.tech/topics/performance-optimization.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [data-science](<https://devfeed.tech/tags/data-science.md>), [guide](<https://devfeed.tech/tags/guide.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [python](<https://devfeed.tech/tags/python.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

A tutorial on evaluating Python performance with timing and profiling methods. It explains how to establish baselines, identify bottlenecks, and make informed optimization decisions.

### Source excerpt

Imagine this: Your elegant data processing script works beautifully with 1,000 customer records, completing in under a second. But when your startup grows to 100,000 customers, that same script now takes 45 minutes to run. Your AWS bill jumps from $X to $12X while customers are complaining about slow dashboards. This isn't hypothetical. It happens to Python developers every day. In this guide, we'll tackle this exact scenario step-by-step and show you the tools and techniques to identify and fix performance bottlenecks before they impact your users. Table of Contents Why Performance Matters Quick Decision Guide Step-by-Step Performance Evaluation Real Performance Evaluation Session Best Practices Why performance matters more than you think As Python developers, we often get caught up in the beauty of readable, pythonic code. But what happens when your elegant solution takes minutes instead of seconds to process data? Performance evaluation isn't just about optimization -- it's about understanding your code's behavior, identifying bottlenecks, and making informed decisions about performance optimization. The real impact: Cost efficiency -- Poor performance directly translates to higher infrastructure costs. A function that runs 10x slower means 10x more compute time and resources. User experience -- Nobody waits for slow applications. Performance directly impacts user satisfaction and retention. Performance planning -- Understanding your code's performance characteristics helps predict how it will behave under load. Technical debt management -- Regular performance monitoring helps identify code that needs refactoring before it becomes a critical bottleneck. In the following sections, we'll walk you through the essential tools and methods to establish effective performance monitoring in your Python projects. Quick decision guide Figure 1: Interactive decision tree to help you select the right Python profiling tool based on your specific performance evaluation needs. Choose