Skip to content

logicgrid-dev/LogicGrid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

LogicGrid

Multi-agent AI orchestration for .NET — built for local LLMs first.

Provider-agnostic. Zero vendor lock-in. Production-ready.

NuGet Downloads License .NET Docs

Documentation · Quickstart · Pricing · Discussions · Issues


What is LogicGrid?

LogicGrid is a .NET-native framework for building multi-agent AI systems — chatbots, RAG pipelines, autonomous workflows, tool-using agents, and orchestrated agent graphs.

It is the only major .NET agent framework designed for local LLMs first (Ollama, vLLM, LM Studio, TEI), with first-class support for OpenAI, Anthropic, Gemini, and any OpenAI-compatible endpoint. The same code runs against any provider — switch with one line.

// Same agent. Any provider. Zero code change.
var llm = LlmClientBase.Ollama("llama3.2");
// var llm = LlmClientBase.OpenAI("gpt-4o");
// var llm = LlmClientBase.Anthropic("claude-sonnet-4-6");
// var llm = LlmClientBase.Gemini("gemini-2.0-flash");

var agent = new SummaryAgent(llm);
var result = await agent.RunAsync("Summarise this document...", new AgentContext("run-1"));

Why LogicGrid?

LogicGrid Semantic Kernel LangChain (Python)
.NET-native Yes — pure C# Yes No
Local LLMs first Yes — Ollama, vLLM, TEI built-in Partial Partial
Provider-agnostic Same code, any provider Same code, any provider Same code, any provider
Air-gapped support Full — offline license, no telemetry N/A N/A
Hybrid search (BM25 + dense + RRF) Built-in No Yes
Multi-agent patterns Sequential, GroupChat, Graph, Parallel, MapReduce, Reflexion Sequential Sequential, Graph
Tool calling + MCP Yes Yes Yes
Targets netstandard2.0, net6.0, net8.0 net8.0+ n/a
Hidden runtime deps Zero Several Many

Built for engineers who can't ship Python, and don't want their stack dictated by a single cloud vendor.


Features

Agents

  • AgentBase<TOutput> with typed outputs, system-prompt slot templating, scoped memory, and pluggable retry policies.
  • AdminBase<TInput, TOutput> for stateful orchestration with persistent message history.

Orchestration

  • Sequential — chain agents end-to-end.
  • Group Chat — agents converse, an admin decides who speaks next.
  • Graph — fluent AgentGraphBuilder API with branching, conditionals, and merges.
  • Parallel — run agents concurrently and aggregate.
  • Map-Reduce — fan out, fan in.
  • Reflexion — self-critique loops with configurable depth.

Memory & RAG

  • Sliding-window conversation memory.
  • Vector stores (in-memory, pluggable — bring your own backend).
  • Embeddings via any provider (OpenAI, TEI, Ollama, custom).
  • Full RAG pipeline: document loading, chunking, embedding, retrieval, generation.
  • Hybrid search combining BM25 (keyword) and dense (semantic) retrieval, fused via Reciprocal Rank Fusion. Beats either alone for codes, IDs, proper nouns, and rare terms.

Tools & MCP

  • Define tools as plain C# methods with attributes — schema is generated for you.
  • Built-in MCP (Model Context Protocol) client over stdio and HTTP.

Observability

  • First-class AgentEventBus — every agent step, tool call, retry, and LLM call emits a structured event.
  • Pluggable log sinks (console, file, OTel).
  • Run tracing for debugging and audit.

Distribution

  • Multi-targets netstandard2.0, net6.0, and net8.0 — works with .NET Framework 4.7.2+, .NET Core, and modern .NET.
  • Zero hidden runtime dependencies. The full SBOM is published in this repository.

Install

dotnet add package LogicGrid.Core     # Core Agents and Admin Orchestrations, Tracing, Logging, Retry Policy		
dotnet add package LogicGrid.Memory   # vector stores, embeddings, hybrid search
dotnet add package LogicGrid.Rag      # full RAG pipeline
dotnet add package LogicGrid.Tools    # tool/function calling
dotnet add package LogicGrid.Mcp      # MCP client

See Quickstart for a quick walkthrough.


Quick Examples

