Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
153540 stories
·
33 followers

TeamCity 2026.1: CLI, MCP for AI Agents, Pipelines Enhancements, and More

1 Share

TL;DR: TeamCity 2026.1 is out and packed with helpful features. We’re introducing the TeamCity CLI and MCP support, as well as Pipelines enhancements to make configuring TeamCity more convenient and powerful. As of this release, AI Assistant is available in Enterprise trial accounts, and the SAML authentication plugin comes bundled with TeamCity.

For the full list of what’s new in 2026.1, make sure to check out our documentation.

Let’s take a closer look at what’s new.

Important security announcement

A high-severity post-authentication security vulnerability has been identified in TeamCity On-Premises. If exploited, this flaw may allow any authenticated user to expose some parts of the TeamCity server API to unauthorized users.

All versions of TeamCity On-Premises are affected, while TeamCity Cloud is not affected and requires no action. We have verified that TeamCity Cloud environments were not impacted by this issue.

This vulnerability has been assigned the Common Vulnerabilities and Exposures (CVE) identifier CVE-2026-44413. A fix for it has been introduced in version 2026.1. We have also released a security patch plugin for 2017.1+ so that customers who are unable to upgrade can still patch their environments.

We strongly recommend upgrading to TeamCity 2026.1 or installing the security patch plugin. 

Read more about the vulnerability in the dedicated blog post.

TeamCity 2026.1 livestream

On May 12, 2026, we’ll be hosting a livestream dedicated to the TeamCity 2026.1 livestream. During a 1-hour online event, we’ll walk you through all the new features and share our development plans for 2026. Join us!

Introducing the TeamCity CLI

The TeamCity CLI is a free, lightweight, open-source tool that brings the power of TeamCity to your terminal and your AI agents. With the CLI, you can investigate failed builds, apply fixes, configure your Pipeline, and retrigger builds directly from the command line.

The TeamCity CLI also includes an agent skill for AI coding agents, enabling them to check build status, analyze failures, and interact with your Pipeline. Both you and your AI agent can follow updates in real time in the terminal, including build state changes, step progress, and streaming logs.

Currently, the TeamCity CLI includes over 60 commands, and we’re planning to expand the list. You can install the tool and connect locally using the following commands:

# macOS / Linux
brew install jetbrains/utils/teamcity

# via a bash script
curl -fsSL https://jb.gg/tc/install | bash

# Windows
winget install JetBrains.TeamCityCLI

# via a powershell script
irm https://jb.gg/tc/install.ps1 | iex

# Cross-platform via npm
npm install -g @jetbrains/teamcity-cli

# Log in to your server
teamcity auth login --server https://example.teamcity.com/

If you want to learn more about the TeamCity CLI, here’s a dedicated blog post.

MCP for AI agents

In addition to the TeamCity CLI, we’re also introducing support for the Model Context Protocol (MCP) to enable third-party integrations with AI tooling. 

The Model Context Protocol is an open-source standard for connecting AI applications to external systems. Your external AI solution uses an authorized request to the specific endpoint and retrieves a list of ready-to-use tools for working with this resource.

MCP is useful when working with TeamCity from external AI-powered tools like JetBrains IDEs or Cursor. It is designed to give AI agents the ability to analyze, explain, and help fix build failures. By default, MCP allows starting remote runs, as well as accessing build logs and related data for troubleshooting.

You can get more context on the TeamCity MCP from our documentation.

AI Assistant is now available in trial Enterprise licenses

TeamCity AI Assistant is a built-in tool that understands the page you’re viewing and helps you find relevant information faster, right from the TeamCity interface. It’s connected to the TeamCity documentation and is great for answering quick questions about TeamCity, onboarding, and inspecting a selected build or project.

AI Assistant is available with the TeamCity Enterprise license – now also during the trial period.

Pipelines enhancements

Pipelines introduce a powerful new way to configure builds in TeamCity. Built on YAML and designed with full branching support, they align seamlessly with modern software development lifecycle practices. Changes to a Pipeline stay safely within a feature branch, allowing teams to iterate, review, and refine before merging into the main branch.

At the same time, TeamCity doesn’t force you into a single approach. While YAML is the primary format, you can also define Pipelines using the power of the Kotlin DSL, making it easy for enterprise teams to manage the most complicated setups. 

For added convenience, TeamCity provides a Visual Editor that works hand in hand with YAML, offering an intuitive way to configure Pipelines without sacrificing control. You can seamlessly switch between visual and YAML-based configuration, so that you don’t need to learn yet another YAML schema.

