A private Polish RAG and tool-calling agent using Bielik, pure C#/.NET, local documents and well-formed JSON output — without Python, Ollama or a model server.
The Bielik profile loads appsettings.Bielik.json, Polish documents from Data-pl/ and Polish Swagger examples.
GGUF model file from disk, mmap-backed, tokenizer and chat template read from the model.
Index Polish markdown documents and retrieve grounded context from the in-process vector store.
Polish user request becomes a constrained tool call dispatched to a C# handler.
Return a well-formed business-decision JSON object for app integration and automation.
# RAG over Polish documents
curl -X POST http://localhost:5234/rag/query ^
-H "Content-Type: application/json" ^
-d "{ \"question\": \"Ile dni ma klient z UE na odstąpienie od umowy?\", \"topK\": 4 }"
# C# tool call from Polish request
curl -X POST http://localhost:5234/agent ^
-H "Content-Type: application/json" ^
-d "{ \"message\": \"Załóż zgłoszenie reklamacyjne o wysokim priorytecie dla klienta anna@firma.pl.\" }"
# Business-decision JSON
curl -X POST http://localhost:5234/decision/refund ^
-H "Content-Type: application/json" ^
-d "{ \"message\": \"Klient z UE kupił produkt 10 dni temu, nie był używany, chce odstąpić od umowy.\" }"
Policies, support FAQs, contracts, claims, procedures and internal knowledge bases.
ASP.NET, WPF, Blazor, desktop and internal enterprise apps that already live in .NET.
On-prem, regulated, air-gapped or procurement-heavy environments where external APIs and sidecars are hard to approve.