Skip to content

Commit 68d7988

Browse files
authored
Fix links in experimental ORAN readme (#98)
1 parent e8864c1 commit 68d7988

File tree

1 file changed

+13
-41
lines changed
  • experimental/oran-chatbot-multimodal

1 file changed

+13
-41
lines changed

experimental/oran-chatbot-multimodal/README.md

Lines changed: 13 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This repository is designed to make it extremely easy to set up your own retriev
1515

1616
Before running the pipeline, please ensure that you have the following prerequisites:
1717
- Python version 3.10.12
18-
- <TODO: verify if GPU is necessary> GPU-enabled machine
18+
- GPU-enabled machine
1919
- NVIDIA API Key
2020

2121
If you do not have a NVIDIA API Key, please follow the steps 1-4 mentioned [here](https://github.com/NVIDIA/GenerativeAIExamples/blob/main/docs/rag/aiplayground.md#prepare-the-environment) to get your key.
@@ -31,53 +31,32 @@ The following describes how you can have this chatbot up-and-running in less tha
3131
### Step 2. Clone this repository to a Linux machine
3232

3333
```
34-
git clone <TODO: PUBLIC REPO LINK>
35-
```
36-
Once you have tested this on a local machine, you can [request a VM from IT](https://itss.nvidia.com/) and deploy it there so it can run all the time.
37-
38-
Currently, we are using the internal gitlab repository, which can be downloaded using following command:
39-
```
40-
git clone -b multimodal_oran https://gitlab-master.nvidia.com/sae-industry/telco/ai-workflows/rag/oran_chatbot.git
34+
git clone https://github.com/NVIDIA/GenerativeAIExamples.git && cd GenerativeAIExamples/experimental/oran-chatbot-multimodal
4135
```
4236

43-
4437
### Step 3. Install the requirements
4538
Goto the root of the oran_chatbot repository, and install the requirements in the virtual environment.
4639
```
4740
pip install -r requirements.txt
4841
```
4942

50-
<!-- #5. Follow instructions available [here](https://milvus.io/docs/install_standalone-docker.md#Install-Milvus-standalone-using-Docker-Compose). -->
51-
5243
### Step 4. Setup PowerPoint parsing
5344
If you want to use the PowerPoint parsing feature, you will need LibreOffice. On Ubuntu Linux systems, use the following command to install it.
5445
```
5546
sudo apt install libreoffice
5647
```
5748

5849
### Step 5. (Optional) Setup Feedback feature
59-
If you would like to use the "Feedback" feature, you will need a service account for Google Sheets.
60-
Save your service account credentials file as `service.json` inside the `oran_chatbot` folder.
50+
If you would like to use the "Feedback" feature, you will need a service account for Google Sheets.
51+
Save your service account credentials file as `service.json` inside the `oran-chatbot-multimodel` folder.
52+
53+
### Step 6. Setup your NVIDIA API key
6154

62-
### Step 6. Setup your NVIDIA API key
63-
<!-- <TODO: Check if these API keys are being used internally.> -->
64-
<!-- We needFollow the steps 1-4 mentioned [here](https://github.com/NVIDIA/GenerativeAIExamples/blob/main/docs/rag/aiplayground.md#prepare-the-environment) to get your NVIDIA API key. -->
6555
To access NeMo services and language model, we will export the NVIDIA API key to the environment using the following command:
66-
56+
6757
```
6858
export NVIDIA_API_KEY="nvapi-b**************"
6959
```
70-
<!-- Now, we will generate an NVIDIA GPU Cloud (NGC) API Key for the NeMo service. You can request/get access for yourself or your team by reading instructions available [here](https://nvidia.sharepoint.com/sites/NemoService/SitePages/Team.aspx). For using this repository, you will need to export the NGC API KEY as an environment variable as shown below.
71-
72-
```
73-
export NGC_API_KEY="Y2c2Nm**************"
74-
``` -->
75-
76-
<!-- ### Step 7: Download ORAN documents
77-
<!-- <TODO: Are we using google drive for this? update this section> -->
78-
<!-- Download the official O-RAN documentations from [here](https://www.o-ran.org/specifications). These documents should be placed inside the `vectorstore/oran` folder. -->
79-
80-
<!-- Download these documents in the `vectorstore/oran` file. -->
8160

8261
### Step 7. Run the chatbot using streamlit
8362
Go to the `oran_chatbot` folder to run the O-RAN RAG chatbot using streamlit.
@@ -96,20 +75,17 @@ Save your service account credentials file as `service.json` inside the `oran_ch
9675
ssh -L PORT:IP_ADDR:PORT localhost
9776
```
9877

99-
<!-- To setup the vector database, use the `Create vector DB` button under the `Evaluation Metrics` tab.
100-
You can click on `Browse Files` and select your knowledge source. After selecting, click on `Upload!` button to complete the ingestion process. -->
101-
10278
### Step 8. Adding documents and creating vector database
10379

10480
Before you can run the chatbot, we need to upload our documents to the bot and create a vector database.
10581

106-
The official O-RAN documentations are available [here](https://www.o-ran.org/specifications).
82+
The official O-RAN documentations are available [here](https://www.o-ran.org/specifications).
10783

10884
To upload these documents to O-RAN bot, you can use either of the following method:
10985
- Using streamlit UI, you can navigate to the `Knowledge Base` tab. Select the files using the `Browse Files` button and click on `Upload!` button.
11086
- Alternatively, you can upload the documents through the backend using following steps:
11187

112-
- Make a directory named `oran` inside the vectorstore folder using command
88+
- Make a directory named `oran` inside the vectorstore folder using command
11389
```mkdir vectorstore/oran```
11490
- Move your O-RAN documents inside this folder using `cp /path/to/oran_document /vectorstore/oran`, or `cp /path/to/oran_folder/* /vectorstore/oran`. If you are running the bot through a remote server, you can use `scp` to upload the documents from your local machine to the server.
11591

@@ -119,22 +95,20 @@ Save your service account credentials file as `service.json` inside the `oran_ch
11995

12096
#### Add or delete documents from knowledge base
12197

122-
All the documents in the knowledge base are shown in the drop-down menu of `Knowledge Base` tab.
123-
98+
All the documents in the knowledge base are shown in the drop-down menu of `Knowledge Base` tab.
99+
124100
If you want to add more documents to your existing knowledge base, navigate to the `Knowledge Base` tab, select the files using the `Browse Files` button and click on `Upload!` button. Finally, click on the `Re-train Multimodal ORAN Assistant' button to complete the ingestion process.
125101

126102
You can delete files from your knowledge base using the `Delete File` button. The default password to delete files is `avfleetengineering`, and can be changed using `1_Knowledge_Base.py` file inside `pages` folder.
127-
103+
128104
**Warning:** The `Create vector DB` button overwrites any existing vector database, and creates a new vector database using documents available in the `vectorstore/oran` folder. To upload additional documents to your database, always use the `Re-train Multimodal ORAN Assistant` button.
129105

130106

131107
### Step 9. Evaluating the chatbot
132108

133109
Once our chatbot is running, we can use the evaluation scripts to test its performance.
134-
135-
The `Run synthetic data generation` button in `Evaluation Metrics` tab generates a test dataset using the files in knowledge base. Once the synthetic test set is generated, click on the `Generate evaluation metrics` button to see a comprehensive evaluation report for the RAG performance.
136-
<!-- <TODO: fill this. Mention about regenerating evals pkl file> -->
137110

111+
The `Run synthetic data generation` button in `Evaluation Metrics` tab generates a test dataset using the files in knowledge base. Once the synthetic test set is generated, click on the `Generate evaluation metrics` button to see a comprehensive evaluation report for the RAG performance.
138112

139113
## Architecture Diagram
140114

@@ -165,7 +139,6 @@ This uses the NVIDIA NeMo Retriever model through NVIDIA AI Playground. This is
165139
The vector database being used here is FAISS, a CPU-based embedding database. It can easily be swapped out for numerous other options like ChromaDB, Pinecone, Milvus and others. Some of the options are listed on the [LangChain docs here](https://python.langchain.com/docs/integrations/vectorstores/).
166140

167141
### Prompt Augmentation
168-
<!-- <TODO: We can update this section> -->
169142
Depending on the backend and model, you may need to modify the way in which you format your prompt and chat conversations to interact with the model. The current design considers each query independently. However, if you put the input as a set of user/assistant/user interactions, you can combine multi-turn conversations. This may also require periodic summarization of past context to ensure the chat does not exceed the context length of the model.
170143

171144
### Backend
@@ -174,7 +147,6 @@ Depending on the backend and model, you may need to modify the way in which you
174147

175148
## Pipeline Enhancement Opportunities:
176149

177-
<!-- <TODO: Do we want to keep this section? maybe reframe it better? maybe something like 'now that we have implemented this, you can try extending it's capabilities by xyz so that it looks more like learning opportunity for users rather than incomplete implementation> -->
178150
### Multimodal Parsing:
179151
Upgrade the current PyMuPDF-based PDF parsing with a more sophisticated parser for improved extraction of images and tables. Employ a high-quality Multimodal Language Model (MLLM) to enhance image descriptions and implement structured data analysis techniques like text2sql or text2pandas for efficient table summarization.
180152

0 commit comments

Comments
 (0)