awesome-semantickernel
Awesome list of tools and projects with the awesome semantic kernel framework
Curated list of tools and projects using semantic kernel.
Semantic kernel is an amazing framework to get LLM projects done in a matter of no time and the ecosystem is growing fast. Here is an attempt to keep track of the initiatives around semantic kernel.
Contributions welcome. Add links through pull requests or create an issue to start a discussion. Please read the contribution guidelines before contributing.
Table of Contents
Semantickernel Framework
- Semantic Kernel: the original
- Concepts: Semantic Kernel concepts doc
- Discord discussion
- Semantic Kernel Blog: The Official Semantic Kernel blog
- Semantic Kernel starter: Starter Projects for Semantic Kernel
- VisualStudio Code Tool: Visual Code Studio Semantic Kernel Extension
- OSSInsight.io
- gosk Go Semantic Kernel (gosk) adapts Microsoft's Semantic Kernel (C#, Python) to provide OpenAI API integration for Golang developers
- Semantic Kernel vs LangChain Compare Semantic Kernel and LangChain
- analassist-langchain-vs-microsoft-sk AnalAssist - LangChain vs. Microsoft Semantic Kernel
- Explore the Power of AI with SKPlayground
- SK release SK release notes
- SK Extensibility Scenarios how to extend several Semantic Kernel interfaces and to use them in core scenarios.
- Generative AI Learning for Beginners A 12 Lesson course teaching everything you need to know to start building Generative AI applications
- skUnit is a testing tool for SemanticKernel units, such as plugin functions and kernels
Plugins
modules that connect Semantic Kernel to different AI models or services, such as GPT-3, Azure Prompt Flow, or the Microsoft Graph Plugins are at the heart of unlocking more potential with your Semantic Kernel applications. They allow you to connect to external data sources and give large language models tools to be able to interact with native functions and API services.
If you want to try out your plugins and you do not have a ChatGPT plus subscription or are off the waitlist, you can test this directly for free using the Semantic Kernel!
See this tutorial doc or watch the video for how to get set up.
Why: Microsoft is standardizing around the plugin architecture for all of its internal AI copilots and encourage developers to use them for their own applications. This hackathon serves to jumpstart a larger plugin ecosystem that is valuable to the broader community.
How: Follow the getting started guides for creating a plugin
-
C# - (Video) | (Repo) Semantic Kernel ChatGPT plugin starter
-
Python - (Video) | (Repo) Semantic Kernel Python Flask (and plugin) Starter
-
SK Kernel Memory:Semantic Memory is an open-source library and service specializing in the efficient indexing of datasets through custom continuous data pipelines
-
NL2EF A Semantic Kernel plugin designed to be a drop-in service that can expose an existing database to be queried via natural language
-
sk-ethereumtx-plugin Semantic Kernel ChatGPT plugin for Ethereum Txs
-
Webscraper AIplugin: AI Plugin that can be used to scrape useful information from a given URL
-
teams-bot-semantic-kernel A Teams Bot app integrated with Semantic Kernel and its Microsoft Graph Plugin
-
EmbedElite marketplaceThis project is creating a plugin for the EmbedElite marketplace for the SK Hackathon. The Sementic Kernel plugin facilitates fetching ready-made premium context based on embeddings via an API
-
AssemblyAI plugins for Semantic Kernel Transcribe audio using AssemblyAI with Semantic Kernel plugins.
-
SemanticKernel.Connectors.Memory.SqlServer SQL Server connector for Semantic Kernel skills and semantic memory
-
semantic-kernel-LLamaSharp use LLamaSharp to implement the Completion and Embedding interfaces of the semantic kernel
-
semantic-kernel-ERNIE-Bot: Semantic Kernel 集成文心千帆
-
DashScope.net Semantic Kernel 集成 Aliyun DashScope灵积模型服务 SDK,通义千问SDK
-
SS.SemanticKernel.Extensions: This extension enables you to generate text embeddings with a semantic-based kernel function.
-
Semantic-Fleet Semantic-Fleet is a dedicated repository designed to extend the capabilities of Semantic Kernel.
-
Semantic Kernel - MongoDB Connector Atlas MongoDB connector for Semantic Kernel skills and semantic memory
-
Faster & Smaller Single-File Search Engine for Vectors & Texts
-
sk-researcher: Using Semantic Kernel to power a research agent that will work on your behalf to research a topic
-
worddoc-aiplugin AI Plugin that can be used to create and append to word documents
-
sk-plugin-sample Sample project to show how plugins can be used with Semantic Kernel
-
semantic-kernel-gradio Using Gradio API for Semantic Kernel - TextEmbeddingGeneration
-
ServiceStack.AI Speech-to-Text and ChatGPT providers to enable natural language features in .NET
-
bankcopilot-semantickernel-aiplugin This is a Bank ChatGPT AI Plugin POC to observe how ChatGPT will perform with additional banking transaction skills
-
FreeMindLabs.SemanticKernel.Connectors.Elasticsearch A Semantic Kernel connector to Elasticsearch. Use Elasticsearch as your vector database.
-
Kernel Memory with SQLiteThis repository contains the SQLite adapter allowing to use Kernel Memory with SQLite
-
SemanticKernel.Connectors.Memory.SqlServerSQL Server connector for Semantic Kernel plugin and Kernel Memory
-
Plugin sample built using Semantic Kernel that summarises a given text from Bing Web Search.
-
PaddleSharp.KernelMemoryUsing PaddleSharp as an OCR engine in kernel memory.
-
SemanticKernel.DashScope 连接 DashScope 的 Semantic Kernel Connector
-
Connectors and plugins for integrating large language models via Semantic Kernel
-
Thor(雷神托尔) 是一款强大的人工智能模型管理工具,其主要目的是为了实现多种AI模型的统一管理和使用,兼容OpenAI的接口格式
Planners
sequences of actions that Semantic Kernel can execute to achieve a goal, such as booking a flight or writing some content.
- Introduction to Semantic Kernel Planners for Seamless Orchestration
- Semantic Kernel Planner 101
- Using Planners in the SK Java Kernel
- UniversalLLMFunctionCaller A planner that integrates into Semantic Kernel to enable function calling on all Chat based LLMs (Mistral, Bard, Claude, LLama etc)
Personas
profiles that define the preferences and personality of Semantic Kernel, such as tone, style, and humor
- SKPersona Demonstration of how to give Language Models (LLMs) a unique persona using part of speech tagging and logit bias
- [Semantic Kernel Personas: An Interview with SK Team Member Brian