5
5
from re import escape as regex_escape
6
6
from typing import Tuple , Union
7
7
8
+ from outlines .processors import (CFGLogitsProcessor , JSONLogitsProcessor ,
9
+ RegexLogitsProcessor )
8
10
from pydantic import BaseModel
9
11
from transformers import PreTrainedTokenizerBase
10
12
11
13
from vllm .entrypoints .openai .protocol import (ChatCompletionRequest ,
12
14
CompletionRequest )
13
- from vllm .model_executor .guided_decoding .outlines_logits_processors import (
14
- CFGLogitsProcessor , JSONLogitsProcessor , RegexLogitsProcessor )
15
15
16
16
17
17
class GuidedDecodingMode (Enum ):
@@ -52,8 +52,8 @@ class GuidedDecodingMode(Enum):
52
52
53
53
54
54
async def get_outlines_guided_decoding_logits_processor (
55
- request : Union [CompletionRequest ,
56
- ChatCompletionRequest ], tokenizer : PreTrainedTokenizerBase
55
+ request : Union [CompletionRequest , ChatCompletionRequest ],
56
+ tokenizer : PreTrainedTokenizerBase ,
57
57
) -> Union [JSONLogitsProcessor , RegexLogitsProcessor , CFGLogitsProcessor ,
58
58
None ]:
59
59
"""
@@ -72,9 +72,14 @@ async def get_outlines_guided_decoding_logits_processor(
72
72
max_workers = 2 )
73
73
loop = asyncio .get_running_loop ()
74
74
75
- return await loop .run_in_executor (global_thread_pool ,
76
- _get_logits_processor , guide , tokenizer ,
77
- mode , request .guided_whitespace_pattern )
75
+ return await loop .run_in_executor (
76
+ global_thread_pool ,
77
+ _get_logits_processor ,
78
+ guide ,
79
+ tokenizer ,
80
+ mode ,
81
+ request .guided_whitespace_pattern ,
82
+ )
78
83
79
84
80
85
def _get_guide_and_mode (
@@ -110,8 +115,10 @@ def _get_guide_and_mode(
110
115
111
116
112
117
def _get_logits_processor (
113
- guide : str , tokenizer : PreTrainedTokenizerBase , mode : GuidedDecodingMode ,
114
- whitespace_pattern : Union [str , None ]
118
+ guide : str ,
119
+ tokenizer : PreTrainedTokenizerBase ,
120
+ mode : GuidedDecodingMode ,
121
+ whitespace_pattern : Union [str , None ],
115
122
) -> Union [JSONLogitsProcessor , RegexLogitsProcessor , CFGLogitsProcessor ]:
116
123
if mode == GuidedDecodingMode .JSON :
117
124
return JSONLogitsProcessor (guide , tokenizer , whitespace_pattern )
0 commit comments