We introduced Pipelines last year. Starting from 2025.07, they are available via the Early Access Program on TeamCity Servers. 

We constantly improve Pipelines and keep expanding what users can do with them. Here are some highlights of what we’ve added in 2026.1:

Improved Pipeline Run page

We improved the Pipeline Run page to include all familiar Build Results tabs (such as Overview, Build Log, Parameters, and more), giving you a complete overview of Pipeline execution results.

It now also includes a Pipeline/job switch, so you can quickly filter these tabs by job, making Pipelines easier to inspect, debug, and troubleshoot.

Build features are now available for jobs

Jobs can now use the following build features, previously available only for build configurations: Build files cleaner (Swabra), Build cache, Free disk space, and XML report processing.

More build features will be available soon. Contact us if you’re looking for something specific, and we’ll let you know if it’s already possible to enable it with a feature toggle.

Pipeline upstream dependencies and combining Pipelines with build chains

Since 2026.1, it is now possible to define upstream dependencies for a Pipeline. This allows you to decompose a single large Pipeline into smaller parts, simplifying maintenance, improving access management, and enabling you to combine several separate Pipelines into a unified workflow.

For instance, if you have separate Pipelines for microservices, upstream dependencies make it very convenient to set up a deployment Pipeline that deploys them all at the same time.

If you already have build configurations set up in your TeamCity, there is no need to rewrite them as Pipelines to take advantage of this functionality. A Pipeline can now define upstream dependencies on build configurations and vice versa. This means you can include new Pipelines in existing Build Chains whenever needed.

Kotlin DSL in Pipelines

In addition to YAML, it is now possible to define Pipelines in Kotlin DSL. It’s the same powerful Kotlin DSL, allowing you to leverage the full potential of a real, strongly typed programming language. Pipelines reuse most of the patterns used in build configurations, so you won’t need to learn them from scratch.

object MyPipeline : Pipeline({
    name = "A Pipeline"
    job {
        name = "Build"
        steps {
            script {
                content = "Hello Pipeline!"
            }
        }
    }
})

You can find the full list of Pipelines improvements in our documentation. Pipelines are currently offered via the Early Access Program. Sign up here to try them for your organization.

SAML authentication

The SAML authentication plugin is now bundled with TeamCity. SAML (Security Assertion Markup Language) is a widely used standard for single sign-on (SSO), allowing users to authenticate once via a central identity provider and access multiple services without re-entering credentials.

With SAML support, you can integrate TeamCity with your existing identity provider to simplify user management and improve security. It is confirmed to support Okta, OneLogin, AWS SSO, AD FS, and other SSO providers.

Learn more about the SAML authentication in our documentation.

Dynamic build step credentials

The new Build-scoped token feature lets your builds securely generate short-lived GitHub access tokens (up to 60 minutes) on the fly. Pass them to build steps as parameters to enable seamless access to repositories.

Small niceties worth mentioning

We’ve fixed quite a long-standing issue, and it is now possible to cancel the currently running build when new changes are made to the same VCS root and branch.

The corresponding setting is an extension of Running builds limit in the General build settings.

Another thing: If you know what reverse.dep.* parameters are, you may be glad that the problem detailed in this ticket has been fixed, too.

Release naming convention

We’re also changing the naming of TeamCity releases to align with other JetBrains tools. As before, we’ll have three major releases per year and several bug fixes after each release. The new naming format is YYYY.1, YYYY.2, YYYY.3.

Read the whole story
alvinashcraft
13 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

What is Code

1 Share

Increasingly humans delegate writing code to agents. Will there even be source code in the future? To wrestle with this question, we have to understand what code is. Unmesh Joshi sees code as having two distinct but intertwined purposes: instructions to a machine and a conceptual model of the problem domain. He explores why it's vital to build a vocabulary to talk to the machine, how programming languages are thinking tools, and how this affects our future as we work with LLMs.

more…

Read the whole story
alvinashcraft
22 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Foundry Local 1.1: Live Transcription, Embeddings, and Responses API

1 Share

Today we’re announcing the 1.1.0 release of Foundry Local — Microsoft’s cross-platform local AI solution that lets developers bring AI directly into their applications with no cloud dependency, no network latency, and no per-token costs.

