Skip to content

[dotnet-ai] RAG pipeline#245

Draft
luisquintanilla wants to merge 2 commits intodotnet:mainfrom
luisquintanilla:dotnet-ai/rag-pipeline
Draft

[dotnet-ai] RAG pipeline#245
luisquintanilla wants to merge 2 commits intodotnet:mainfrom
luisquintanilla:dotnet-ai/rag-pipeline

Conversation

@luisquintanilla
Copy link
Copy Markdown
Contributor

@luisquintanilla luisquintanilla commented Mar 5, 2026

Fixes #233
Part of #225

Dependencies

Merge order: This PR should be merged after:

Summary

Adds the rag-pipeline skill covering end-to-end retrieval-augmented generation. This is a composition skill that orchestrates the foundation skills (chat, embeddings, vector search, ingestion) into a 6-stage pattern: Ingest Embed Store Retrieve Assemble Generate.

Changes

File Description
plugins/dotnet-ai/skills/rag-pipeline/SKILL.md 6-stage RAG pattern, source attribution, out-of-scope handling, grounding verification
tests/dotnet-ai/rag-pipeline/eval.yaml Eval: document Q&A RAG scenario

Key Packages

  • Microsoft.Extensions.AI (chat + embeddings)
  • Microsoft.Extensions.VectorData (vector search)
  • Microsoft.Extensions.DataIngestion (document ingestion)

Validation

  • SKILL.md has valid YAML frontmatter
  • Covers all 6 RAG stages with code examples
  • Source attribution and out-of-scope handling documented
  • Cross-references to foundation skills are correct
  • eval.yaml has at least one scenario

Adds the RAG pipeline skill covering the 6-stage retrieval-augmented
generation pattern: ingest, embed, store, retrieve, assemble, generate.
Composes meai-chat, meai-embeddings, vector-data-search, and data-ingestion.

Fixes dotnet#233
Part of dotnet#225

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
.NET 10 is the current LTS (released Nov 2025). .NET 8 reaches
end-of-support Nov 2026.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ManishJayaswal
Copy link
Copy Markdown
Contributor

@luisquintanilla - we want skills to be atomic to the extent possible ( see contributing.md ). Tagging @artl93 @joperezr and @jeffhandley to review and decide the course of action.

@artl93
Copy link
Copy Markdown
Member

artl93 commented Mar 11, 2026

@ManishJayaswal - can you define what makes this not atomic? It's basically a RAG project template with validation.

dotnet add package Microsoft.Extensions.VectorData.Abstractions

# Dev / prototyping
dotnet add package Microsoft.Extensions.VectorData.InMemory
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this something that should be parameterized?

var systemPrompt = $"""
Answer the user's question based ONLY on the provided context.
If the context doesn't contain the answer, say "I don't have information about that."
Always cite your sources.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider whether this is strong enough as a system prompt - should it be more guarded against prompt injection?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[dotnet-ai] RAG pipeline

4 participants