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
-[Nginx](https://nginx.org/) (Not needed for development flows generally)
56
59
57
-
58
60
> **Note:**
59
-
> This guide provides instructions to build and run Danswer locally from source with Docker containers providing the above external software. We believe this combination is easier for
60
-
> development purposes. If you prefer to use pre-built container images, we provide instructions on running the full Danswer stack within Docker below.
61
-
61
+
> This guide provides instructions to build and run Onyx locally from source with Docker containers providing the above external software. We believe this combination is easier for
62
+
> development purposes. If you prefer to use pre-built container images, we provide instructions on running the full Onyx stack within Docker below.
62
63
63
64
### Local Set Up
65
+
64
66
Be sure to use Python version 3.11. For instructions on installing Python 3.11 on macOS, refer to the [CONTRIBUTING_MACOS.md](./CONTRIBUTING_MACOS.md) readme.
65
67
66
68
If using a lower version, modifications will have to be made to the code.
67
69
If using a higher version, sometimes some libraries will not be available (i.e. we had problems with Tensorflow in the past with higher versions of python).
68
70
69
-
70
71
#### Backend: Python requirements
72
+
71
73
Currently, we use pip and recommend creating a virtual environment.
72
74
73
75
For convenience here's a command for it:
76
+
74
77
```bash
75
78
python -m venv .venv
76
79
source .venv/bin/activate
77
80
```
78
81
79
82
> **Note:**
80
-
> This virtual environment MUST NOT be set up WITHIN the danswer directory if you plan on using mypy within certain IDEs.
81
-
> For simplicity, we recommend setting up the virtual environment outside of the danswer directory.
83
+
> This virtual environment MUST NOT be set up WITHIN the onyx directory if you plan on using mypy within certain IDEs.
84
+
> For simplicity, we recommend setting up the virtual environment outside of the onyx directory.
82
85
83
86
_For Windows, activate the virtual environment using Command Prompt:_
87
+
84
88
```bash
85
89
.venv\Scripts\activate
86
90
```
91
+
87
92
If using PowerShell, the command slightly differs:
_For Windows (for compatibility with both PowerShell and Command Prompt):_
184
+
166
185
```bash
167
186
powershell -Command "
168
187
$env:AUTH_TYPE='disabled'
169
-
uvicorn danswer.main:app --reload --port 8080
188
+
uvicorn onyx.main:app --reload --port 8080
170
189
"
171
190
```
172
191
@@ -182,57 +201,61 @@ You should now have 4 servers running:
182
201
- Model server
183
202
- Background jobs
184
203
185
-
Now, visit `http://localhost:3000` in your browser. You should see the Danswer onboarding wizard where you can connect your external LLM provider to Danswer.
204
+
Now, visit `http://localhost:3000` in your browser. You should see the Onyx onboarding wizard where you can connect your external LLM provider to Onyx.
186
205
187
-
You've successfully set up a local Danswer instance! 🏁
206
+
You've successfully set up a local Onyx instance! 🏁
188
207
189
-
#### Running the Danswer application in a container
208
+
#### Running the Onyx application in a container
190
209
191
-
You can run the full Danswer application stack from pre-built images including all external software dependencies.
210
+
You can run the full Onyx application stack from pre-built images including all external software dependencies.
192
211
193
-
Navigate to `danswer/deployment/docker_compose` and run:
212
+
Navigate to `onyx/deployment/docker_compose` and run:
194
213
195
214
```bash
196
-
docker compose -f docker-compose.dev.yml -p danswer-stack up -d
215
+
docker compose -f docker-compose.dev.yml -p onyx-stack up -d
197
216
```
198
217
199
-
After Docker pulls and starts these containers, navigate to `http://localhost:3000` to use Danswer.
218
+
After Docker pulls and starts these containers, navigate to `http://localhost:3000` to use Onyx.
200
219
201
-
If you want to make changes to Danswer and run those changes in Docker, you can also build a local version of the Danswer container images that incorporates your changes like so:
220
+
If you want to make changes to Onyx and run those changes in Docker, you can also build a local version of the Onyx container images that incorporates your changes like so:
202
221
203
222
```bash
204
-
docker compose -f docker-compose.dev.yml -p danswer-stack up -d --build
223
+
docker compose -f docker-compose.dev.yml -p onyx-stack up -d --build
205
224
```
206
225
207
226
### Formatting and Linting
227
+
208
228
#### Backend
229
+
209
230
For the backend, you'll need to setup pre-commit hooks (black / reorder-python-imports).
210
231
First, install pre-commit (if you don't have it already) following the instructions
211
232
[here](https://pre-commit.com/#installation).
212
233
213
234
With the virtual environment active, install the pre-commit library with:
235
+
214
236
```bash
215
237
pip install pre-commit
216
238
```
217
239
218
-
Then, from the `danswer/backend` directory, run:
240
+
Then, from the `onyx/backend` directory, run:
241
+
219
242
```bash
220
243
pre-commit install
221
244
```
222
245
223
246
Additionally, we use `mypy` for static type checking.
224
-
Danswer is fully type-annotated, and we want to keep it that way!
225
-
To run the mypy checks manually, run `python -m mypy .` from the `danswer/backend` directory.
226
-
247
+
Onyx is fully type-annotated, and we want to keep it that way!
248
+
To run the mypy checks manually, run `python -m mypy .` from the `onyx/backend` directory.
227
249
228
250
#### Web
229
-
We use `prettier` for formatting. The desired version (2.8.8) will be installed via a `npm i` from the `danswer/web` directory.
230
-
To run the formatter, use `npx prettier --write .` from the `danswer/web` directory.
231
-
Please double check that prettier passes before creating a pull request.
232
251
252
+
We use `prettier` for formatting. The desired version (2.8.8) will be installed via a `npm i` from the `onyx/web` directory.
253
+
To run the formatter, use `npx prettier --write .` from the `onyx/web` directory.
254
+
Please double check that prettier passes before creating a pull request.
233
255
234
256
### Release Process
235
-
Danswer loosely follows the SemVer versioning standard.
257
+
258
+
Onyx loosely follows the SemVer versioning standard.
236
259
Major changes are released with a "minor" version bump. Currently we use patch release versions to indicate small feature changes.
237
260
A set of Docker containers will be pushed automatically to DockerHub with every tag.
238
-
You can see the containers [here](https://hub.docker.com/search?q=danswer%2F).
261
+
You can see the containers [here](https://hub.docker.com/search?q=onyx%2F).
The base instructions to set up the development environment are located in [CONTRIBUTING.md](https://github.com/danswer-ai/danswer/blob/main/CONTRIBUTING.md).
2
+
3
+
The base instructions to set up the development environment are located in [CONTRIBUTING.md](https://github.com/onyx-dot-app/onyx/blob/main/CONTRIBUTING.md).
3
4
4
5
### Setting up Python
6
+
5
7
Ensure [Homebrew](https://brew.sh/) is already set up.
Copy file name to clipboardExpand all lines: LICENSE
+2-2
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
-
Copyright (c) 2023-present DanswerAI, Inc.
1
+
Copyright (c) 2023-present OnyxAI, Inc.
2
2
3
3
Portions of this software are licensed as follows:
4
4
5
5
* All content that resides under "ee" directories of this repository, if that directory exists, is licensed under the license defined in "backend/ee/LICENSE". Specifically all content under "backend/ee" and "web/src/app/ee" is licensed under the license defined in "backend/ee/LICENSE".
6
-
* All third party components incorporated into the Danswer Software are licensed under the original license provided by the owner of the applicable component.
6
+
* All third party components incorporated into the Onyx Software are licensed under the original license provided by the owner of the applicable component.
7
7
* Content outside of the above mentioned directories or restrictions above is available under the "MIT Expat" license as defined below.
8
8
9
9
Permission is hereby granted, free of charge, to any person obtaining a copy
0 commit comments