You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -40,12 +41,6 @@ To install the package simply run:
40
41
pip install -e .
41
42
```
42
43
43
-
To install additional RAG-related dependencies, run:
44
-
45
-
```bash
46
-
pip install -e '.[rag]'
47
-
```
48
-
49
44
> :warning: This is a big package with a lot of dependencies, so we recommend to use `uv` to handle `pip` installations. [Check our tutorial on uv](./docs/uv.md).
50
45
51
46
### Minimal Example
@@ -54,13 +49,14 @@ You can use our predefined CLI commands to execute parts of the pipeline. Note t
54
49
55
50
```bash
56
51
# Run processing
57
-
mmore process --config-file examples/process/config.yaml
52
+
python -m mmore process --config-file examples/process/config.yaml
Upload your multimodal documents (PDFs, videos, spreadsheets, and more) into the pipeline.
89
+
Upload your multimodal documents (PDFs, videos, spreadsheets, and m(m)ore) into the pipeline.
95
90
96
91
2.[**:mag: Process**](./docs/process.md)
97
-
Extracts and standardizes text, metadata, and multimedia content from diverse file formats. Easily extensible! You can add your own processors to handle new file types.
92
+
Extracts and standardizes text, metadata, and multimedia content from diverse file formats. Easily extensible! You can add your own processors to handle new file types.
98
93
*Supports fast processing for specific types.*
99
94
100
95
3.[**:file_folder: Index**](./docs/index.md)
101
-
Organizes extracted data into a **hybrid retrieval-ready Vector Store DB**, combining dense and sparse indexing through [Milvus](https://milvus.io/). Your vector DB can also be remotely hosted and then you only have to provide a standard API.
96
+
Organizes extracted data into a **hybrid retrieval-ready Vector Store DB**, combining dense and sparse indexing through [Milvus](https://milvus.io/). Your vector DB can also be remotely hosted and then you only have to provide a standard API. There is also an [HTTP Index API](./docs/index_api.md) for adding new files on the fly with HTTP requests.
102
97
103
98
4.[**:robot: RAG**](./docs/rag.md)
104
99
Use the indexed documents inside a **Retrieval-Augmented Generation (RAG) system** that provides a [LangChain](https://www.langchain.com/) interface. Plug in any LLM with a compatible interface or add new ones through an easy-to-use interface.
@@ -108,7 +103,7 @@ To launch the MMORE pipeline follow the specialised instructions in the docs.
108
103
*Coming soon*
109
104
An easy way to evaluate the performance of your RAG system using Ragas.
110
105
111
-
See [the `/docs` directory](/docs) for additional details on each modules and hands-on tutorials on parts of the pipeline.
106
+
See [the `/docs` directory](./docs) for additional details on each modules and hands-on tutorials on parts of the pipeline.
112
107
113
108
114
109
#### :construction: Supported File Types
@@ -118,7 +113,7 @@ See [the `/docs` directory](/docs) for additional details on each modules and ha
| **Web Content** | HTML | CPU | :white_check_mark:
122
117
123
118
124
119
## Contributing
@@ -134,7 +129,3 @@ Don't hesitate to star the project :star: if you find it interesting! (you would
134
129
## License
135
130
136
131
This project is licensed under the Apache 2.0 License, see the [LICENSE :mortar_board:](LICENSE) file for details.
137
-
138
-
## Acknowledgements
139
-
140
-
This project is part of the [**OpenMeditron**](https://huggingface.co/OpenMeditron) initiative developed in [LiGHT](https://www.light-laboratory.org/) lab at EPFL/Yale/CMU Africa in collaboration with the [**SwissAI**](https://www.swiss-ai.org/) initiative. Thank you Scott Mahoney, Mary-Anne Hartley
|**Frontend:** the actual dashboard user interface (UI), and what will be displayed on your screen. ||
23
-
|**Database:** the database which stores information about the file processing. ||
24
-
|**Processing Pipeline:** the pipeline processing your documents for which you want to be able to visualize on the dashboard. ||
25
-
|**Backend Server:***backend* is what we call the server that acts like the middle man to the 3 elements above. It receives information from the processing pipeline, stores and retrieves data from the database and sends information to be displayed on the frontend dashboard. ||
22
+
|**Frontend:** the actual dashboard user interface (UI), and what will be displayed on your screen. ||
23
+
|**Database:** the database which stores information about the file processing. ||
24
+
|**Processing Pipeline:** the pipeline processing your documents for which you want to be able to visualize on the dashboard. ||
25
+
|**Backend Server:***backend* is what we call the server that acts like the middle man to the 3 elements above. It receives information from the processing pipeline, stores and retrieves data from the database and sends information to be displayed on the frontend dashboard. ||
26
26
27
27
28
28
## 2. Setup
@@ -35,15 +35,15 @@ Each element shown above is created in a different terminal. This means that you
35
35
Official documentation for MongoDB setup can be found [here](https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/) (Ubuntu 22.04 Jammy release).
> ✏️ **Note**: You will be prompted to select your timezone during installation. For instance for Switzerland, enter '8' for Europe and then '63' for the timezone.
83
83
84
84
5.**Create Data Directory**
85
85
86
86
```bash
87
-
mkdir-p ~/mongodb
87
+
mkdir-p ~/mongodb
88
88
```
89
89
90
90
Creates a directory in root folder to store MongoDB data files.
91
91
92
92
6.**Start the MongoDB Server**
93
93
94
94
```bash
95
-
mongod--bind_ip_all --dbpath ~/mongodb
95
+
mongod--bind_ip_all --dbpath ~/mongodb
96
96
```
97
97
98
98
This starts MongoDB with the following configuration:
@@ -154,7 +154,7 @@ This script automatically checks if MongoDB is installed, installs it if needed
154
154
This backend serves as the bridge between the **database,** the **frontend** and **processing pipeline**, providing a clean API to interact with the data without direct database access.
> 🚨 **Important**: Keep this terminal window open. The backend runs in the foreground and closing the terminal will shut down the server.
201
195
202
-
5.**Verify the Backend is Running**
196
+
4.**Verify the Backend is Running**
203
197
204
198
You can check if the backend is running correctly by accessing [http://localhost:8000](http://localhost:8000). You should see a response like: `{"message": "Hello World"}`
205
199
@@ -215,53 +209,41 @@ The next step is to set up the frontend that will communicate with this backend
215
209
This frontend serves as the user-facing component of the system, providing an interface for monitoring and controlling the processing pipeline without requiring direct interaction with the database or backend code.
This loads Node Version Manager (NVM) into your current shell session. NVM is necessary because the frontend requires a specific version of Node.js that differs from the default version installed on the system.
217
+
If it is not already installed, install NVM following the [instructions](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating). Then make sure the Node Version Manager (NVM) is loaded into your current shell session. NVM is necessary because the frontend requires a specific version of Node.js that may differ from the default version installed on the system.
228
218
229
219
2.**Install and Activate Node.js Version 23**
230
220
231
221
```bash
232
-
sudo -i # give root privileges
233
-
nvm install 23
234
-
exit# exit root
235
-
nvm use 23
222
+
nvm install 23
223
+
nvm use 23
236
224
```
237
225
238
-
This sequence:
239
-
240
-
- Starts a shell with root privileges (necessary for the installation)
241
-
- Uses NVM to install Node.js version 23
242
-
- Exits the root shell
243
-
- Sets version 23 as the active Node.js version for your current session
244
226
3.**Install Dependencies**
245
227
246
228
```bash
247
229
cd src/mmore/dashboard/frontend # navigte to frontend directory
248
-
npminstall
230
+
npminstall
249
231
```
250
232
251
233
This command uses NPM (Node Package Manager) to install all JavaScript dependencies defined in the package.json file. These are libraries and frameworks needed by the frontend.
Sets an environment variable that tells the frontend where to find the backend API. Vite (the build tool) will use this variable during development.
260
242
261
243
5.**Start Frontend Server**
262
244
263
245
```bash
264
-
npmrun dev
246
+
npmrun dev
265
247
```
266
248
267
249
Executes the development script defined in package.json, and starts a local development server for the frontend application. The terminal will show the URL where the frontend is available (typically [http://localhost:5173](http://localhost:5173/)).
@@ -272,7 +254,7 @@ Executes the development script defined in package.json, and starts a local dev
272
254
To complete the dashboard setup, you need to run a process module that will generate data for visualization in the UI.
0 commit comments