This release adds the following:

  • Live audio transcription for real-time speech-to-text scenarios like captioning, voice UIs, and meeting transcription.
  • Text embeddings for semantic search, RAG, clustering, and similarity matching use cases.
  • Responses API support for structured agentic interactions, including tool calling and multimodal vision-language input.
  • WebGPU execution provider plugin delivered separately to reduce the default package size for applications that don’t need it.
  • Reduced JavaScript package size by replacing the koffi FFI layer with a custom Node-API C addon.
  • Broader .NET compatibility by targeting lower framework versions in the C# SDK.

What’s new

Live Transcription API

Foundry Local now supports real-time speech-to-text streaming directly from a microphone — ideal for live captioning, voice-driven UIs, meeting transcription, and accessibility scenarios. The new Live Transcription API lets you push raw PCM audio chunks and receive transcription results as they arrive, with clear is_final markers distinguishing interim from finalized text.

The API is built around a simple session-based pattern available across all SDK language bindings (JavaScript, C#, Python, Rust):

  1. Load a streaming speech model from the catalog
  2. Create a live transcription session with audio settings (sample rate, channels, language)
  3. Start the session and begin appending audio data
  4. Consume transcription results via an async stream

Example usage

Throughout this article, the examples are shown using the Python SDK language binding. However, in all examples, JavaScript, Rust, and C# bindings are also available. See the Foundry Local samples on GitHub.

"""
Live microphone transcription using Foundry Local.

This script loads a streaming speech model, captures audio from the
microphone via PyAudio, and prints transcription results in real time.

Requirements:
    pip install foundry-local-sdk pyaudio
"""

import threading
import pyaudio
from foundry_local_sdk import Configuration, FoundryLocalManager

# ---------------------------------------------------------------------------
# 1. Initialize Foundry Local
# ---------------------------------------------------------------------------

config = Configuration(app_name="foundry_local_samples")
FoundryLocalManager.initialize(config)
manager = FoundryLocalManager.instance

# ---------------------------------------------------------------------------
# 2. Download and load the streaming speech model
# ---------------------------------------------------------------------------

model = manager.catalog.get_model("nemotron-speech-streaming-en-0.6b")

if not model.is_cached:
    print("Downloading model...")
    model.download(
        lambda progress: print(f"\r  Progress: {progress:.1f}%", end="", flush=True)
    )
    print("\n  Download complete.")

model.load()

# ---------------------------------------------------------------------------
# 3. Create a live transcription session
# ---------------------------------------------------------------------------

audio_client = model.get_audio_client()
session = audio_client.create_live_transcription_session()
session.settings.sample_rate = 16000
session.settings.channels = 1
session.settings.language = "en"

session.start()

# ---------------------------------------------------------------------------
# 4. Read transcription results in a background thread
# ---------------------------------------------------------------------------

def read_results():
    for result in session.get_stream():
        text = result.content[0].text if result.content else ""
        if result.is_final:
            print(f"\n  [FINAL] {text}")
        elif text:
            print(text, end="", flush=True)

read_thread = threading.Thread(target=read_results, daemon=True)
read_thread.start()

# ---------------------------------------------------------------------------
# 5. Capture microphone audio and feed it to the session
# ---------------------------------------------------------------------------

RATE, CHANNELS, CHUNK = 16000, 1, 480  # 30 ms frames
pa = pyaudio.PyAudio()
stream = pa.open(
    format=pyaudio.paInt16,
    channels=CHANNELS,
    rate=RATE,
    input=True,
    frames_per_buffer=CHUNK,
)

print("Speak into your microphone. Press Ctrl+C to stop.\n")
try:
    while True:
        pcm_data = stream.read(CHUNK, exception_on_overflow=False)
        session.append(pcm_data)
except KeyboardInterrupt:
    print("\nStopping...")

# ---------------------------------------------------------------------------
# 6. Cleanup
# ---------------------------------------------------------------------------

stream.close()
pa.terminate()
session.stop()
read_thread.join(timeout=5)
model.unload()

Optimized for on-device streaming ASR

To identify the best model for real-time on-device transcription, we conducted a systematic empirical study across over 50 configurations spanning encoder-decoder, transducer, and LLM-based ASR architectures — including OpenAI Whisper, NVIDIA Nemotron, Parakeet TDT, Canary, Conformer Transducer, and Qwen3-ASR — evaluated across batch, chunked, and streaming inference modes.

From this study, we identified NVIDIA’s Nemotron Speech Streaming as the strongest candidate for real-time English streaming on resource-constrained hardware. We then re-implemented the complete streaming inference pipeline in ONNX Runtime and applied multiple post-training quantization strategies — including importance-weighted k-quant, mixed-precision schemes, and round-to-nearest quantization — combined with graph-level operator fusion. These optimizations reduced the model from 2.47 GB to as little as 0.67 GB while maintaining word error rate (WER) within 1% absolute of the full-precision PyTorch baseline.

Our recommended configuration, the int4 k-quant variant, achieves 8.20% average streaming WER across eight standard benchmarks, running comfortably faster than real-time on CPU with 0.56s algorithmic latency — establishing a new quality-efficiency Pareto point for on-device streaming ASR.

The model is available in the Foundry catalog as nemotron-speech-streaming-en-0.6b.

For the full methodology and benchmark results, see our paper: Pushing the Limits of On-Device Streaming ASR: A Compact, High-Accuracy English Model for Low-Latency Inference (arXiv:2604.14493).

Embeddings API for semantic search scenarios

Foundry Local now supports text embedding generation across all four SDKs (C#, JavaScript, Python, and Rust). Embeddings unlock a wide range of local AI scenarios including semantic search, RAG (retrieval-augmented generation), clustering, and similarity matching — all running entirely on-device.

The Embeddings API supports both single and batch input, with configurable dimensions and encoding format. Responses follow the OpenAI embeddings format for seamless cloud-to-edge portability.

Example usage

The following example pairs Foundry Local embeddings with ChromaDB to build a fully local semantic search pipeline — documents are embedded and indexed in-memory, then natural-language queries are matched to the most relevant results.

"""
Semantic search using Foundry Local embeddings and ChromaDB.

This script loads an embedding model locally, indexes a set of documents
into an in-memory ChromaDB collection, and performs natural-language
semantic queries against them — all running on-device.

Requirements:
    pip install foundry-local-sdk chromadb
"""

import chromadb

from foundry_local_sdk import Configuration, FoundryLocalManager

# ---------------------------------------------------------------------------
# 1. Initialize Foundry Local
# ---------------------------------------------------------------------------

config = Configuration(app_name="foundry_local_samples")
FoundryLocalManager.initialize(config)
manager = FoundryLocalManager.instance

# ---------------------------------------------------------------------------
# 2. Enable additional hardware acceleration for end users
# ---------------------------------------------------------------------------

manager.download_and_register_eps(
    progress_callback=lambda ep, progress: print(
        f"\r  Downloading EP '{ep}': {progress:.1f}%", end="", flush=True
    )
)
print("\n  EP registration complete.\n")

print("Available EPs:")
for ep in manager.discover_eps():
    print(f"  {ep.name} (registered: {ep.is_registered})")
print()

# ---------------------------------------------------------------------------
# 3. Download and load an embedding model
# ---------------------------------------------------------------------------

model = manager.catalog.get_model("qwen3-embedding-0.6b")

if not model.is_cached:
    print("Downloading model...")
    model.download(
        lambda progress: print(f"\r  Progress: {progress:.1f}%", end="", flush=True)
    )
    print("\n  Download complete.")

model.load()

client = model.get_embedding_client()

# ---------------------------------------------------------------------------
# 4. Build a knowledge base
# ---------------------------------------------------------------------------

documents = [
    "Python is a high-level programming language known for its readability and versatility.",
    "Rust is a systems programming language focused on safety, speed, and concurrency.",
    "Machine learning is a subset of artificial intelligence that learns from data.",
    "The capital of France is Paris, known for the Eiffel Tower.",
    "Docker containers package applications with their dependencies for consistent deployment.",
    "PostgreSQL is a powerful open-source relational database system.",
    "Neural networks are computing systems inspired by biological brain structures.",
    "Kubernetes orchestrates containerized workloads across clusters of machines.",
    "The Python GIL limits true multi-threading for CPU-bound tasks.",
    "Vector databases store and search high-dimensional embeddings efficiently.",
]

print("Generating embeddings for knowledge base...")
batch_response = client.generate_embeddings(documents)
embeddings = [item.embedding for item in batch_response.data]
print(f"Indexed {len(embeddings)} documents ({len(embeddings[0])} dimensions each)")

# ---------------------------------------------------------------------------
# 5. Store embeddings in ChromaDB
# ---------------------------------------------------------------------------

chroma = chromadb.Client()
collection = chroma.create_collection(
    name="knowledge_base", metadata={"hnsw:space": "cosine"}
)
collection.add(
    ids=[f"doc-{i}" for i in range(len(documents))],
    embeddings=embeddings,
    documents=documents,
)

# ---------------------------------------------------------------------------
# 6. Semantic search
# ---------------------------------------------------------------------------

queries = [
    "What programming language is good for beginners?",
    "How do I deploy applications in production?",
    "Tell me about AI and deep learning",
]

for query in queries:
    query_embedding = client.generate_embedding(query).data[0].embedding
    results = collection.query(query_embeddings=[query_embedding], n_results=3)

    print(f'\n🔍 Query: "{query}"')
    for doc, distance in zip(results["documents"][0], results["distances"][0]):
        print(f"   [{1 - distance:.3f}] {doc}")

# ---------------------------------------------------------------------------
# 7. Cleanup
# ---------------------------------------------------------------------------

model.unload()

Responses API

Foundry Local now includes an Open Responses API client, bringing structured agentic AI capabilities to on-device inference. The Responses API provides a higher-level abstraction over chat completions with built-in support for:

  • Streaming — token-by-token server-sent events
  • Multi-turn conversations — chain responses with previous_response_id
  • Tool calling — define function tools and handle tool call/result round-trips
  • Vision — pass images alongside text input (model-dependent)

Example usage

With the Foundry Local 1.1 release we’ve also added Qwen3.5 VLM to the model catalog — a natively multimodal vision-language model that can reason over images and text together. Smaller variants (3B, 7B) are optimized for on-device inference, making it practical to run vision tasks locally without cloud dependencies.

This enables scenarios like document understanding, diagram analysis, UI screenshot interpretation, and visual question answering — all running entirely on-device. For example, the following code streams a description of an image from the Qwen3.5 VLM using the Responses API:

"""
Image description using Foundry Local and the OpenAI Responses API.

This script loads a vision-language model locally via Foundry Local,
starts the built-in web service, and uses the OpenAI SDK's Responses API
to stream a description of an image — all running on-device.

Requirements:
    pip install foundry-local-sdk openai Pillow
"""

import base64
import io
import urllib.request

from PIL import Image
from openai import OpenAI

from foundry_local_sdk import Configuration, FoundryLocalManager

# ---------------------------------------------------------------------------
# 1. Initialize Foundry Local
# ---------------------------------------------------------------------------

config = Configuration(app_name="foundry_local_samples")
FoundryLocalManager.initialize(config)
manager = FoundryLocalManager.instance

# ---------------------------------------------------------------------------
# 2. Enable additional hardware acceleration for end users
# ---------------------------------------------------------------------------

manager.download_and_register_eps(
    progress_callback=lambda ep, progress: print(
        f"\r  Downloading EP '{ep}': {progress:.1f}%", end="", flush=True
    )
)
print("\n  EP registration complete.\n")

print("Available EPs:")
for ep in manager.discover_eps():
    print(f"  {ep.name} (registered: {ep.is_registered})")
print()

# ---------------------------------------------------------------------------
# 3. Download and load the vision model
# ---------------------------------------------------------------------------

model = manager.catalog.get_model("qwen3-vl-2b-instruct")

if not model.is_cached:
    print("Downloading model...")
    model.download(
        lambda progress: print(f"\r  Progress: {progress:.1f}%", end="", flush=True)
    )
    print("\n  Download complete.")

print("Loading model...")
model.load()
print("Model ready.\n")

# ---------------------------------------------------------------------------
# 4. Start the Foundry Local web service
# ---------------------------------------------------------------------------

manager.start_web_service()
base_url = manager.urls[0].rstrip("/") + "/v1"
client = OpenAI(base_url=base_url, api_key="notneeded")

# ---------------------------------------------------------------------------
# 5. Prepare the image
# ---------------------------------------------------------------------------

image_url = (
    "https://github.com/microsoft/Foundry-Local/blob/main/"
    "samples/python/web-server-responses-vision/src/test_image.jpg?raw=true"
)

print(f"Fetching image: {image_url}")
with urllib.request.urlopen(image_url) as resp:
    img = Image.open(io.BytesIO(resp.read()))

img.thumbnail((512, 512))
buf = io.BytesIO()
img.save(buf, format="JPEG")
image_b64 = base64.b64encode(buf.getvalue()).decode()

# ---------------------------------------------------------------------------
# 6. Call the Responses API with vision input
# ---------------------------------------------------------------------------

vision_input = [
    {
        "type": "message",
        "role": "user",
        "content": [
            {"type": "input_text", "text": "Describe what you see in this image."},
            {
                "type": "input_image",
                "image_data": image_b64,
                "media_type": "image/jpeg",
            },
        ],
    }
]

print("Streaming response:\n")
stream = client.responses.create(
    model=model.id,
    input="placeholder",
    extra_body={"input": vision_input},
    stream=True,
)

for event in stream:
    if getattr(event, "type", None) == "response.output_text.delta":
        print(getattr(event, "delta", ""), end="", flush=True)
print("\n")

# ---------------------------------------------------------------------------
# 7. Cleanup
# ---------------------------------------------------------------------------

client.close()
manager.stop_web_service()
model.unload()
print("Done.")

WebGPU Execution Provider Plugin

The WebGPU execution provider is now delivered as a separate plugin rather than being bundled with the Windows ONNX Runtime package. This change reduces the default package size for applications that don’t need WebGPU, while keeping it available as an on-demand plugin for scenarios that require it. The plugin is automatically acquired via the standard execution provider download mechanism — no changes are needed in your application code.

.NET SDK: Broader Compatibility

The C# SDK packages now target lower framework versions, broadening compatibility for applications that haven’t yet upgraded to the latest .NET runtime:

  • Microsoft.AI.Foundry.Local now targets netstandard2.0 (previously net9.0) — compatible with .NET Framework 4.6.1+, .NET Core 2.0+, Mono, Xamarin, and Unity. This makes it straightforward to add local AI capabilities to existing .NET applications regardless of runtime version.
  • Microsoft.AI.Foundry.Local.WinML now targets net8.0 (previously net9.0) — providing Windows hardware acceleration via GPU/NPU execution providers while maintaining broad compatibility across modern .NET LTS runtimes.

Reduced JavaScript package size

The JavaScript SDK’s native interop layer has been rewritten from koffi (a runtime FFI library) to a purpose-built Node-API C addon with prebuilt binaries shipped per platform. This removes the large koffi dependency from the package while keeping the SDK’s public API surface unchanged.

The benefits include:

  • ~27 MB smaller install footprint — eliminates the koffi transitive dependency tree
  • Faster load times — prebuilt .node binaries load directly without runtime FFI setup
  • Better stability — Node-API provides a stable ABI across Node.js versions, avoiding breakage on engine upgrades
  • No native compilation required — prebuilt addons for each platform (Windows, macOS, Linux) ship with the npm package, so npm install just works without a C toolchain

Get Started

Update to Foundry Local 1.1.0 by installing the latest SDK for your language:

# Python
pip install foundry-local-sdk --upgrade # macOS/Linux
pip install foundry-local-sdk-winml --upgrade # Windows

# JavaScript
npm install foundry-local-sdk@latest # macOS/Linux
npm install foundry-local-sdk-winml@latest # Windows

# C#
dotnet add package Microsoft.AI.Foundry.Local # macOS/Linux
dotnet add package Microsoft.AI.Foundry.Local.WinML # Windows

# Rust (macOS/Linux)
cargo add foundry-local-sdk # macOS/Linux
cargo add foundry-local-sdk --features winml # Windows

What’s coming in the next release

  • C++ language binding — already available for early testing and feedback in the Foundry Local GitHub repo.
  • Smaller package size — further reductions to the core runtime footprint.
  • Audio enhancements — word and segment level timestamps, and additional language support for live transcription.

Learn more

The post Foundry Local 1.1: Live Transcription, Embeddings, and Responses API appeared first on Microsoft Foundry Blog.

Read the whole story
alvinashcraft
53 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Linux Mint vs. Elementary OS: I compared both distros, and here's my advice

1 Share
If you're looking for a user-friendly Linux distribution, your destination could depend on your starting point.
Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Connecting the dots for accurate AI

1 Share
At HumanX, Ryan is joined by Philip Rathle, CTO at Neo4j to discuss what knowledge context means for AI agents, how limitations like stale training data make the model-only approach to agents a bad fit for enterprise environments, and how Graph RAG raises the bar for accuracy and reduces context rot by combining vectors with a knowledge graph so agents are more targeted and connected.
Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Microsoft PowerToys now lets you control your monitor from the taskbar - here's how

1 Share
Instead of pressing buttons on your monitor or hunting through your Windows settings, here's how you can now adjust your display directly from the system tray - plus other new PowerToys perks.
Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories