Themis.Maf 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Themis.Maf --version 1.0.0
                    
NuGet\Install-Package Themis.Maf -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Themis.Maf" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Themis.Maf" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Themis.Maf" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Themis.Maf --version 1.0.0
                    
#r "nuget: Themis.Maf, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Themis.Maf@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Themis.Maf&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Themis.Maf&version=1.0.0
                    
Install as a Cake Tool

Themis.Maf

Use Themis.Maf when an application already uses Microsoft Agent Framework or Microsoft.Extensions.AI and wants to connect that conversational flow to Themis. The package adapts a registered IInferenceProvider into an IChatClient and agent factory; it does not turn typed decision inference into chat or provide a model by itself.

The package targets .NET 10. AddThemisMaf registers Themis services and the adapter; provide a conversational inference provider and its model separately. The separate Themis.Inference.Ollama package implements chat without its own ONNX Runtime or tokenizer dependency. The legacy Themis.Maf registration still depends on Themis to preserve existing AddThemisMaf behavior.

services.AddThemisMaf(
    configure: maf =>
    {
        maf.Model = "chat-model";
        maf.Temperature = 0.2;
        maf.MaxOutputTokens = 512;
        maf.TopP = 0.9;
        maf.EnableToolCalls = true;
        maf.EnableStructuredOutput = true;
        maf.EnableStreaming = true;
    },
    configureServices: registrations =>
        registrations.AddSingleton<IInferenceProvider, MyConversationalProvider>());

The package registers IChatClient, IThemisMafProvider, and ThemisMafAgentFactory. The provider abstraction keeps the adapter independent from a specific remote chat vendor; applications can replace IThemisMafProvider or IChatClient through configureServices. The MAF options supply default generation settings; per-request ChatOptions.ModelId, temperature, maximum output tokens, top-p, stop sequences, and seed take precedence. IInferenceProvider must be registered for conversational inference, while Themis options and other service implementations can be configured through the same registration call. Tool calls, JSON response formats, and true provider streaming are disabled by default. Enable them explicitly with the corresponding ThemisMafOptions properties; the Ollama provider supports these capabilities. Unsupported content or provider capabilities fail with an informative NotSupportedException rather than being ignored. The adapter also forwards frequency and presence penalties to providers that support them; Ollama reports them as unsupported because its chat API does not provide equivalent controls. Non-streaming token usage maps to ChatResponse.Usage; streamed usage is available on the final update through the rldc.usage additional property. This adapter targets conversational inference through IInferenceProvider; typed decision inference is a separate IDecisionInferenceProvider contract and is not automatically adapted into an MAF chat client.

Use the factory's callback to configure the chat-backed agent:

var agent = serviceProvider
    .GetRequiredService<ThemisMafAgentFactory>()
    .Create(static _ => { });

Typed application-input mapping is provided by the separate Themis.Engine project; see the root README for its attributes, runtime criteria, and keyed mapping examples.

License

Themis' adapter code is licensed under MIT, and the NuGet package includes the Themis license text. Its Microsoft Agent Framework and Microsoft.Extensions.AI dependencies retain their own terms; model assets and providers are also separately licensed.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.