use provider resource id to validate for models

This commit is contained in:
Dinesh Yeduguru 2024-11-12 08:21:37 -08:00
parent e4f14eafe2
commit 95b7f57d92
7 changed files with 75 additions and 46 deletions

View file

@ -95,7 +95,7 @@ class InferenceRouter(Inference):
async def chat_completion(
self,
model: str,
model_id: str,
messages: List[Message],
sampling_params: Optional[SamplingParams] = SamplingParams(),
response_format: Optional[ResponseFormat] = None,
@ -105,8 +105,9 @@ class InferenceRouter(Inference):
stream: Optional[bool] = False,
logprobs: Optional[LogProbConfig] = None,
) -> AsyncGenerator:
model = await self.routing_table.get_model(model_id)
params = dict(
model=model,
model_id=model.provider_resource_id,
messages=messages,
sampling_params=sampling_params,
tools=tools or [],
@ -116,7 +117,7 @@ class InferenceRouter(Inference):
stream=stream,
logprobs=logprobs,
)
provider = self.routing_table.get_provider_impl(model)
provider = self.routing_table.get_provider_impl(model_id)
if stream:
return (chunk async for chunk in await provider.chat_completion(**params))
else:
@ -124,16 +125,17 @@ class InferenceRouter(Inference):
async def completion(
self,
model: str,
model_id: str,
content: InterleavedTextMedia,
sampling_params: Optional[SamplingParams] = SamplingParams(),
response_format: Optional[ResponseFormat] = None,
stream: Optional[bool] = False,
logprobs: Optional[LogProbConfig] = None,
) -> AsyncGenerator:
provider = self.routing_table.get_provider_impl(model)
model = await self.routing_table.get_model(model_id)
provider = self.routing_table.get_provider_impl(model_id)
params = dict(
model=model,
model_id=model.provider_resource_id,
content=content,
sampling_params=sampling_params,
response_format=response_format,
@ -147,11 +149,12 @@ class InferenceRouter(Inference):
async def embeddings(
self,
model: str,
model_id: str,
contents: List[InterleavedTextMedia],
) -> EmbeddingsResponse:
return await self.routing_table.get_provider_impl(model).embeddings(
model=model,
model = await self.routing_table.get_model(model_id)
return await self.routing_table.get_provider_impl(model_id).embeddings(
model_id=model.provider_resource_id,
contents=contents,
)