mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-29 08:41:22 +00:00 
			
		
		
		
	 ab9a3240a9
			
		
	
	ab9a3240a9
	
	
	
		
			
			* json: rename python schema converter to make import easier
* server: skip null json_schema / grammar fields
* json: deps management for primitive rules (+ allow null values)
* json: optimize repetitions for minItems/maxItems and regexps: `a{,3}` goes from `"a"? "a"? "a"?` (explosive combos) to `(a (a (a)?)?)?`
* grammars: add troubleshooting section to readme
* json: cap length of numbers to 15 digits before/after decimal point
(avoids infinite gen, e.g. "one third" -> `0.333333333333...`)
* json: unify all repetition code (w/ or w/o sep)
* json: support string minLength/maxLength
* server+json: update server/README w/ result_format
* nits
* json: fix type error w/ python 3.8
* json: fix server/README (json_schema in /completion vs. result_format in /v1/chat/completions)
* json: simplify DOT `{"type": "string", "pattern": "^.$"}`
* json: remove recursion in opt_repetitions (avoids Python stack overflow)
* json: rm dead code
* json: rm useless assert & ggml.h import
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			920 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			920 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # ./examples/ts-type-to-grammar.sh "{a:string,b:string,c?:string}"
 | |
| # python examples/json_schema_to_grammar.py https://json.schemastore.org/tsconfig.json
 | |
| #
 | |
| set -euo pipefail
 | |
| 
 | |
| readonly type="$1"
 | |
| 
 | |
| # Create a temporary directory
 | |
| TMPDIR=""
 | |
| trap 'rm -fR "$TMPDIR"' EXIT
 | |
| TMPDIR=$(mktemp -d)
 | |
| 
 | |
| DTS_FILE="$TMPDIR/type.d.ts"
 | |
| SCHEMA_FILE="$TMPDIR/schema.json"
 | |
| 
 | |
| echo "export type MyType = $type" > "$DTS_FILE"
 | |
| 
 | |
| # This is a fork of typescript-json-schema, actively maintained as of March 2024:
 | |
| # https://github.com/vega/ts-json-schema-generator
 | |
| npx ts-json-schema-generator --unstable --no-top-ref --path "$DTS_FILE" --type MyType -e none > "$SCHEMA_FILE"
 | |
| 
 | |
| # Alternative, not actively maintained as of March 2024:
 | |
| # https://github.com/YousefED/typescript-json-schema
 | |
| # npx typescript-json-schema --defaultProps --required "$DTS_FILE" MyType | tee "$SCHEMA_FILE" >&2
 | |
| 
 | |
| ./examples/json_schema_to_grammar.py "$SCHEMA_FILE"
 |