TWIL: February 19, 2023

This was a very intense week with a lot of work, but I still managed to learn new stuff. My focus was still on Azure OpenAI Service but I got to read a little more about Transformers, Self-Attention and Foundation models. I’m also highlighting a few articles on Microsoft Bot Framework, Azure SQL and Azure Databricks. Good reading!


.NET Rocks

Episode 1831: Clean Architecture in 2023 with Steven Smith
How is clean architecture evolving? Carl and Richard talk to Steve Smith about his efforts to build applications using clean architecture principles. The conversation starts with a comment from a listener about idealism around architecture – and a reminder that while there isn’t one right way to do anything, using existing work, like clean architecture templates, makes it easier to do the right thing. Steve talks about the various elements that go into clean architectures and how they are often where you end up in development whether you start with a template or not – and how much of a pain it is to course-correct as the project gets larger. Sustainable software needs architecture, and clean architecture is one approach that works – check it out!

Azure Open AI

Azure OpenAI client library for .NET
Azure OpenAI is a managed service that allows developers to deploy, tune, and generate content from OpenAI models on Azure resouces. Use the client library for Azure OpenAI to create completions for text and to create text embeddings for comparisons.

Use Azure OpenAI with large datasets
The Azure OpenAI service can be used to solve a large number of natural language tasks through prompting the completion API. To make it easier to scale your prompting workflows from a few examples to large datasets of examples, we have integrated the Azure OpenAI service with the distributed machine learning library SynapseML. This integration makes it easy to use the Apache Spark distributed computing framework to process millions of prompts with the OpenAI service. This tutorial shows how to apply large language models at a distributed scale using Azure Open AI and Azure Synapse Analytics.

AI Research

Graphormer is a deep learning package that allows researchers and developers to train custom models for molecule modeling tasks. It aims to accelerate the research and application in AI for molecule science, such as material discovery, drug discovery, etc. Now it supports various molecule simulation tasks, e.g., molecular dynamics and property prediction. In the near future, it will further support important applications in molecule science, such as reaction prediction, retrosynthesis, molecule generation, large-scale molecule (polymer, protein) modeling, drug-protein interaction (DPI), and so on.

Stanford CS224N: NLP with Deep Learning | Winter 2019 | Lecture 14 – Transformers and Self-Attention
A recording of a Stanford class about Transformers and Self-Attention in Natural Language Processing with Deep Learning.

On the Opportunities and Risks of Foundation Models
AI is undergoing a paradigm shift with the rise of models (e.g., BERT, DALL-E, GPT-3) trained on broad data (generally using self-supervision at scale) that can be adapted to a wide range of downstream tasks. We call these models foundation models to underscore their critically central yet incomplete character. This report provides a thorough account of the opportunities and risks of foundation models, ranging from their capabilities (e.g., language, vision, robotic manipulation, reasoning, human interaction) and technical principles (e.g., model architectures, training procedures, data, systems, security, evaluation, theory) to their applications (e.g., law, healthcare, education) and societal impact (e.g., inequity, misuse, economic and environmental impact, legal and ethical considerations).

Microsoft Bot Framework

Capture Composer telemetry with Application Insights
Bot Framework Composer enables your bot applications to send event data to a telemetry service such as Application Insights. Telemetry offers insights into your bot by showing which features are used the most, detects unwanted behavior and offers visibility into availability, performance, and usage. In this article, you’ll learn how to implement telemetry into your bot using Application Insights.

Add trace activities to your bot
A trace activity is an activity that your bot can send to the Bot Framework Emulator. You can use trace activities to interactively debug a bot, as they allow you to view information about your bot while it runs locally. Trace activities are sent only to the Emulator and not to any other client or channel. The Emulator displays them in the log but not the main chat panel.

Debugging guidelines
Bots are complex apps, with many parts working together. Like any other complex app, this can lead to some interesting bugs or cause your bot to behave differently than expected. Debugging, your bot can sometimes be a difficult task. Every developer has their own preferred way to accomplish that task. The guidelines below are suggestions that apply to most bots.

Extend your Composer bot with code
Composer provides a powerful platform for creating complex conversation flows, and comes with a robust set of pre-built triggers and actions to use. However, sometimes there will be a need to perform an action, respond to a trigger, work with an external API or do something for which there’s no pre-built functionality. Or there may be a need to do something more complex like author middleware, create a custom storage provider, or connect to a client using a custom adapter. To accomplish these tasks (and more) create coded extensions called bot components.

Azure SQL

Azure SQL Database External REST Endpoints Integration Public Preview
The ability to call a REST endpoint natively from Azure SQL Database, which was made available via an Early Adopter Preview in May, is now moving to Public Preview. I’m extremely happy that as of today the new system stored procedure sp_invoke_external_rest_endpoint is available to everyone, automatically and transparently: you can use it right away, from any Azure SQL Database that you may already have or that you’ll create in future.

Azure SQL News Update: A Year in Review
Read the 2022 recap of all the Azure SQL and SQL Server news or catch the live episode! If you missed the episode, you can find them all at This one also features a special Ask Me Anything with product group members. You can read this blog to get all the updates and references mentioned in the show (including the awesome speakers we had on).

Azure SQL Devs’ Corner
Voices from the Azure SQL PM Team, focusing on development and developers.

Azure SQL Blog
Official blog of the Azure SQL team.

Azure Databricks

Databricks: Navigate the workspace
This article walks you through the Azure Databricks workspace, an environment for accessing all of your Azure Databricks assets.

Databricks: Introduction to workspace assets
This article provides a high-level introduction to Azure Databricks workspace assets. You can view and organize all workspace assets in the workspace browser across personas. To create a workspace asset, you must use the appropriate persona’s workspace browser.

Have an awesome week!