GraphBridge.GraphRag.AspNetCore
0.2.0-preview.1
Prefix Reserved
dotnet add package GraphBridge.GraphRag.AspNetCore --version 0.2.0-preview.1
NuGet\Install-Package GraphBridge.GraphRag.AspNetCore -Version 0.2.0-preview.1
<PackageReference Include="GraphBridge.GraphRag.AspNetCore" Version="0.2.0-preview.1" />
<PackageVersion Include="GraphBridge.GraphRag.AspNetCore" Version="0.2.0-preview.1" />
<PackageReference Include="GraphBridge.GraphRag.AspNetCore" />
paket add GraphBridge.GraphRag.AspNetCore --version 0.2.0-preview.1
#r "nuget: GraphBridge.GraphRag.AspNetCore, 0.2.0-preview.1"
#:package GraphBridge.GraphRag.AspNetCore@0.2.0-preview.1
#addin nuget:?package=GraphBridge.GraphRag.AspNetCore&version=0.2.0-preview.1&prerelease
#tool nuget:?package=GraphBridge.GraphRag.AspNetCore&version=0.2.0-preview.1&prerelease
GraphBridge.GraphRag.AspNetCore
Experimental. ASP.NET Core endpoints for the GraphBridge GraphRAG toolkit. The API may change in any preview; using it reports GBRAG001.
Secure them yourself. The endpoints read your documents and call your model, so they need your authentication, authorization and rate limits. MapGraphRag returns the route group for that:
builder.Services.AddGraphRag<AppDbContext>(new GraphRagEmbeddingSet("text-embedding-3-small", 1536)); // with an IChatClient and an IEmbeddingGenerator registered
app.MapGraphRag<AppDbContext>("/graphrag")
.RequireAuthorization()
.RequireRateLimiting("graphrag");
Endpoints
POST /graphrag/askwith{"question": "..."}streams server-sent events:Event Data retrievedhow many evidence and context items were found, their size, what the budget left out, and the trace ID when tracing is on deltathe next piece of the answer as the model writes it. Provisional: no citation has been checked yet verifiedthe answer, which replaces the provisional text, and its citations: document, chunk, byte span and the stored quote refusedthe reason; withdrawsis true when provisional text was sent and must be removederrorretrieval-failedormodel-failed; the details are in your logShow
deltatext as provisional, and replace or remove it whenverifiedorrefusedarrives. Closing the request stops the model call.For a follow-up, send the conversation so far as well:
{"question": "...", "history": [{"question": "...", "answer": "..."}]}, oldest first, at most 20 turns. The server keeps no conversation. It rewrites the follow-up into a standalone question, andretrievedcarriesrewrite: the question asked and the one retrieved (follow-up questions).POST /graphrag/searchwith{"query": "...", "limit": 5}returns up to 20 passages, each with its document, chunk, byte span and text. Passages are evidence to read, not answers.GET /graphrag/documents/{id}returns a document's metadata and its chunks' byte spans, in order.
Retrieval sets the retrieval options for ask and search, checked on each request; without it, the defaults given to AddGraphRag apply. ScopeFor sets each request's scope from your application, for example the signed-in user's tenant; the caller can't choose it. It applies to all three endpoints: documents/{id} answers 404 for a document outside the scope, and lists only the chunks inside it. An empty question, or one longer than MaxQuestionLength (2,000 characters by default), gets a 400 response before any work. Nothing is written or cached.
Requires Neo4j 2026.09 or later. Design: ADR 0052, section 12, in the repository's docs/architecture/adr.
| Product | Versions 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. |
-
net10.0
- GraphBridge.GraphRag (>= 0.2.0-preview.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0-preview.1 | 66 | 10/30/2026 |
Developer preview. Release notes and the breaking-change policy: https://github.com/joslat/GraphBridge.EFCore/blob/main/CHANGELOG.md