hf_text-generation-inference/server/text_generation_server/utils
drbh cef0553d59
Outlines guided generation (#1539)
This WIP PR starts to add grammar support via outlines, currently this
PR supports very simple regex grammars and does not optimize for
precompiling or caching grammar fsm's.

todo:
- [X] add simple outlines guidance to `NextTokenChooser`
- [X] update protos for grammar
- [X] update generation params API
- [X] constrain simple grammar
- [ ] support parsing more complex grammar into fsm
- [ ] support all outline support grammar types
- [ ] explore optimizations to avoid recompiling grammars

guided request
```bash
curl -s 'http://localhost:3000/generate' \
--header 'Content-Type: application/json' \
--data-raw '{
    "inputs": "make an email for david: \n",
    "parameters": {
        "max_new_tokens": 6,
        "grammar": "[\\w-]+@([\\w-]+\\.)+[\\w-]+"
    }
}' | jq
```
response
```json
{
  "generated_text": "david@example.com"
}
```

unguided request
```bash
curl -s 'http://localhost:3000/generate' \
--header 'Content-Type: application/json' \
--data '{
    "inputs": "make an email for david: \n",
    "parameters": {
        "max_new_tokens": 6
    }
}' | jq
```
response
```json
{
  "generated_text": "    email = 'david"
}
```
2024-02-15 10:28:10 +01:00
..
awq ROCm AWQ support (#1514) 2024-02-09 10:45:16 +01:00
gptq ROCm AWQ support (#1514) 2024-02-09 10:45:16 +01:00
__init__.py feat(server): Add native support for PEFT Lora models (#762) 2023-08-03 17:22:45 +02:00
convert.py fit for baichuan models (#981) 2023-09-08 16:51:34 +02:00
dist.py feat: add cuda memory fraction (#659) 2023-07-24 11:43:58 +02:00
flash_attn.py Fix missing make target platform for local install: 'install-flash-attention-v2' (#1414) 2024-01-09 16:19:31 +01:00
hub.py Fix local load for peft (#1373) 2023-12-21 17:29:23 +01:00
import_utils.py Add RoCm support (#1243) 2023-11-27 14:08:12 +01:00
layers.py ROCm AWQ support (#1514) 2024-02-09 10:45:16 +01:00
log.py v1.3.4 2023-12-22 15:46:04 +01:00
logits_process.py Outlines guided generation (#1539) 2024-02-15 10:28:10 +01:00
medusa.py chore: formatting 2023-12-11 14:49:52 +01:00
paged_attention.py chore: formatting 2023-12-11 14:49:52 +01:00
peft.py fix: fix local loading for .bin models (#1419) 2024-01-09 15:21:00 +01:00
speculate.py chore: formatting 2023-12-11 14:49:52 +01:00
tokens.py Outlines guided generation (#1539) 2024-02-15 10:28:10 +01:00
watermark.py Fixing watermark. (#851) 2023-08-16 07:17:26 +02:00
weights.py feat: experimental support for cuda graphs (#1428) 2024-02-12 10:09:29 +01:00