23
23
from typing import Dict
24
24
from typing import Generator
25
25
from typing import Iterable
26
- from typing import List
27
26
from typing import Literal
28
27
from typing import Optional
29
28
from typing import Tuple
@@ -482,22 +481,16 @@ def _message_to_generate_content_response(
482
481
483
482
def _get_completion_inputs (
484
483
llm_request : LlmRequest ,
485
- ) -> Tuple [
486
- List [Message ],
487
- Optional [List [dict ]],
488
- Optional [types .SchemaUnion ],
489
- Optional [Dict ],
490
- ]:
491
- """Converts an LlmRequest to litellm inputs and extracts generation params.
484
+ ) -> tuple [Iterable [Message ], Iterable [dict ]]:
485
+ """Converts an LlmRequest to litellm inputs.
492
486
493
487
Args:
494
488
llm_request: The LlmRequest to convert.
495
489
496
490
Returns:
497
- The litellm inputs (message list, tool dictionary, response format and generation params ).
491
+ The litellm inputs (message list, tool dictionary and response format ).
498
492
"""
499
- # 1. Construct messages
500
- messages : List [Message ] = []
493
+ messages = []
501
494
for content in llm_request .contents or []:
502
495
message_param_or_list = _content_to_message_param (content )
503
496
if isinstance (message_param_or_list , list ):
@@ -514,8 +507,7 @@ def _get_completion_inputs(
514
507
),
515
508
)
516
509
517
- # 2. Convert tool declarations
518
- tools : Optional [List [Dict ]] = None
510
+ tools = None
519
511
if (
520
512
llm_request .config
521
513
and llm_request .config .tools
@@ -526,39 +518,12 @@ def _get_completion_inputs(
526
518
for tool in llm_request .config .tools [0 ].function_declarations
527
519
]
528
520
529
- # 3. Handle response format
530
- response_format : Optional [types .SchemaUnion ] = None
531
- if llm_request .config and llm_request .config .response_schema :
532
- response_format = llm_request .config .response_schema
533
-
534
- # 4. Extract generation parameters
535
- generation_params : Optional [Dict ] = None
536
- if llm_request .config :
537
- config_dict = llm_request .config .model_dump (exclude_none = True )
538
- # Generate LiteLlm parameters here,
539
- # Following https://docs.litellm.ai/docs/completion/input.
540
- generation_params = {}
541
- param_mapping = {
542
- "max_output_tokens" : "max_completion_tokens" ,
543
- "stop_sequences" : "stop" ,
544
- }
545
- for key in (
546
- "temperature" ,
547
- "max_output_tokens" ,
548
- "top_p" ,
549
- "top_k" ,
550
- "stop_sequences" ,
551
- "presence_penalty" ,
552
- "frequency_penalty" ,
553
- ):
554
- if key in config_dict :
555
- mapped_key = param_mapping .get (key , key )
556
- generation_params [mapped_key ] = config_dict [key ]
521
+ response_format = None
557
522
558
- if not generation_params :
559
- generation_params = None
523
+ if llm_request . config . response_schema :
524
+ response_format = llm_request . config . response_schema
560
525
561
- return messages , tools , response_format , generation_params
526
+ return messages , tools , response_format
562
527
563
528
564
529
def _build_function_declaration_log (
@@ -695,9 +660,7 @@ async def generate_content_async(
695
660
self ._maybe_append_user_content (llm_request )
696
661
logger .debug (_build_request_log (llm_request ))
697
662
698
- messages , tools , response_format , generation_params = (
699
- _get_completion_inputs (llm_request )
700
- )
663
+ messages , tools , response_format = _get_completion_inputs (llm_request )
701
664
702
665
completion_args = {
703
666
"model" : self .model ,
@@ -707,9 +670,6 @@ async def generate_content_async(
707
670
}
708
671
completion_args .update (self ._additional_args )
709
672
710
- if generation_params :
711
- completion_args .update (generation_params )
712
-
713
673
if stream :
714
674
text = ""
715
675
# Track function calls by index
0 commit comments