Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raykao/semantic-kernel-sidecar
A prototype for an abstracted Sidecar Process that runs/abstracts Semantic Kernel via HTTP/gRPC.
https://github.com/raykao/semantic-kernel-sidecar
Last synced: about 1 month ago
JSON representation
A prototype for an abstracted Sidecar Process that runs/abstracts Semantic Kernel via HTTP/gRPC.
- Host: GitHub
- URL: https://github.com/raykao/semantic-kernel-sidecar
- Owner: raykao
- Created: 2023-07-18T17:55:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-28T03:19:19.000Z (over 1 year ago)
- Last Synced: 2024-08-01T13:19:08.313Z (4 months ago)
- Language: C#
- Size: 22.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-semantickernel - Semantic Kernel Sidecar
README
# Semantic Kernel Sidecar
This Repo is mean to be an example of setting up Semantic Kernel (SK) as a Sidecar Process (Container) that will attempt to abstract the key functionality of SK via HTTP and gRPC, such that a developer does not require loading or including a native library/SDK to work with SK.
## Design Goals
Following similar design principles adopted from other sidecar/proxy type projects (e.g. Dapr.io), we want to follow a convention for using the sidecar.
1. Configuration (AOAI/OAI connection strings and settings) are loaded via a secret/config map file in the container's file path (/config/settings.json)
1. All "Semantic Skills" are loaded in via single shared file store, where each skill is it's own separately named folder that contains two files (eg. skills/WriterSkill/[config.json, skprommpt.txt]). The goal being that skills can be added, updated and loaded via this folder structure convention even during run time. This means there are no inline Semantic Templates and templates will only be loaded via the shared/loaded file share (e.g. Azure Files or Blob Storage)## Build the container
```:bash
cd src/semantic-kernel-sidecardocker build -t sk-sidecar .
```## Run the container
```:bash
docker run -it --rm -p 5000:8080 -v ${PWD}/src/semantic-kernel-sidecar/settings.json:/app/settings.json -v ${PWD}/src/semantic-kernel-sidecar/SemanticSkills:/app/SemanticSkills sk-sidecar
docker run -it --rm -p 5000:8080 -v /settings.json:/app/settings.json -v /SemanticSkills:/app/SemanticSkills sk-sidecar
```