Skip to content
GalteXxPublic

About

Client for Ollama provided by OTH-R

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Allpamca Client

C# AI Assistant Client, writen without an AI-Framework/library. It is focused around answering questions regarding OTH-Regensburg and is capable of pulling context from several relevant sources.

Why No Framework?

I wanted to add a little challenge to the project, so I decided to take a crack at my own implementation of LLM-Tooling.

Architecture Highlights

  • Two-Step LLM Processing: Message interception + topic assertion + context injection via system messages
  • Context Fetching: Pluggable architecture for topic-specific data retrieval
  • DI-First Design: Full SOLID compliance with type-driven dependency injection

Technical Decisions

RAG was not a reliable solution, due to backend issues outside of my control. Furthermore I wanted to have a UI showcase of exact context LLM will be working with. This is why I decided to inject context directly into conversation as system messages.

I have only commented on service interfaces via XML documentation. Other parts of the MVVM architecture are either self-commenting or do not require comments.

The SOLID DI type-driven architecture was used with full consideration of most C# idioms.

The use of Reflection is generally test-covered (i.e., no tests need to be written for new system-prompts). See Tests Repository.

Software Execution

No release version is provided. Before compiling from source code, update the file \allpamca\Resources\ApiSecret.xml according to the template \allpamca\Resources\APISecret.xml.template. Any Open-AI API will work, as long as models are new enough to comprehend the concept of JSON

Credentials are embedded as a resource and can potentially be scraped via decompiling. Therefore, I advise against sharing builds.

Things I wish I had time TODO:

  • Replace Reflection with source generation
  • Improve credential security
  • Add loading screen on Application startup.
  • Update UML diagrams: it is outdated, as I have not updated it after some extensive refactoring

About

Client for Ollama provided by OTH-R

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages