@@ -18,85 +18,80 @@ Please find additional details in [Shiksha-Copilot User FAQ](Transparency_FAQ_Sh
1818## System Architecture
1919
2020``` mermaid
21- %%{init: {
22- "theme": "base",
23- "themeVariables": {
24- "background": "transparent",
25- "primaryTextColor": "#1f2328",
26- "primaryColor": "#e8f1ff",
27- "secondaryColor": "#fff1e5",
28- "lineColor": "#6e7781",
29- "clusterBkg": "#f6f8fa",
30- "clusterBorder": "#d0d7de",
31- "edgeLabelBackground": "#ffffff"
32- },
33- "flowchart": { "curve": "basis", "diagramPadding": 8, "nodeSpacing": 35, "rankSpacing": 40 }
34- }}%%
35- flowchart TB
36- %% Offline
37- subgraph OFFLINE["🔄 Offline Processing"]
21+ ---
22+ config:
23+ theme: base
24+ themeVariables:
25+ background: transparent
26+ primaryTextColor: '#1f2328'
27+ primaryColor: '#e8f1ff'
28+ secondaryColor: '#fff1e5'
29+ lineColor: '#6e7781'
30+ clusterBkg: '#f6f8fa'
31+ clusterBorder: '#d0d7de'
32+ edgeLabelBackground: '#ffffff'
33+ flowchart:
34+ curve: basis
35+ diagramPadding: 8
36+ nodeSpacing: 35
37+ rankSpacing: 40
38+ layout: elk
39+ ---
40+ flowchart LR
41+ subgraph OFFLINE["🔄 Offline Processing"]
3842 direction TB
39- A("📘 Curriculum Textbooks")
40- A2("🌐 External Open-Source Material")
41- B("🧭 Shiksha Ingestion")
42- B2("👨🏫 Human Curators")
43- A --> B
44- A2 --> B
45- B --> B2
43+ A("📘 Curriculum Textbooks")
44+ A2("🌐 External Open-Source Material")
45+ B("🧭 Shiksha Ingestion")
46+ B2("👨🏫 Human Curators")
4647 end
47-
48- %% Knowledge Base (horizontal, edges hidden)
49- subgraph F["📚 Knowledge Base"]
48+ subgraph F["📚 Knowledge Base"]
5049 direction LR
51- C("🧠 Vector Datastore"):::store
52- D("🕸️ Graph Datastore"):::store
53- E("📄 Document Datastore"):::store
54- F1("☁️ Azure Blob Store"):::store
50+ C("🧠 Vector Datastore")
51+ D("🕸️ Graph Datastore")
52+ E("📄 Document Datastore")
53+ F1("☁️ Azure Blob Store")
5554 end
56-
57- %% Online
58- subgraph ONLINE["🌐 Online User Experience"]
59- subgraph s1["🖥️ Frontend"]
60- G("Shiksha Website")
61- end
62- subgraph H["🧩 Shiksha-API • FastAPI"]
63- I("💬 Lesson Chat")
64- J("📝 Question Paper")
65- K("🎓 Edu Chat")
66- end
67- subgraph M["⚙️ Shiksha-API • Durable Functions"]
68- N("🛠️ Lesson Plan Generation")
69- end
70- L("🔎 Bing Search API")
55+ subgraph s1["🖥️ Frontend"]
56+ G("Shiksha Website")
57+ end
58+ subgraph H["🧩 Shiksha-API • FastAPI"]
59+ I("💬 Lesson Chat")
60+ J("📝 Question Paper")
61+ K("🎓 Edu Chat")
7162 end
63+ subgraph M["⚙️ Shiksha-API • Durable Functions"]
64+ N("🛠️ Lesson Plan Generation")
65+ end
66+ subgraph ONLINE["🌐 Online User Experience"]
67+ s1
68+ H
69+ M
70+ L("🔎 Bing Search API")
71+ end
72+ A --> B
73+ A2 --> B
74+ B --> B2
75+ B2 --> F
76+ G -- SYNC --> H
77+ G -. ASYNC .-> M
78+ I --> F
79+ J --> F
80+ K --> L
81+ M --> F
82+ C:::store
83+ D:::store
84+ E:::store
85+ F1:::store
86+ classDef store fill:#eef6ff,stroke:#1f6feb,stroke-width:1px,color:#1f2328
87+ classDef ghost fill:transparent,stroke:transparent,color:transparent
88+ style s1 fill:#e8f8f0,stroke:#2da44e,stroke-width:1px
89+ style H fill:#fff1e5,stroke:#bf8700,stroke-width:1px
90+ style M fill:#f5f0ff,stroke:#8250df,stroke-width:1px
91+ style F fill:#f6f8fa,stroke:#8b949e,stroke-width:1px
92+ style OFFLINE fill:#fff5f5,stroke:#e5534b,stroke-width:1px
93+ style ONLINE fill:#f0fff4,stroke:#2da44e,stroke-width:1px
7294
73- %% Connections
74- B2 --> F
75- G -->|SYNC| H
76- G -. ASYNC .-> M
77- I --> F
78- J --> F
79- K --> L
80- M --> F
81-
82- %% Spacer edges to keep KB horizontal (place LAST)
83- C --- D
84- D --- E
85- E --- F1
86-
87- %% Hide the 3 spacer edges (indices 7, 8, 9 in this diagram)
88- linkStyle 7 stroke-width:0px,stroke:transparent,opacity:0;
89- linkStyle 8 stroke-width:0px,stroke:transparent,opacity:0;
90- linkStyle 9 stroke-width:0px,stroke:transparent,opacity:0;
91-
92- %% Styles
93- classDef store fill:#eef6ff,stroke:#1f6feb,stroke-width:1px,color:#1f2328;
94- style s1 fill:#e8f8f0,stroke:#2da44e,stroke-width:1px
95- style H fill:#fff1e5,stroke:#bf8700,stroke-width:1px
96- style M fill:#f5f0ff,stroke:#8250df,stroke-width:1px
97- style F fill:#f6f8fa,stroke:#8b949e,stroke-width:1px
98- style OFFLINE fill:#fff5f5,stroke:#e5534b,stroke-width:1px
99- style ONLINE fill:#f0fff4,stroke:#2da44e,stroke-width:1px
10095```
10196
10297## Key Features
0 commit comments