Basic agent

using LogicGrid.Core.Agents;
using LogicGrid.Core.Llm;

var SummaryAgent = LlmClientBase.Ollama("llama3.2");

IAgent agent = new Agent<string>(
    name: "Summariser",
    description: "Summarises any text concisely.",
    systemPrompt: "Summarise the following in 2-3 sentences: {{input}}",
    llm: llm);

var result = await new SummaryAgent(llm)
    .RunAsync("Long document text here...", new AgentContext("run-1"));

Hybrid search RAG

var store = new HybridVectorStore(new InMemoryVectorStore());
var pipeline = new RagPipeline(embedder, store);

await pipeline.IngestAsync("docs/manual.txt");

var results = await pipeline.HybridSearchAsync("SKU-4421 pricing policy", topK: 5);
foreach (var r in results)
    Console.WriteLine($"{r.RrfScore:F4}  dense={r.DenseScore:F3}  sparse={r.SparseScore:F3}  {r.Document.Text}");

Group chat

using LogicGrid.Core.Admins;
using LogicGrid.Core.Agents;
using LogicGrid.Core.Llm;

var llm = LlmClientBase.Ollama("llama3.2");

IAgent researcher = new Agent<string>(
    "Researcher", "Gathers facts on a topic.",
    "You research the topic and list 3 key facts.", llm);
IAgent writer = new Agent<string>(
    "Writer", "Writes a short article.",
    "You write a 200-word explainer using the researcher's facts.", llm);
IAgent critic = new Agent<string>(
    "Critic", "Reviews the article.",
    "You check the article. Reply DONE when it is publishable.", llm);

var admin = new GroupChatAdmin<string, string>(
    name: "Editorial",
    llmClient: llm,
    agents: new[] { researcher, writer, critic });

Console.WriteLine(await admin.RunAsync(
    "Explain Reciprocal Rank Fusion in 200 words."));

More examples in the docs.


Licensing

LogicGrid is free to use, including in commercial products. The source is proprietary; the binaries published to NuGet are free to install and ship. See LICENSE.txt

Trust & Security

This is a closed-source commercial product. We understand that asking you to dotnet add package a binary is asking for trust. Here is how we earn it:

Software Bill of Materials (SBOM)

Every release ships with a CycloneDX 1.7 SBOM listing every transitive dependency, version, and SHA-512 hash. You can audit the full dependency graph before the package ever touches your build server.

# Verify a downloaded LogicGrid package against our published SBOM
cyclonedx-cli validate --input-file bom.json

Offline by Default

  • No telemetry. No analytics from inside the runtime. Air-gapped deployments work end-to-end.
  • The only outbound traffic LogicGrid makes is the LLM calls you configure.

Zero Hidden Dependencies

LogicGrid pulls in only what is strictly required:

  • System.Text.Json (Microsoft, BCL)
  • Stable, well-known packages with permissive licenses

No obscure transitive packages. No unexpected native binaries. Check bom.json yourself.

Reproducible Releases

Every NuGet package version corresponds to a tagged, signed release. The SBOM, license, and changelog in this repository are the canonical record.

Reporting Vulnerabilities

Security issues: security@logicgrid.dev (PGP key available on request). Please do not file public issues for vulnerabilities.


Compatibility

.NET Status
.NET Framework 4.7.2+ Supported (via netstandard2.0)
.NET Core 3.1 Supported (via netstandard2.0)
.NET 6 Supported
.NET 7 Supported (via net6.0)
.NET 8 Supported
.NET 9 Supported (via net8.0)

Operating systems: Windows, Linux, macOS. Containers, air-gapped, on-prem, edge.


Provider Support

Provider Chat Embeddings Streaming Tool calling
Ollama
OpenAI
Anthropic n/a
Google Gemini
vLLM n/a
TEI (HuggingFace) n/a n/a n/a
LM Studio
DeepSeek / Groq / any OpenAI-compatible

Community

This repository is the public face of LogicGrid. The source for the framework itself is closed; this repo carries the README, license, SBOM, and the issue/discussion tracker.


Built for engineers who ship.

Get Started · Join the community

Copyright © 2026 LogicGrid. All rights reserved.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors