Skip to content

Commit a3f9811

Browse files
authored
Update DocIndexRetriever README.md for workflow (#939)
Signed-off-by: Tsai, Louie <louie.tsai@intel.com>
1 parent 0eedbbf commit a3f9811

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

DocIndexRetriever/README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,72 @@
22

33
DocRetriever is the most widely adopted use case for leveraging the different methodologies to match user query against a set of free-text records. DocRetriever is essential to RAG system, which bridges the knowledge gap by dynamically fetching relevant information from external sources, ensuring that responses generated remain factual and current. The core of this architecture are vector databases, which are instrumental in enabling efficient and semantic retrieval of information. These databases store data as vectors, allowing RAG to swiftly access the most pertinent documents or data points based on semantic similarity.
44

5+
The DocIndexRetriever example is implemented using the component-level microservices defined in [GenAIComps](https://github.com/opea-project/GenAIComps). The flow chart below shows the information flow between different microservices for this example.
6+
7+
```mermaid
8+
---
9+
config:
10+
flowchart:
11+
nodeSpacing: 400
12+
rankSpacing: 100
13+
curve: linear
14+
themeVariables:
15+
fontSize: 50px
16+
---
17+
flowchart LR
18+
%% Colors %%
19+
classDef blue fill:#ADD8E6,stroke:#ADD8E6,stroke-width:2px,fill-opacity:0.5
20+
classDef orange fill:#FBAA60,stroke:#ADD8E6,stroke-width:2px,fill-opacity:0.5
21+
classDef orchid fill:#C26DBC,stroke:#ADD8E6,stroke-width:2px,fill-opacity:0.5
22+
classDef invisible fill:transparent,stroke:transparent;
23+
style DocIndexRetriever-MegaService stroke:#000000
24+
25+
%% Subgraphs %%
26+
subgraph DocIndexRetriever-MegaService["DocIndexRetriever MegaService "]
27+
direction LR
28+
EM([Embedding MicroService]):::blue
29+
RET([Retrieval MicroService]):::blue
30+
RER([Rerank MicroService]):::blue
31+
end
32+
subgraph UserInput[" User Input "]
33+
direction LR
34+
a([User Input Query]):::orchid
35+
Ingest([Ingest data]):::orchid
36+
end
37+
38+
DP([Data Preparation MicroService]):::blue
39+
TEI_RER{{Reranking service<br>}}
40+
TEI_EM{{Embedding service <br>}}
41+
VDB{{Vector DB<br><br>}}
42+
R_RET{{Retriever service <br>}}
43+
GW([DocIndexRetriever GateWay<br>]):::orange
44+
45+
%% Data Preparation flow
46+
%% Ingest data flow
47+
direction LR
48+
Ingest[Ingest data] --> DP
49+
DP <-.-> TEI_EM
50+
51+
%% Questions interaction
52+
direction LR
53+
a[User Input Query] --> GW
54+
GW <==> DocIndexRetriever-MegaService
55+
EM ==> RET
56+
RET ==> RER
57+
58+
%% Embedding service flow
59+
direction LR
60+
EM <-.-> TEI_EM
61+
RET <-.-> R_RET
62+
RER <-.-> TEI_RER
63+
64+
direction TB
65+
%% Vector DB interaction
66+
R_RET <-.-> VDB
67+
DP <-.-> VDB
68+
69+
```
70+
571
## We provided DocRetriever with different deployment infra
672

773
- [docker xeon version](docker_compose/intel/cpu/xeon/README.md) => minimum endpoints, easy to setup

0 commit comments

Comments
 (0)