@devilsdev/rag-pipeline-utils 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.eslintrc.json +24 -18
  2. package/.github/workflows/docs-deploy.yml +20 -10
  3. package/.github/workflows/publish-release-blog.yml +8 -6
  4. package/.github/workflows/storybook-deploy.yml +33 -0
  5. package/.storybook/main.js +20 -0
  6. package/.storybook/preview.js +13 -0
  7. package/CHANGELOG.md +7 -0
  8. package/README.md +1 -1
  9. package/docs-site/.plaiceholder-cache/img_hero.jpg.json +1 -0
  10. package/docs-site/.plaiceholder-cache/img_logo.png.json +1 -0
  11. package/docs-site/.storybook/preview.js +8 -0
  12. package/docs-site/blog/2025-04-17-release-v2.0.2.md +13 -0
  13. package/docs-site/blog/2025-04-18-architecture-overview.md +34 -0
  14. package/docs-site/blog/2025-04-19-prompt-engineering-best-practices.md +31 -0
  15. package/docs-site/blog/2025-04-20-image-showcase.md +23 -0
  16. package/docs-site/blog/authors.yml +2 -2
  17. package/docs-site/blog/tags.yml +23 -21
  18. package/docs-site/docs/Architecture.md +4 -4
  19. package/docs-site/docs/CLI.md +3 -3
  20. package/docs-site/docs/Evaluation.md +7 -7
  21. package/docs-site/docs/FAQ.md +6 -6
  22. package/docs-site/docs/Introduction.md +9 -9
  23. package/docs-site/docs/Plugins.md +3 -3
  24. package/docs-site/docs/Tutorials.md +106 -0
  25. package/docs-site/docs/Usage.md +5 -5
  26. package/docs-site/docs/Use-Cases.md +77 -0
  27. package/docs-site/docs/components/BlogCardExample.mdx +7 -0
  28. package/docs-site/docusaurus.config.js +3 -2
  29. package/docs-site/package-lock.json +487 -2
  30. package/docs-site/package.json +7 -3
  31. package/docs-site/scripts/generate-placeholders.js +17 -0
  32. package/docs-site/scripts/watch-images.js +40 -0
  33. package/docs-site/sidebar-snippet.txt +5 -0
  34. package/docs-site/sidebars.js +6 -1
  35. package/docs-site/src/components/BlogCard.jsx +31 -0
  36. package/docs-site/src/components/BlogCard.stories.jsx +34 -0
  37. package/docs-site/src/components/BlogImage.jsx +58 -0
  38. package/docs-site/src/components/BlogImage.stories.jsx +20 -0
  39. package/docs-site/static/img/authors/ali.jpg +0 -0
  40. package/docs-site/static/img/hero.jpg +0 -0
  41. package/docs-site/utils/image.js +19 -0
  42. package/package.json +19 -3
  43. package/src/stories/Button.jsx +39 -0
  44. package/src/stories/Button.stories.js +49 -0
  45. package/src/stories/Configure.mdx +364 -0
  46. package/src/stories/Header.jsx +56 -0
  47. package/src/stories/Header.stories.js +29 -0
  48. package/src/stories/Page.jsx +69 -0
  49. package/src/stories/Page.stories.js +28 -0
  50. package/src/stories/assets/accessibility.png +0 -0
  51. package/src/stories/assets/accessibility.svg +1 -0
  52. package/src/stories/assets/addon-library.png +0 -0
  53. package/src/stories/assets/assets.png +0 -0
  54. package/src/stories/assets/avif-test-image.avif +0 -0
  55. package/src/stories/assets/context.png +0 -0
  56. package/src/stories/assets/discord.svg +1 -0
  57. package/src/stories/assets/docs.png +0 -0
  58. package/src/stories/assets/figma-plugin.png +0 -0
  59. package/src/stories/assets/github.svg +1 -0
  60. package/src/stories/assets/share.png +0 -0
  61. package/src/stories/assets/styling.png +0 -0
  62. package/src/stories/assets/testing.png +0 -0
  63. package/src/stories/assets/theming.png +0 -0
  64. package/src/stories/assets/tutorials.svg +1 -0
  65. package/src/stories/assets/youtube.svg +1 -0
  66. package/src/stories/button.css +30 -0
  67. package/src/stories/header.css +32 -0
  68. package/src/stories/page.css +68 -0
  69. package/docs-site/docs/USE_CASES.md +0 -0
  70. /package/{USE_CASES.md → Use-Cases.md} +0 -0
