* Fix filename containing a space (`ApiKeyAuthenticationHandler .cs`) * Fix typos * Fix code style * Add missing rule for local constants * Add commented code to automate code style checks. These don't work with .NET Standard 2.0, so we'll need some extra research. * Fix one incorrect ILogger naming * Add some TODOs about unused code * Fix xmldocs
Semantic Kernel Service API (For Learning Samples)
Watch the Service API Quick Start Video.
This service API is written in C# against Azure Function Runtime v4 and exposes some Semantic Kernel APIs that you can call via HTTP POST requests for the learning samples.
!IMPORTANT
This service API is for educational purposes only and should not be used in any production use case. It is intended to highlight concepts of Semantic Kernel and not any architectural security design practices to be used.
Prerequisites
Azure Functions Core Tools installation is required for this service API to run locally.
Running the service API locally
Run func start --csharp from the command line. This will run the service API locally at http://localhost:7071.
Two endpoints will be exposed by the service API:
- InvokeFunction: [POST]
http://localhost:7071/api/skills/{skillName}/invoke/{functionName} - Ping: [GET]
http://localhost:7071/api/ping
Working with Secrets
We need keys to work with various aspects of the project including accessing openAI models. This opens up the possibility of exposing keys in commits. There are a couple of options to safeguard developers from exposing keys. Outside of using the dotnet's users-secrets and environment variables, we've also added *.development.config to the .gitignore if developers want to use config files for secret storage.
Next steps
Now that your service API is running locally,
let's try it out in a sample app so you can learn core Semantic Kernel concepts!
The service API will need to be run or running for each sample app you want to try.
Sample app learning examples:
- Simple chat summary (Recommended) – learn how basic semantic functions can be added to an app
- Book creator – learn how Planner and chaining of semantic functions can be used in your app
- Authentication and APIs – learn how to connect to external API's with authentication while using Semantic Kernel
- GitHub Repo Q&A (coming soon) – learn how Memories and Embeddings can be used in your app
