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
Copy file name to clipboardExpand all lines: README.md
+28-22Lines changed: 28 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,7 +98,6 @@ The MCP server supports customizable documentation for its tools through environ
98
98
-`MCP_CHAT_WITH_HISTORY_NOTES`: Additional notes about the tool
99
99
-`MCP_CHAT_WITH_HISTORY_EXAMPLES`: Usage examples
100
100
101
-
102
101
For further information on configuration and usage, please consult the [MCP Server README](./services/mcp-server/README.md).
103
102
104
103
#### 1.1.5 Frontend
@@ -124,28 +123,40 @@ For further information, please consult the [Libs README](./libs/README.md).
124
123
125
124
### 1.2 Requirements
126
125
127
-
> 📝 *Windows users*: make sure you use wsl for infrastructure setup & orchestration.
126
+
> 📝 Windows users: make sure you use WSL for infrastructure setup & orchestration.
128
127
129
-
Every package contains a `pyproject.toml` with the required Python packages.
130
-
[Poetry](https://python-poetry.org/) is used for requirement management.
131
-
To ensure the requirements are consistent, you have to update the `poetry.lock` in addition to the `pyproject.toml` when updating/changing requirements. Additional requirements like *black* and *flake8* are provided for development. You can install them with `poetry install --with dev` inside the package-directory.
128
+
Every package contains a `pyproject.toml` with the required Python packages. [Poetry](https://python-poetry.org/) is used for requirement management. To ensure the requirements are consistent, you have to update the `poetry.lock` in addition to the `pyproject.toml` when updating/changing requirements. Additional requirements like *black* and *flake8* are provided for development. You can install them with `poetry install --with dev` inside the package-directory.
132
129
133
130
> 📝 Do not update the requirements in the `pyproject.toml` manually. Doing so will invalidate the `poetry.lock`. Use the *poetry* application for this.
134
131
132
+
#### Directory-based local libraries (no local packages)
133
+
134
+
- Services do not install local libs as packages. Instead, containers set `PYTHONPATH` to include the service `src` and the needed `libs/*/src` folders.
135
+
- During image builds, libs' third-party dependencies are installed with `poetry install --no-root` in each lib directory. The service is also installed with `--no-root`.
136
+
- If you run services locally outside Docker, export `PYTHONPATH` accordingly, e.g. for rag-backend:
insisde of the package directory in order to add new packages. This will automatically update the `pyproject.toml` and the `poetry.lock`.
150
+
151
+
inside of the package directory in order to add new packages. This will automatically update the `pyproject.toml` and the `poetry.lock`.
141
152
142
153
System requirements have to manually be added to the `Dockerfile`.
143
154
144
155
### 1.3 Usage
156
+
145
157
This example of the rag-template includes a WebUI for document-management, as well as for the chat.
146
158
147
-
After following the setup instruction for either the [local installation](#-local-setup-instructions) or the [installation on a server](#-Deployment-to-server) the WebUI is accessible via the configured ingress.
148
-
After uploading a file in the document-management WebUI you can start asking question about your document in the chat WebUI.
159
+
After following the setup instruction for either the [local installation](#14-local-setup-instructions) or the [installation on a server](#2-deployment-to-server) the WebUI is accessible via the configured ingress. After uploading a file in the document-management WebUI you can start asking question about your document in the chat WebUI.
149
160
150
161
For a complete documentation of the available REST-APIs, please consult [the libs README](./libs/README.md).
This results in a basic auth with username=`foo` and password=`bar`.
189
199
190
-
> 📝 NOTE: All values containing `...` are placeholders and have to be replaced with real values.
191
-
> This deployment comes with multiple options. You change the `global.config.envs.rag_class_types.RAG_CLASS_TYPE_LLM_TYPE` in the helm-deployment to on of the following values:
200
+
> 📝 NOTE: All values containing `...` are placeholders and have to be replaced with real values. This deployment comes with multiple options. You change the `global.config.envs.rag_class_types.RAG_CLASS_TYPE_LLM_TYPE` in the helm-deployment to one of the following values:
192
201
>
193
202
> -`stackit`: Uses an OpenAI compatible LLM, like the STACKIT model serving service.
194
203
> -`ollama`: Uses ollama as an LLM provider.
195
-
>
196
204
197
205
#### 1.4.1 Environment Variables Setup
198
206
@@ -351,17 +359,15 @@ To connect the debugger, you can use the following `launch.json`:
351
359
}
352
360
```
353
361
354
-
The following will delete everything deployed with `tilt up` command
362
+
The following will delete everything deployed with `tilt up` command:
355
363
356
364
```shell
357
365
tilt down
358
366
```
359
367
360
368
#### 1.4.4 Access via ingress
361
369
362
-
A detailed explanation of, how to access a service via ingress, can be found in the [infrastructure README](./infrastructure/README.md).
363
-
364
-
370
+
A detailed explanation of how to access a service via ingress can be found in the [infrastructure README](./infrastructure/README.md).
365
371
366
372
## 2. Deployment to server
367
373
@@ -371,7 +377,8 @@ The RAG template requires *at least*:
371
377
- A Kubernetes Cluster
372
378
- S3 ObjectStorage
373
379
374
-
Provided is an example Terraform script, using the [STACKIT Terrraform Provider](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs):
380
+
Provided is an example Terraform script, using the [STACKIT Terraform Provider](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs):
For further information please consult the [STACKIT Terrraform Provider documentation](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs).
431
+
For further information please consult the [STACKIT Terraform Provider documentation](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs).
425
432
426
433
Further requirements for the server can be found in the [infrastructure README](./infrastructure/README.md).
427
434
428
435
### 2.2 Langfuse
429
436
430
437
A detailed description regarding the configuration of Langfuse can be found in the [infrastructure README](./infrastructure/README.md).
431
438
432
-
433
439
## 3. Build and Test
434
-
The example `Tiltfile` provides a triggered linting and testing.
435
-
The linting-settings can be changed in the `services/rag-backend/pyproject.toml` file under section `tool.flake8`.
440
+
441
+
The example `Tiltfile` provides a triggered linting and testing. The linting-settings can be changed in the `services/rag-backend/pyproject.toml` file under section `tool.flake8`.
0 commit comments