package/.eslintrc.json CHANGED
@@ -1,21 +1,27 @@
1
1
  {
2
- "env": {
3
- "es2022": true,
4
- "node": true,
5
- "jest": true
6
- },
7
- "extends": [
8
- "eslint:recommended"
2
+ "env": {
3
+ "es2022": true,
4
+ "node": true,
5
+ "jest": true
6
+ },
7
+ "extends": [
8
+ "eslint:recommended",
9
+ "plugin:storybook/recommended"
10
+ ],
11
+ "parserOptions": {
12
+ "ecmaVersion": "latest",
13
+ "sourceType": "module"
14
+ },
15
+ "rules": {
16
+ "no-unused-vars": "warn",
17
+ "no-console": "off",
18
+ "semi": [
19
+ "error",
20
+ "always"
9
21
  ],
10
- "parserOptions": {
11
- "ecmaVersion": "latest",
12
- "sourceType": "module"
13
- },
14
- "rules": {
15
- "no-unused-vars": "warn",
16
- "no-console": "off",
17
- "semi": ["error", "always"],
18
- "quotes": ["error", "single"]
19
- }
22
+ "quotes": [
23
+ "error",
24
+ "single"
25
+ ]
20
26
  }
21
-
27
+ }
@@ -1,19 +1,28 @@
1
- name: Deploy Docusaurus to GitHub Pages
1
+ # .github/workflows/docs-deploy.yml
2
+ # Version: 1.1.0
3
+ # Description: Deploys Docusaurus to GitHub Pages on changes to documentation files
4
+ # Author: Ali Kahwaji
5
+
6
+ name: 📚 Deploy Docusaurus Docs
2
7
 
3
8
  on:
4
9
  push:
5
10
  branches: [main]
6
11
  paths:
7
- - 'docs-site/**'
8
- - 'blog/**'
9
- - 'sidebars.js'
10
- - 'docusaurus.config.js'
12
+ - 'docs-site/**'
13
+ - 'docs/**'
14
+ - 'blog/**'
15
+ - 'sidebars.js'
16
+ - 'docusaurus.config.js'
17
+ - 'package.json'
11
18
 
12
19
  jobs:
13
20
  deploy:
21
+ name: Deploy to GitHub Pages
14
22
  runs-on: ubuntu-latest
23
+
15
24
  steps:
16
- - name: 📥 Checkout
25
+ - name: 📥 Checkout repository
17
26
  uses: actions/checkout@v4
18
27
 
19
28
  - name: ⚙️ Setup Node.js
@@ -24,13 +33,14 @@ jobs:
24
33
  - name: 📦 Install dependencies
25
34
  run: npm ci
26
35
 
27
- - name: 🛠️ Build static site
28
- run: npm run build:docs
36
+ - name: 🛠️ Build Docusaurus site
37
+ run: npm run docs:build
29
38
 
30
39
  - name: 🚀 Deploy to GitHub Pages
31
40
  uses: peaceiris/actions-gh-pages@v4
32
41
  with:
33
42
  github_token: ${{ secrets.GITHUB_TOKEN }}
34
43
  publish_dir: ./docs-site/build
35
-
36
-
44
+ publish_branch: gh-pages
45
+ user_name: github-actions[bot]
46
+ user_email: 41898282+github-actions[bot]@users.noreply.github.com
@@ -1,5 +1,5 @@
1
1
  # .github/workflows/publish-release-blog.yml
2
- # Version: 1.0.0
2
+ # Version: 1.1.0
3
3
  # Description: Auto-publish blog post from CHANGELOG or prepared .md after NPM release
4
4
  # Author: Ali Kahwaji
5
5
 
@@ -15,8 +15,11 @@ jobs:
15
15
  runs-on: ubuntu-latest
16
16
 
17
17
  steps:
18
- - name: ⬇️ Checkout code
18
+ - name: ⬇️ Checkout main branch
19
19
  uses: actions/checkout@v4
20
+ with:
21
+ ref: main # ✅ Ensures blog is committed to 'main'
22
+ fetch-depth: 0
20
23
 
21
24
  - name: 🔧 Set up Node.js
22
25
  uses: actions/setup-node@v4
@@ -36,13 +39,12 @@ jobs:
36
39
  echo "tags: [release, changelog]" >> $FILE
37
40
  echo "---" >> $FILE
38
41
  echo >> $FILE
39
-
40
42
  echo "RAG Pipeline Utils v${VERSION} is now available on NPM!" >> $FILE
41
43
  echo >> $FILE
42
44
  echo "#### Highlights" >> $FILE
43
- echo "- Automated blog generation on GitHub releases" >> $FILE
44
- echo "- Version bump: ${VERSION}" >> $FILE
45
- echo "- Ensure CHANGELOG.md is synced" >> $FILE
45
+ echo "- 🚀 Auto-published blog from GitHub release" >> $FILE
46
+ echo "- 📦 Version bump: ${VERSION}" >> $FILE
47
+ echo "- 📘 See CHANGELOG.md for full details" >> $FILE
46
48
 
47
49
  - name: 📋 Commit blog post
48
50
  uses: stefanzweifel/git-auto-commit-action@v5
@@ -0,0 +1,33 @@
1
+ # .github/workflows/storybook-deploy.yml
2
+ name: 📘 Deploy Storybook
3
+
4
+ on:
5
+ push:
6
+ branches: [main]
7
+ paths:
8
+ - 'docs-site/src/components/**'
9
+ - '.storybook/**'
10
+
11
+ jobs:
12
+ deploy-storybook:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Setup Node
19
+ uses: actions/setup-node@v4
20
+ with:
21
+ node-version: 20
22
+
23
+ - name: Install dependencies
24
+ run: npm ci
25
+
26
+ - name: Build Storybook
27
+ run: npm run build-storybook
28
+
29
+ - name: Deploy to GitHub Pages
30
+ uses: peaceiris/actions-gh-pages@v4
31
+ with:
32
+ github_token: ${{ secrets.GITHUB_TOKEN }}
33
+ publish_dir: ./storybook-static
@@ -0,0 +1,20 @@
1
+
2
+
3
+ /** @type { import('@storybook/react-webpack5').StorybookConfig } */
4
+ const config = {
5
+ "stories": [
6
+ "../src/**/*.mdx",
7
+ "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"
8
+ ],
9
+ "addons": [
10
+ "@storybook/addon-webpack5-compiler-swc",
11
+ "@storybook/addon-essentials",
12
+ "@storybook/addon-onboarding",
13
+ "@storybook/addon-interactions"
14
+ ],
15
+ "framework": {
16
+ "name": "@storybook/react-webpack5",
17
+ "options": {}
18
+ }
19
+ };
20
+ export default config;
@@ -0,0 +1,13 @@
1
+ /** @type { import('@storybook/react').Preview } */
2
+ const preview = {
3
+ parameters: {
4
+ controls: {
5
+ matchers: {
6
+ color: /(background|color)$/i,
7
+ date: /Date$/i,
8
+ },
9
+ },
10
+ },
11
+ };
12
+
13
+ export default preview;
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ # [2.1.0](https://github.com/DevilsDev/rag-pipeline-utils/compare/v2.0.2...v2.1.0) (2025-04-18)
4
+
5
+
6
+ ### Features
7
+
8
+ * **docs-site:** add Storybook integration with BlogCard + LQIP image automation ([80965b8](https://github.com/DevilsDev/rag-pipeline-utils/commit/80965b8ef1d26372852ee0f39b56a73f337e0cea))
9
+
3
10
  ## [2.0.1](https://github.com/DevilsDev/rag-pipeline-utils/compare/v2.0.0...v2.0.1) (2025-04-17)
4
11
 
5
12
 
package/README.md CHANGED
@@ -120,7 +120,7 @@ Each plugin must implement the following interface:
120
120
 
121
121
  ## Use Cases
122
122
 
123
- Explore real-world DevX-focused examples in [USE_CASES.md](./USE_CASES.md), including:
123
+ Explore real-world DevX-focused examples in [USE_CASES.md](./Use-Cases.md), including:
124
124
 
125
125
  - Mock-driven plugin TDD
126
126
  - CI-based interface validation
@@ -0,0 +1 @@
1
+ {"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAIAAADwyuo0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGklEQVR4nGPILapfuW5vblF9blE9A4QD4QMApeANEwX0WNkAAAAASUVORK5CYII="}
@@ -0,0 +1 @@
1
+ {"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAT0lEQVR4nAFEALv/AIXNrxKW5b44TKykITGQkA0Atv/dK37FpoIVaGhbSqqbIQAPMjMPAAcXJAAHGTkXJjUQABw3QRQOJT0bFCA3HBUiNRZrJhOUbaRuqQAAAABJRU5ErkJggg=="}
@@ -0,0 +1,8 @@
1
+ // .storybook/preview.js
2
+ export const parameters = {
3
+ layout: 'centered',
4
+ docs: {
5
+ title: '🧩 RAG Pipeline UI Components',
6
+ },
7
+ };
8
+
@@ -0,0 +1,13 @@
1
+ ---
2
+ slug: release-v2.0.2
3
+ title: ✨ Version v2.0.2 Released
4
+ authors: [ali]
5
+ tags: [release, changelog]
6
+ ---
7
+
8
+ RAG Pipeline Utils vv2.0.2 is now available on NPM!
9
+
10
+ #### Highlights
11
+ - 🚀 Auto-published blog from GitHub release
12
+ - 📦 Version bump: v2.0.2
13
+ - 📘 See CHANGELOG.md for full details
@@ -0,0 +1,34 @@
1
+ ---
2
+ slug: architecture-overview
3
+ title: RAG Pipeline Architecture Overview
4
+ authors: [ali]
5
+ tags: [architecture, design, modular]
6
+ description: A deep dive into the architecture powering RAG Pipeline Utils — from plugin interfaces to flexible pipeline composition.
7
+ ---
8
+
9
+ Welcome to the first post in our deep dive blog series on **RAG Pipeline Utils** — a fully modular, testable, and production-grade framework for building retrieval-augmented generation pipelines.
10
+
11
+ ## Why Modular RAG?
12
+
13
+ Most RAG tools are tightly coupled or opinionated. We built this utility to empower dev teams with:
14
+
15
+ - Swappable plugins for loaders, embedders, retrievers, LLMs
16
+ - CLI tools for evaluation & schema validation
17
+ - Docusaurus-based docs with versioned releases
18
+ - Full CI/CD and automated NPM releases
19
+
20
+ ## Architecture Highlights
21
+
22
+ - `PluginRegistry`: Registers and resolves all components.
23
+ - `validateSchema`: Enforces `.ragrc.json` format across all pipelines.
24
+ - `mocks/`: Local test doubles for every plugin interface.
25
+ - `__tests__/`: Dual-layer coverage — unit + integration.
26
+
27
+ ## Try It Now
28
+
29
+ ```bash
30
+ npm install @devilsdev/rag-pipeline-utils
31
+ npx rag-utils run --config .ragrc.json
32
+ ```
33
+
34
+ Stay tuned for future posts including CI validation, RAG evaluation tooling, and how to build your own dashboard for prompt scoring.
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: "Prompt Engineering Best Practices for RAG"
3
+ slug: prompt-engineering-best-practices
4
+ authors: [ali]
5
+ tags: [prompt-engineering, design]
6
+ image: /img/social/prompt-engineering-card.png
7
+ description: "A deep dive into prompt optimization strategies for RAG pipelines using modular design."
8
+ ---
9
+ Prompt engineering is a critical lever in maximizing the effectiveness of Retrieval-Augmented Generation (RAG) systems. In this article, we explore:
10
+
11
+ ## Prompting in Modular RAG Pipelines
12
+
13
+ Your `rag-pipeline-utils` system allows swappable LLM backends and encourages prompt templates as part of the reranker or query orchestrator.
14
+
15
+ - Always define clear input/output expectations
16
+ - Leverage JSON or YAML-based structured prompts where applicable
17
+ - Evaluate with real examples using the CLI + evaluation framework
18
+
19
+ ## What to Include in Prompts
20
+
21
+ - **Context injection**: retrieved chunks, metadata, source provenance
22
+ - **Task framing**: instruction-oriented for LLM consistency
23
+ - **Scoring heuristics**: if doing ranking, consider scoring guidelines
24
+
25
+ ## Prompt as Plugin (Future Feature)
26
+
27
+ Eventually, we plan to support `promptTemplate` as a plugin type – enabling reusable prompt logic alongside `loader`, `retriever`, etc.
28
+
29
+ ---
30
+
31
+ Stay tuned for our upcoming prompt debugger dashboard, and follow [releases](/blog/tags/release) for versioned updates.
@@ -0,0 +1,23 @@
1
+ ---
2
+ slug: image-showcase
3
+ title: Blog Image Component Showcase
4
+ authors: [ali]
5
+ tags: [tutorials, design, image]
6
+ description: Demonstrating LQIP-powered blog images using the BlogImage component.
7
+ ---
8
+
9
+ import BlogImage from '@site/src/components/BlogImage';
10
+
11
+ This post demonstrates the reusable **`<BlogImage />`** component, which displays optimized blurred placeholders (LQIPs) for faster rendering.
12
+
13
+ ## Example
14
+
15
+ <BlogImage srcKey="img_hero" alt="Hero demonstration" />
16
+
17
+ ---
18
+
19
+ ## Benefits Recap
20
+
21
+ - Blurred placeholder loading for faster perception
22
+ - Fallback to default cache when missing
23
+ - Ready for automation via `watch-images.js`
@@ -1,5 +1,5 @@
1
1
  ali:
2
2
  name: Ali Kahwaji
3
- title: Creator of RAG Pipeline Utils
4
- url: https://github.com/DevilsDev
3
+ title: Creator & Maintainer of RAG Pipeline Utils
4
+ url: https://github.com/alikahwaji
5
5
  image_url: /img/authors/ali.jpg
@@ -1,28 +1,30 @@
1
- facebook:
2
- label: Facebook
3
- permalink: /facebook
4
- description: Facebook tag description
1
+ # docs-site/blog/tags.yml
2
+ # Description: Central tag definitions for Docusaurus blog filtering and grouping
5
3
 
6
- hello:
7
- label: Hello
8
- permalink: /hello
9
- description: Hello tag description
4
+ - label: Release
5
+ slug: release
6
+ permalink: /blog/tags/release
10
7
 
11
- docusaurus:
12
- label: Docusaurus
13
- permalink: /docusaurus
14
- description: Docusaurus tag description
8
+ - label: Architecture
9
+ slug: architecture
10
+ permalink: /blog/tags/architecture
15
11
 
16
- hola:
17
- label: Hola
18
- permalink: /hola
19
- description: Hola tag description
12
+ - label: Prompt Engineering
13
+ slug: prompt-engineering
14
+ permalink: /blog/tags/prompt-engineering
20
15
 
21
- release:
22
- label: Release
23
- permalink: /blog/tags/release
16
+ - label: Evaluation
17
+ slug: evaluation
18
+ permalink: /blog/tags/evaluation
19
+
20
+ - label: Tutorials
21
+ slug: tutorials
22
+ permalink: /blog/tags/tutorials
24
23
 
25
- changelog:
26
- label: Changelog
24
+ - label: Changelog
25
+ slug: changelog
27
26
  permalink: /blog/tags/changelog
28
27
 
28
+ - label: Design
29
+ slug: design
30
+ permalink: /blog/tags/design
@@ -4,7 +4,7 @@ This page outlines the internal architecture of the RAG pipeline utilities, emph
4
4
 
5
5
  ---
6
6
 
7
- ## 🧩 Core Design Philosophy
7
+ ## Core Design Philosophy
8
8
 
9
9
  The architecture adheres to enterprise-grade practices:
10
10
 
@@ -16,7 +16,7 @@ The architecture adheres to enterprise-grade practices:
16
16
 
17
17
  ---
18
18
 
19
- ## 🏗️ Layered Components
19
+ ## Layered Components
20
20
 
21
21
  ```
22
22
  +-------------------------+
@@ -36,7 +36,7 @@ The architecture adheres to enterprise-grade practices:
36
36
 
37
37
  ---
38
38
 
39
- ## 📦 Core Interfaces
39
+ ## Core Interfaces
40
40
 
41
41
  Each plugin is registered via the `PluginRegistry` and looked up by key.
42
42
 
@@ -65,7 +65,7 @@ interface Retriever {
65
65
 
66
66
  ---
67
67
 
68
- ## 🔁 DAG Support
68
+ ## DAG Support
69
69
 
70
70
  The `dag-engine.js` module supports chaining multiple components:
71
71
  - Example: Summarize → Retrieve → Rerank → LLM
@@ -14,7 +14,7 @@ npx rag-pipeline <command>
14
14
 
15
15
  ---
16
16
 
17
- ## 🔧 Commands
17
+ ## Commands
18
18
 
19
19
  ### `ingest`
20
20
  ```bash
@@ -42,7 +42,7 @@ rag-pipeline rerank "What is RAG?" --retriever pinecone
42
42
 
43
43
  ---
44
44
 
45
- ## ⚙️ `.ragrc.json` Config
45
+ ## `.ragrc.json` Config
46
46
 
47
47
  Defaults can be set in a file:
48
48
  ```json
@@ -57,7 +57,7 @@ Defaults can be set in a file:
57
57
 
58
58
  ---
59
59
 
60
- ## 🐳 Docker Usage
60
+ ## Docker Usage
61
61
 
62
62
  ```bash
63
63
  docker build -t rag-pipeline .
@@ -4,7 +4,7 @@ This module allows you to evaluate the quality of generated LLM responses in a R
4
4
 
5
5
  ---
6
6
 
7
- ## 🎯 Objective
7
+ ## Objective
8
8
 
9
9
  Quantify how well the pipeline performs on question-answer pairs using:
10
10
  - **BLEU**: Precision on matching tokens
@@ -13,7 +13,7 @@ Quantify how well the pipeline performs on question-answer pairs using:
13
13
 
14
14
  ---
15
15
 
16
- ## 📄 Dataset Format
16
+ ## Dataset Format
17
17
 
18
18
  Each entry in your JSON dataset should include:
19
19
 
@@ -28,20 +28,20 @@ Saved as: `sample-eval-dataset.json`
28
28
 
29
29
  ---
30
30
 
31
- ## 🚀 CLI Evaluation
31
+ ## CLI Evaluation
32
32
 
33
33
  ```bash
34
34
  rag-pipeline evaluate ./fixtures/sample-eval-dataset.json
35
35
  ```
36
36
 
37
37
  Outputs:
38
- - ✅ Pass/fail per item
39
- - 📊 BLEU/ROUGE scores
40
- - 📈 Aggregated metrics
38
+ - Pass/fail per item
39
+ - BLEU/ROUGE scores
40
+ - Aggregated metrics
41
41
 
42
42
  ---
43
43
 
44
- ## 📊 Dashboard Visualization
44
+ ## Dashboard Visualization
45
45
 
46
46
  Use the React dashboard under `/public`:
47
47
 
@@ -1,6 +1,6 @@
1
1
  # FAQ
2
2
 
3
- ### ❓ Can I use this with my own vector database?
3
+ ### Can I use this with my own vector database?
4
4
  Yes! You can implement the `Retriever` interface and register it:
5
5
  ```ts
6
6
  registry.register('retriever', 'mydb', new MyRetriever());
@@ -9,17 +9,17 @@ Then use it via CLI or `.ragrc.json`.
9
9
 
10
10
  ---
11
11
 
12
- ### ❓ Is streaming LLM response supported?
12
+ ### Is streaming LLM response supported?
13
13
  Yes. LLM runners can yield async output tokens. This is handled internally via `AsyncIterable` in compatible models.
14
14
 
15
15
  ---
16
16
 
17
- ### ❓ How do I evaluate performance?
17
+ ### How do I evaluate performance?
18
18
  Use `rag-pipeline evaluate dataset.json` or open the dashboard at `http://localhost:3000` to visualize BLEU/ROUGE and pass rates.
19
19
 
20
20
  ---
21
21
 
22
- ### ❓ What file types can I ingest?
22
+ ### What file types can I ingest?
23
23
  Currently supported:
24
24
  - `.pdf` (mocked)
25
25
  - `.md`
@@ -29,7 +29,7 @@ Currently supported:
29
29
 
30
30
  ---
31
31
 
32
- ### ❓ Can I rerank results using a local model?
32
+ ### Can I rerank results using a local model?
33
33
  Yes, as long as your local LLM implements:
34
34
  ```ts
35
35
  llm.generate(prompt, context): Promise<string>
@@ -38,7 +38,7 @@ Use it to power `LLMReranker`.
38
38
 
39
39
  ---
40
40
 
41
- ### ❓ How do I contribute?
41
+ ### How do I contribute?
42
42
  Fork the repo → add your plugin or CLI feature → test → submit PR.
43
43
 
44
44
  ---
@@ -4,11 +4,11 @@ sidebar_position: 1
4
4
 
5
5
  # Introduction
6
6
 
7
- Welcome to **@yourorg/rag-pipeline-utils**, a modular Node.js toolkit for building scalable, pluggable Retrieval-Augmented Generation (RAG) systems.
7
+ Welcome to **@DevilsDev/rag-pipeline-utils**, a modular Node.js toolkit for building scalable, pluggable Retrieval-Augmented Generation (RAG) systems.
8
8
 
9
9
  ---
10
10
 
11
- ## 🚀 What is RAG?
11
+ ## What is RAG?
12
12
 
13
13
  RAG combines information retrieval with large language models to enhance generation with factual grounding. It typically involves:
14
14
 
@@ -19,7 +19,7 @@ This project provides all the composable parts to build your own RAG pipeline.
19
19
 
20
20
  ---
21
21
 
22
- ## 🔧 Why Use This Toolkit?
22
+ ## Why Use This Toolkit?
23
23
 
24
24
  - **Plugin-based**: Swap in your own loaders, retrievers, LLMs
25
25
  - **Streaming-ready**: Async-friendly, token-by-token output
@@ -29,7 +29,7 @@ This project provides all the composable parts to build your own RAG pipeline.
29
29
 
30
30
  ---
31
31
 
32
- ## 🧱 Architecture
32
+ ## Architecture
33
33
 
34
34
  Each RAG pipeline includes:
35
35
 
@@ -43,13 +43,13 @@ The pipeline can be used via code or via CLI commands.
43
43
 
44
44
  ---
45
45
 
46
- ## ✅ Status
46
+ ## Status
47
47
 
48
48
  This project is:
49
- - ✅ Production-ready
50
- - ✅ Covered by unit/integration tests
51
- - ✅ Compatible with Node.js `>=18`
52
- - ✅ Published to npm under `@yourorg`
49
+ - Production-ready
50
+ - Covered by unit/integration tests
51
+ - Compatible with Node.js `>=18`
52
+ - Published to npm under `DevilsDev`
53
53
 
54
54
  ---
55
55
 
@@ -4,7 +4,7 @@ The toolkit is fully modular. You can inject your own loaders, retrievers, embed
4
4
 
5
5
  ---
6
6
 
7
- ## 🔌 Plugin Architecture
7
+ ## Plugin Architecture
8
8
 
9
9
  All plugins follow a strict interface pattern. Each is registered under a namespace using the plugin registry:
10
10
 
@@ -21,7 +21,7 @@ You can register plugins for:
21
21
 
22
22
  ---
23
23
 
24
- ## 🧱 Loader Example
24
+ ## Loader Example
25
25
 
26
26
  ```ts
27
27
  class MyMarkdownLoader {
@@ -39,7 +39,7 @@ registry.register('loader', 'md', new MyMarkdownLoader());
39
39
 
40
40
  ---
41
41
 
42
- ## ⚡ Runtime Override
42
+ ## Runtime Override
43
43
 
44
44
  CLI and API will resolve plugin names from `pluginRegistry`. Use:
45
45