Posts

Showing posts from February, 2025

[MS] Integrate Copilot Studio agents with Microsoft Entra External ID to give your customers access - devamazonaws.blogspot.com

Image
Ensuring secure and seamless access to applications is crucial, especially when utilizing AI-driven agents. Copilot Studio is a cutting-edge platform that enables you to create and customize AI agents. However, integrating customer access to your Copilot Studio agents via Microsoft Entra External ID isn't straightforward out-of-the-box. This tutorial video walks you through the process of integrating Copilot Studio agents with Microsoft Entra External ID using the Generic OAUTH 2.0 service provider option, ensuring your customers can securely log in to your agents. We have also added the step by steps here. [embed]https://youtu.be/BLyME148rYQ[/embed] How to enable External ID on your Copilot Studio agents Prerequisites A Copilot Studio account A published agent on Copilot Studio. If you don’t have one, create an agent on Copilot Studio. An external tenant on Microsoft Entra Admin Center . If you don’t have one, create an external tenant with an Azure subscription. Ens...

[MS] C++/WinRT implementation inheritance: Notes on winrt::implements, part 8 - devamazonaws.blogspot.com

We wrap up this series with a comparison of pros and cons. Deriving your class from winrt:: implements means that your declared interfaces will be implemented by anybody who derives from you. This is nice because it removes another point of failure: Forgetting to declare all the interfaces. (For example, if you add a new interface to your class, your derived classes don't all have to update.) On the other hand, declaring the interface in winrt:: implements means that your class must implement the entire interface, even if you wanted to delegate some of the methods to the derived class. You can work around this with a virtual method or by using CRTP. Virtual methods are useful if you can dictate the method signature. CRTP gives the derived class more flexibility in deciding how to implement the method. However, you need to be careful with CRTP to avoid template code explosion. If you instead choose a traditional C++ base class, then you can implement as much or as little of an...

[MS] 使用Chroma构建.NET AI应用 - devamazonaws.blogspot.com

本文翻译自 Luis  和 Jiri 的 Building .NET AI apps with Chroma 无论您是 构建 AI 解决方案 还是想 使用 高级 搜索 功能 增强 现有 项目 , 您 现在 都可以 使用   Chroma 作为 . NET 应用程序中 的 数据库 提供程序 。 什么是Chroma? Chroma 是一款适用于人工智能应用程序的开源数据库。 借助对存储嵌入、元数据过滤、向量搜索、全文搜索、文档存储和多模式检索的支持,您可以使用 Chroma 在应用程序中支持语义搜索和检索增强生成(RAG)功能。 有关更多详情,请访问 Chroma 网站 。 在 C# 应用程序中使用 Chroma 在本示例中,我们将使用 ChromaDB.Client  来连接到 Chroma 数据库并使用向量搜索来搜索电影。 最简单的开始方式是在本地使用 Chroma Docker 映像 。您也可以 在 Azure 中部署实例 。 [alert type="note" heading="注意"]ChromaDB.Client 是一个开源的由社区支持的库。[/alert] 连接数据库 创建 C# 控制台应用程序 安装 ChromaDB.Client Nuget 包 创建带有配置选项的 ChromaClient using ChromaDB.Client; var configOptions = new ChromaConfigurationOptions(uri: "http://localhost:8000/api/v1/"); using var httpClient = new HttpClient(); var client = new ChromaClient(configOptions, httpClient); 当使用托管版本的 Chroma 时,请将 uri 替换为您的托管端点。 创建集合 现在您有了客户端,请创建一个集合来存储电影数据。 var collection = await client.GetOrCreateCollection("movies"); 要对该集合执行操作,您需要创建一个集合客户端。 var...

[MS] Jakarta EE and MicroProfile on Azure – February 2025 - devamazonaws.blogspot.com

Hi everyone, welcome to the February 2025 update for Jakarta EE and MicroProfile on Azure. It covers topics such as the latest updates to Azure extensions for Quarkus , and the recent refresh to Jakarta EE Solutions for supporting multiple deployments within the same resource group . If you're interested in providing feedback or collaborating on migrating Java workloads to Azure with the engineering team developing Jakarta EE and MicroProfile on Azure solutions, please complete this short survey on Jakarta EE migration . The team of product managers, architects, and engineers will promptly get in touch with you to initiate close collaboration. Microsoft partner with Oracle, IBM, and Red Hat to build a portfolio based on two pillars: the Azure Marketplace offers include Solution Templates and Base Images which allow customers to quickly deploy software on Azure Virtual Machines (VMs), Azure Kubernetes Service (AKS), Azure Red Hat OpenShift (ARO), and Azure Container Apps (ACA) wi...

[MS] C++/WinRT implementation inheritance: Notes on winrt::implements, part 7 - devamazonaws.blogspot.com

Last time, we simplified a base class so that it doesn't fully implement any interfaces at all . So why are we using winrt::implements in the first place? Yeah, why? Let's not. // A simple copy drop target provides no custom feedback // and accepts anything by copy. struct SimpleCopyDropTarget { winrt::IAsyncOperation<winrt::DataPackageOperation> EnterAsync(winrt::CoreDragInfo const& info, winrt::CoreDragUIOverride const&) { co_return GetOperation(info); } winrt::IAsyncOperation<winrt::DataPackageOperation> OverAsync(winrt::CoreDragInfo const& info, winrt::CoreDragUIOverride const&) { co_return GetOperation(info); } winrt::IAsyncAction LeaveAsync(winrt::CoreDragInfo const&) { co_return; } // DropAsync must be implemented by derived class protected: winrt::DataPackageOperation GetOperation( winrt::CoreDra...

[MS] Multi-Provider Strategy for App Configuration in Python - devamazonaws.blogspot.com

Image
The Problem In a recent engagement with a customer, due to the nature of the engagement, there was a need to deal with config values coming from multiple sources. Actual secrets were stored in Azure KeyVault, some other config values were stored in JSON files or environment variables. In this kind of scenario, it is tempting to entangle the utility classes for each source of config data with business logic but this could quickly lead to spaghetti code. In this article, we dive into a strategy for abstracting the configuration logic away from business logic. This article uses Python as an example but the pattern can be extended to other languages. The Solution Using the provider pattern , we create a provider class for each source of config data, ensuring that they all implement a common interface. For instance, a project which needs to read config data from a KeyVault, a JSON file and environment variables would have three provider classes – a KeyVaultProvider , a JSONProvider clas...

[MS] Dev Proxy v0.25, now available, with automatic shut down and simplified configuration management - devamazonaws.blogspot.com

Image
We’re excited to announce the release of Dev Proxy v0.25. This update brings significant improvements to configuration management, plugin support, and usability, making it easier than ever to simulate APIs and test applications under real-world conditions. In this version: Automatically closing Dev Proxy when inactive A new command to create a config file Improved discoverability of plugin options Smarter handling of --urls-to-watch JSON schema support for plugin configurations ...and more! Automatically closing Dev Proxy when inactive Ever left Dev Proxy running longer than intended? In this release, we’re introducing the `timeout` option that allows you to specify how long Dev Proxy should run when inactive before automatically stopping. For example, to have Dev Proxy automatically shut down after it’s been inactive for 30 seconds, run: devproxy --timeout 30 Each time Dev Proxy intercepts a request, it resets the inactivity timer. Thanks to Joshua for contributing this fea...

Amazon EC2 M6a instances now available in AWS Europe (Paris) - devamazonaws.blogspot.com

Starting today, the general-purpose Amazon EC2 M6a instances are now available in AWS Europe (Paris) region. M6a instances are powered by third-generation AMD EPYC processors, and deliver up to 35% better price performance than comparable M5a instances. These instances offer 10% lower cost than comparable x86-based EC2 instances. With this additional region, M6a instances are available in the following AWS Regions: US East (Ohio, N. Virginia), US West (N. California, Oregon), Asia Pacific (Hyderabad, Mumbai, Singapore, Sydney, Tokyo), Canada (Central), Europe (Frankfurt, Ireland, London, Milan, Paris), and South America (Sao Paulo). These instances can be purchased as Savings Plans, Reserved, On-Demand, and Spot instances. To get started, visit the AWS Management Console , AWS Command Line Interface (CLI) , and AWS SDKs . To learn more, visit the M6a instances pages.   Post Updated on February 26, 2025 at 06:00PM

[MS] Terminal Chat now included in GitHub Copilot Free - devamazonaws.blogspot.com

Image
Windows Terminal Canary users can now use Terminal Chat with the GitHub Copilot Free plan! 🚀 GitHub Copilot Free is limited to 50 chat messages per month. This includes the usage of Copilot in the CLI, VS Code, and Visual Studio. If you reach your quota, you can upgrade on the web. You can sign up for GitHub Copilot Free through the Copilot setting in your GitHub account. No subscription needed! :D What is GitHub Copilot? GitHub Copilot is an AI coding assistant that helps you write code faster and with less effort, allowing you to focus more energy on problem solving and collaboration. GitHub Copilot has been proven to increase developer productivity and accelerate the pace of software development. For more information, see " Research: quantifying GitHub Copilot’s impact on developer productivity and happiness " in the GitHub blog. What is GitHub Copilot Free? GitHub Copilot Free provides limited access to select features of Copilot, allowing you to experience ...

[MS] Exciting new T-SQL features: Regex support, Fuzzy string-matching, and bigint support in DATEADD – preview - devamazonaws.blogspot.com

We are thrilled to announce the public preview of three powerful T-SQL features that will elevate your SQL queries: Regular Expressions (Regex) support, Fuzzy string-matching , and bigint support in DATEADD . These enhancements are now available in Azure SQL Database and SQL Database in Microsoft Fabric , offering developers more flexibility, efficiency, and precision in their data operations. They will also help simplify complex operations that previously required workarounds or external processing. In this post, we'll explore the capabilities of each feature, provide practical examples, and explain how they will transform the way you write T-SQL queries. Regular Expressions (Regex) support in T-SQL Regular expressions are a powerful tool for pattern matching and data extraction. They allow you to search, validate, and manipulate text based on specific patterns. With native Regex support in T-SQL, you can now use POSIX-compliant regular expressions to perform sophisticated stri...

[MS] Announcing the Public Preview of the Azure Cosmos DB SDK for Rust! - devamazonaws.blogspot.com

We’re excited to announce the public preview of the Azure Cosmos DB SDK for Rust, a native Rust SDK that enables developers to interact with Azure Cosmos DB for NoSQL accounts from their Rust applications. Following the release of Azure SDK for Rust Beta , the Azure Cosmos DB Rust SDK provides an idiomatic API for performing operations on databases, containers, and items. With this release, Rust developers can now build high-performance, scalable applications using Azure Cosmos DB. Rust is an excellent choice for modern application development due to its focus on performance, memory safety, and concurrency. Rust eliminates common bugs such as null pointer dereferences and buffer overflows through its powerful ownership model. Additionally, Rust’s strong type system and borrow checker ensure thread safety, making it ideal for building reliable, concurrent applications at scale. With its growing ecosystem and support for WebAssembly, Rust is increasingly becoming a go-to language for per...

Amazon EC2 High Memory instances now available in Europe (Zurich) region - devamazonaws.blogspot.com

Starting today, Amazon EC2 High Memory instances with 3TiB of memory (u-3tb1.56xlarge) is available in the Europe (Zurich) region. Customers can start using these new High Memory instances with On-Demand (OD) and Savings Plan purchase options. Amazon EC2 High Memory instances are certified by SAP for running Business Suite on HANA, SAP S/4HANA, Data Mart Solutions on HANA, Business Warehouse on HANA, and SAP BW/4HANA in production environments. For details, see the Certified and Supported SAP HANA Hardware Directory. For information on how to get started with your SAP HANA migration to EC2 High Memory instances, view the Migrating SAP HANA on AWS to an EC2 High Memory Instance documentation. To hear from Steven Jones, GM for SAP on AWS on what this launch means for our SAP customers, you can read his launch blog .   Post Updated on February 25, 2025 at 06:00PM

[MS] C++/WinRT implementation inheritance: Notes on winrt::implements, part 5 - devamazonaws.blogspot.com

Last time, we saw how you can derive from winrt:: implements to form a new base class , in the case that the new base class is self-contained. But what if the new base class isn't self-contained? For example, maybe you want the base class to do the boring paperwork and defer to the derived class for the actual work. namespace winrt { using namespace winrt::Windows::Foundation; using namespace winrt::Windows::Web::Http; using namespace winrt::Windows::Web::Http::Filters; } struct ObserverFilter : winrt::implements<ObserverFilter, winrt::IHttpFilter> { ObserverFilter(winrt::IHttpFilter const& downstream) : m_downstream(downstream) {} winrt::IAsyncActionWithProgress< winrt::HttpResponseMessage, winrt::HttpProgress> SendRequestAsync(winrt::HttpRequestMessage const& message) { ⟦ let derived class observe the message ⟧ return m_downstream.SendRequestAsync(message); } private: winrt::IHttp...

[MS] Claude 3.7 Now Available in GitHub Copilot for Visual Studio - devamazonaws.blogspot.com

Image
The world of AI is evolving at a breathtaking pace, and today brings an exciting milestone for developers and tech enthusiasts alike. Anthropic’s newest release, Claude 3.7 , is now available directly within GitHub Copilot for Visual Studio 2022 17.13, heralding a new era of seamlessly integrated, advanced AI coding assistance. This new Sonnet model supports the non-thinking modes in Copilot. How to Access Claude 3.7 Getting started is easy: Open the Chat Window: Click the Copilot badge at the top right of your Visual Studio interface. Launch Copilot Edit: Open the chat window to initiate an editing session. Select Your Model: In the prompt box, open the model picker. By default, ChatGPT 4 is selected, but you can easily switch to Claude 3.7 Sonnet to harness its advanced features. If you don’t see Claude 3.7 as an option, there could be two reasons: It’s not available for Copilot Free users. Only paid Copilot users have access to this model. You need to enable the poli...