Skip to content

Commit bf3d175

Browse files
committed
Merge branch 'main' into redisplay-results
2 parents 9f9ddc9 + 0e78c65 commit bf3d175

File tree

217 files changed

+8739
-1583
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

217 files changed

+8739
-1583
lines changed

.eslintrc.json

Lines changed: 0 additions & 69 deletions
This file was deleted.

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ cython_debug/
179179
*.json
180180
*.yaml
181181

182+
# But not scenarios
183+
!src/guidellm/benchmark/scenarios/*.json
184+
!src/guidellm/benchmark/scenarios/*.yaml
182185

183186
# UI Section - Next.js/React application under src/ui/
184187
# dependencies
@@ -220,8 +223,8 @@ src/ui/next-env.d.ts
220223
# Root-level UI config files that should be tracked
221224
!package.json
222225
!package-lock.json
223-
!.eslintrc.json
224226
!tsconfig.json
225227
!tsconfig.*.json
226228
!src/ui/lib
227229
!src/ui/public/manifest.json
230+
.eslintcache

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx lint-staged

.prettierignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
!tests/ui/**/*.json
1313

1414
# Root-level configs to format
15-
!/.eslintrc.json
15+
!/.eslint.config.js
1616
!/tsconfig*.json
1717
!/*.config.{js,ts}
1818
!/jest.setup.ts

DEVELOPING.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,13 @@ The GuideLLM project includes a frontend UI located in `src/ui`, built using [Ne
185185

186186
### Getting Started
187187

188-
To start the local development server:
188+
First, install dependencies:
189+
190+
```bash
191+
npm install
192+
```
193+
194+
Then, start the local development server:
189195

190196
```bash
191197
npm run dev
@@ -215,6 +221,12 @@ npm run build
215221
npm run test:integration
216222
```
217223

224+
- **Integration+Unit tests with coverage**:
225+
226+
```bash
227+
npm run coverage
228+
```
229+
218230
- **End-to-end tests** (using Cypress, ensure live dev server):
219231

220232
```bash
@@ -241,6 +253,20 @@ npm run build
241253
npm run type-checks
242254
```
243255

256+
##### Tagging Tests
257+
258+
Reference [https://www.npmjs.com/package/jest-runner-groups](jest-runner-groups) Add @group with the tag in a docblock at the top of the test file to indicate which types of tests are contained within. Can't distinguish between different types of tests in the same file.
259+
260+
```
261+
/**
262+
* Admin dashboard tests
263+
*
264+
* @group smoke
265+
* @group sanity
266+
* @group regression
267+
*/
268+
```
269+
244270
## Additional Resources
245271

246272
- [CONTRIBUTING.md](https://github.com/neuralmagic/guidellm/blob/main/CONTRIBUTING.md): Guidelines for contributing to the project.

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,48 @@ The `guidellm benchmark` command is used to run benchmarks against a generative
153153

154154
- `--output-path`: Defines the path to save the benchmark results. Supports JSON, YAML, or CSV formats. If a directory is provided, the results will be saved as `benchmarks.json` in that directory. If not set, the results will be saved in the current working directory.
155155

156+
### GuideLLM UI
157+
158+
GuideLLM UI is a companion frontend for visualizing the results of a GuideLLM benchmark run.
159+
160+
### 🛠 Running the UI
161+
162+
1. Use the Hosted Build (Recommended for Most Users)
163+
164+
After running a benchmark with GuideLLM, a report.html file will be generated (by default at guidellm_report/report.html). This file references the latest stable version of the UI hosted at:
165+
166+
```
167+
https://neuralmagic.github.io/guidellm/ui/dev/
168+
```
169+
170+
Open the file in your browser and you're done—no setup required.
171+
172+
2. Build and Serve the UI Locally (For Development) This option is useful if:
173+
174+
- You are actively developing the UI
175+
176+
- You want to test changes to the UI before publishing
177+
178+
- You want full control over how the report is displayed
179+
180+
```bash
181+
npm install
182+
npm run build
183+
npx serve out
184+
```
185+
186+
This will start a local server (e.g., at http://localhost:3000). Then, in your GuideLLM config or CLI flags, point to this local server as the asset base for report generation.
187+
188+
### 🧪 Development Notes
189+
190+
During UI development, it can be helpful to view sample data. We include a sample benchmark run wired into the Redux store under:
191+
192+
```
193+
src/lib/store/[runInfo/workloadDetails/benchmarks]WindowData.ts
194+
```
195+
196+
In the future this will be replaced by a configurable untracked file for dev use.
197+
156198
## Resources
157199

158200
### Documentation

cypress.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ export default defineConfig({
44
e2e: {
55
specPattern: 'tests/ui/cypress/e2e/**/*.cy.{js,jsx,ts,tsx}',
66
supportFile: 'tests/ui/cypress/support/e2e.ts',
7-
baseUrl: 'http://localhost:3000', // optional, but good practice
7+
baseUrl: 'http://localhost:3000', // optional
88
},
99
});

docs/datasets.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ GuideLLM supports several types of datasets, each with its own advantages and us
3939

4040
Synthetic datasets allow you to generate data on the fly with customizable parameters. This is useful for controlled experiments, stress testing, and simulating specific scenarios. For example, you might want to evaluate how a model handles long prompts or generates outputs with specific characteristics.
4141

42+
For different use cases, here are the recommended dataset profiles to pass as arguments in GuideLLM:
43+
44+
- **Chat**: `--data "prompt_tokens=512,output_tokens=256"`
45+
- **RAG**: `--data "prompt_tokens=4096,output_tokens=512"`
46+
- **Summarization**: `--data "prompt_tokens=1024,output_tokens=256"`
47+
- **Code Generation**: `--data "prompt_tokens=512,output_tokens=512"`
48+
4249
#### Example Commands
4350

4451
```bash

0 commit comments

Comments
 (0)