Spaces:
Paused
Paused
| from typing import List, Optional, Tuple | |
| from litellm._logging import verbose_logger | |
| from litellm.integrations.custom_prompt_management import CustomPromptManagement | |
| from litellm.types.llms.openai import AllMessageValues | |
| from litellm.types.utils import StandardCallbackDynamicParams | |
| class X42PromptManagement(CustomPromptManagement): | |
| def get_chat_completion_prompt( | |
| self, | |
| model: str, | |
| messages: List[AllMessageValues], | |
| non_default_params: dict, | |
| prompt_id: Optional[str], | |
| prompt_variables: Optional[dict], | |
| dynamic_callback_params: StandardCallbackDynamicParams, | |
| ) -> Tuple[str, List[AllMessageValues], dict]: | |
| """ | |
| Returns: | |
| - model: str - the model to use (can be pulled from prompt management tool) | |
| - messages: List[AllMessageValues] - the messages to use (can be pulled from prompt management tool) | |
| - non_default_params: dict - update with any optional params (e.g. temperature, max_tokens, etc.) to use (can be pulled from prompt management tool) | |
| """ | |
| verbose_logger.debug( | |
| f"in async get chat completion prompt. Prompt ID: {prompt_id}, Prompt Variables: {prompt_variables}, Dynamic Callback Params: {dynamic_callback_params}" | |
| ) | |
| return model, messages, non_default_params | |
| def integration_name(self) -> str: | |
| return "x42-prompt-management" | |
| x42_prompt_management = X42PromptManagement() | |