@@ -10,7 +10,90 @@ ChatQnA architecture shows below:
10
10
11
11
ChatQnA is implemented on top of [ GenAIComps] ( https://github.com/opea-project/GenAIComps ) , the ChatQnA Flow Chart shows below:
12
12
13
- ![ Flow Chart] ( ./assets/img/chatqna_flow_chart.png )
13
+ ``` mermaid
14
+ ---
15
+ config:
16
+ flowchart:
17
+ nodeSpacing: 100
18
+ rankSpacing: 100
19
+ curve: linear
20
+ theme: base
21
+ themeVariables:
22
+ fontSize: 42px
23
+ ---
24
+ flowchart LR
25
+ %% Colors %%
26
+ classDef blue fill:#ADD8E6,stroke:#ADD8E6,stroke-width:2px,fill-opacity:0.5
27
+ classDef orange fill:#FBAA60,stroke:#ADD8E6,stroke-width:2px,fill-opacity:0.5
28
+ classDef orchid fill:#C26DBC,stroke:#ADD8E6,stroke-width:2px,fill-opacity:0.5
29
+ classDef invisible fill:transparent,stroke:transparent;
30
+ style ChatQnA-MegaService stroke:#000000
31
+ %% Subgraphs %%
32
+ subgraph ChatQnA-MegaService["ChatQnA-MegaService"]
33
+ direction LR
34
+ EM([Embedding <br>]):::blue
35
+ RET([Retrieval <br>]):::blue
36
+ RER([Rerank <br>]):::blue
37
+ LLM([LLM <br>]):::blue
38
+ end
39
+ subgraph User Interface
40
+ direction TB
41
+ a([User Input Query]):::orchid
42
+ Ingest([Ingest data]):::orchid
43
+ UI([UI server<br>]):::orchid
44
+ end
45
+ subgraph ChatQnA GateWay
46
+ direction LR
47
+ invisible1[ ]:::invisible
48
+ GW([ChatQnA GateWay<br>]):::orange
49
+ end
50
+ subgraph .
51
+ X([OPEA Micsrservice]):::blue
52
+ Y{{Open Source Service}}
53
+ Z([OPEA Gateway]):::orange
54
+ Z1([UI]):::orchid
55
+ end
56
+
57
+ TEI_RER{{Reranking service<br>'TEI'<br>}}
58
+ TEI_EM{{Embedding service <br>'TEI LangChain'<br>}}
59
+ VDB{{Vector DB<br>'Redis'<br>}}
60
+ R_RET{{Retriever service <br>'LangChain Redis'<br>}}
61
+ DP([Data Preparation<br>'LangChain Redis'<br>]):::blue
62
+ LLM_gen{{LLM Service <br>'TGI'<br>}}
63
+
64
+ %% Data Preparation flow
65
+ %% Ingest data flow
66
+ direction LR
67
+ Ingest[Ingest data] -->|a| UI
68
+ UI -->|b| DP
69
+ DP <-.->|c| TEI_EM
70
+
71
+ %% Questions interaction
72
+ direction LR
73
+ a[User Input Query] -->|1| UI
74
+ UI -->|2| GW
75
+ GW <==>|3| ChatQnA-MegaService
76
+ EM ==>|4| RET
77
+ RET ==>|5| RER
78
+ RER ==>|6| LLM
79
+
80
+
81
+ %% Embedding service flow
82
+ direction TB
83
+ EM <-.->|3'| TEI_EM
84
+ RET <-.->|4'| R_RET
85
+ RER <-.->|5'| TEI_RER
86
+ LLM <-.->|6'| LLM_gen
87
+
88
+ direction TB
89
+ %% Vector DB interaction
90
+ R_RET <-.->|d|VDB
91
+ DP <-.->|d|VDB
92
+
93
+
94
+
95
+
96
+ ```
14
97
15
98
This ChatQnA use case performs RAG using LangChain, Redis VectorDB and Text Generation Inference on Intel Gaudi2 or Intel XEON Scalable Processors. The Intel Gaudi2 accelerator supports both training and inference for deep learning models in particular for LLMs. Visit [ Habana AI products] ( https://habana.ai/products ) for more details.
16
99
0 commit comments