text-generation-inference/server/text_generation_server/utils
drbh 55acb86f42 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-04-24 14:57:37 +03:00
..
awq ROCm AWQ support (#1514) 2024-04-24 09:21:34 +00:00
gptq ROCm AWQ support (#1514) 2024-04-24 09:21:34 +00:00
__init__.py Add Habana copyright header (#122) 2024-04-08 18:06:21 +02:00
convert.py fit for baichuan models (#981) 2023-09-08 16:51:34 +02:00
debug.py Add Habana copyright header (#122) 2024-04-08 18:06:21 +02:00
dist.py Add changes from Optimum Habana's TGI folder 2023-12-05 11:12:16 +01:00
flash_attn.py Fix missing make target platform for local install: 'install-flash-attention-v2' (#1414) 2024-04-22 09:18:00 +03:00
hub.py Fix local load for peft (#1373) 2024-04-22 09:03:34 +03:00
import_utils.py Add RoCm support (#1243) 2023-11-27 14:08:12 +01:00
layers.py ROCm AWQ support (#1514) 2024-04-24 09:21:34 +00:00
log.py v1.3.4 2024-04-22 09:08:34 +03:00
logits_process.py Outlines guided generation (#1539) 2024-04-24 14:57:37 +03:00
medusa.py chore: formatting 2024-04-18 16:26:00 +03:00
paged_attention.py chore: formatting 2024-04-18 16:26:00 +03:00
peft.py fix: fix local loading for .bin models (#1419) 2024-04-22 09:17:52 +03:00
speculate.py chore: formatting 2024-04-18 16:26:00 +03:00
tokens.py Outlines guided generation (#1539) 2024-04-24 14:57:37 +03:00
watermark.py Add changes from Optimum Habana's TGI folder 2023-12-05 11:12:16 +01:00
weights.py feat: experimental support for cuda graphs (#1428) 2024-04-24 13:15:45 +03:00