Merge pull request #3079 from pipecat-ai/vp-add-exact-model-version-function
set full model name for base openai models
This commit is contained in:
@@ -133,6 +133,7 @@ class BaseOpenAILLMService(LLMService):
|
||||
self._retry_timeout_secs = retry_timeout_secs
|
||||
self._retry_on_timeout = retry_on_timeout
|
||||
self.set_model_name(model)
|
||||
self._full_model_name: str = ""
|
||||
self._client = self.create_client(
|
||||
api_key=api_key,
|
||||
base_url=base_url,
|
||||
@@ -185,6 +186,22 @@ class BaseOpenAILLMService(LLMService):
|
||||
"""
|
||||
return True
|
||||
|
||||
def set_full_model_name(self, full_model_name: str):
|
||||
"""Set the full AI model name.
|
||||
|
||||
Args:
|
||||
full_model_name: The full name of the AI model to use.
|
||||
"""
|
||||
self._full_model_name = full_model_name
|
||||
|
||||
def get_full_model_name(self):
|
||||
"""Get the current full model name.
|
||||
|
||||
Returns:
|
||||
The full name of the AI model being used.
|
||||
"""
|
||||
return self._full_model_name
|
||||
|
||||
async def get_chat_completions(
|
||||
self, params_from_context: OpenAILLMInvocationParams
|
||||
) -> AsyncStream[ChatCompletionChunk]:
|
||||
@@ -360,6 +377,9 @@ class BaseOpenAILLMService(LLMService):
|
||||
)
|
||||
await self.start_llm_usage_metrics(tokens)
|
||||
|
||||
if chunk.model and self.get_full_model_name() != chunk.model:
|
||||
self.set_full_model_name(chunk.model)
|
||||
|
||||
if chunk.choices is None or len(chunk.choices) == 0:
|
||||
continue
|
||||
|
||||
|
||||
@@ -483,7 +483,9 @@ def traced_llm(func: Optional[Callable] = None, *, name: Optional[str] = None) -
|
||||
# Add all available attributes to the span
|
||||
attribute_kwargs = {
|
||||
"service_name": service_class_name,
|
||||
"model": getattr(self, "model_name", "unknown"),
|
||||
"model": getattr(
|
||||
self, getattr(self, "_full_model_name", "model_name"), "unknown"
|
||||
),
|
||||
"stream": True, # Most LLM services use streaming
|
||||
"parameters": params,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user