An open API service indexing awesome lists of open source software.

https://github.com/expecho/spiderai

Spider AI showcases what is possible using LLMs using .Net
https://github.com/expecho/spiderai

azure-openai csharp dotnet dotnet-aspire llm open-telemetry semantic-kernel

Last synced: 11 days ago
JSON representation

Spider AI showcases what is possible using LLMs using .Net

Awesome Lists containing this project

README

          

# :sparkles: Spider AI

Spider AI showcases what is possible using LLMs using .Net. It is build using

- [Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/overview/)
- [.Net Aspire](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview)
- [Open Telemetry](https://opentelemetry.io/)
- [.Net MAUI Blazor Hybrid](https://learn.microsoft.com/en-us/aspnet/core/blazor/hybrid/tutorials/maui-blazor-web-app?view=aspnetcore-9.0) (For now)

It is my personal playground to experiment with AI models and build a platform to interact with them. I am using this project to learn and experiment with the latest AI technologies and frameworks.

My ultimate goal is to allow myself to create my own customized and tailored AI assistant.

## :tada: Features

- Have conversations with models from
- [OpenAI](https://platform.openai.com/)
- [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview)
- [Ollama](https://ollama.com/)
- [ONNX](https://onnx.ai/)
- [Hugging Face](https://huggingface.co/)
- Any other OpenAI compatible service
- Switch between models during a conversation
- Function / Tool / Plugin calling

## :rocket: Roadmap

See [the backlog](https://github.com/users/Expecho/projects/3)

## :bookmark_tabs: Solution Structure

The single most important project is **SpiderAI.Core**, it is the heart of the solution. It contains the core logic for the application built using Semantic Kernel. It calls the AI models and is responsible for handling model state and configuration.

Then we have the **SpiderAI.Server** project that is nothing but a web server that provides http endpoints to interact with the core logic.

The important UI components are defined in the **SpiderAI.Shared** project. It is used by the Blazor client and the .Net MAUI client.

And since I am using .Net Aspire we do need to have the **SpiderAI.AppHost** project. It is the startup project for the solution and starts the web server, blazor client and some needed services like vector stores and such.