Jon Rumsey

An online markdown blog and knowledge repository.


Project maintained by nojronatron Hosted on GitHub Pages — Theme by mattgraham

MSFT Semantic Kernel and Vector Database

I recently watched a MSFT Reactor presentation on continous integration (CI) with LLMs and AI Models. There were two guests with the host. One of the guests mentioned Vector Databases and only briefly describe what they were, so I decided to do a little research.

Here are my notes on the topic.

Introduction

A Vector DB is a component available for use with Semantic Kernel. It helps an AI 'remember things'.

Semantic Kernel Overview

It's an SDK:

It's an Orchestration Layer:

Capabilities:

Example Projects:

How to Use Semantic Kernel

Leverages attributes such as [KernelFunction] and [Description] to markup code for Semantic Kernel to process and orchestrate.

Describing code seems to mean: Hey Copilot & underlying AI models, here are the functions in my code and you are allow to use them.

Plugins/Code needs to be provided to the AI via the Kernel object. "Having the kernel" allows coding around the kernel instance to enable actions based on inputs (e.g. Chat-bot conversation that turns on/off a "lamp").

Plugins

Plugins are your custom code.

Semantic Kernel can be used as an "abstraction layer over OpenAI and Azure OpenAI services to run handcrafted prompts".

"Real power ... comes from combining ... components together."

Vector DB

Vector DB stores data:

Advantages:

What Are Vector DBs used for? [MSFT Learn documentation]

Querying Complexity:

Use Cases:

Vector Encoding

Vector encoding is the process of transforming an input type (such as an image or sound file) into raw data for storage in a vector database.

Vector DB Tools

Azure has Vector DB Tools and Services:

Other Connectors (partial list):

See more at vector-db Available connectors to vector databases at MSFT Learn.

Return to Conted Index

Return to Root README