mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-05 18:27:22 +00:00
featu: support passing "extra body" throught to providers
# What does this PR do? Allows passing through extra_body parameters to inference providers. closes #2720 ## Test Plan CI and added new test
This commit is contained in:
parent
361fcaf2f3
commit
c40d8dcbee
3 changed files with 59 additions and 0 deletions
|
|
@ -228,6 +228,9 @@ class OpenAIMixin(NeedsRequestProviderData, ABC, BaseModel):
|
|||
"""
|
||||
Direct OpenAI completion API call.
|
||||
"""
|
||||
# Extract extra fields using Pydantic's built-in __pydantic_extra__
|
||||
extra_body = dict(params.__pydantic_extra__ or {})
|
||||
|
||||
# Handle parameters that are not supported by OpenAI API, but may be by the provider
|
||||
# prompt_logprobs is supported by vLLM
|
||||
# guided_choice is supported by vLLM
|
||||
|
|
@ -316,6 +319,9 @@ class OpenAIMixin(NeedsRequestProviderData, ABC, BaseModel):
|
|||
user=params.user,
|
||||
)
|
||||
|
||||
# Extract any additional provider-specific parameters using Pydantic's __pydantic_extra__
|
||||
if extra_body := dict(params.__pydantic_extra__ or {}):
|
||||
request_params["extra_body"] = extra_body
|
||||
resp = await self.client.chat.completions.create(**request_params)
|
||||
|
||||
return await self._maybe_overwrite_id(resp, params.stream) # type: ignore[no-any-return]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue