Format a prompt with only necessary kwargs.
(
prompt: OpenAICreatePrompt, allow_missing: bool = False, **kwargs: dict[str, str]
)
| 117 | |
| 118 | |
| 119 | def format_prompt( |
| 120 | prompt: OpenAICreatePrompt, allow_missing: bool = False, **kwargs: dict[str, str] |
| 121 | ) -> OpenAICreatePrompt: |
| 122 | """Format a prompt with only necessary kwargs.""" |
| 123 | # if any input kwargs is chat prompt, convert to text prompt |
| 124 | kwargs = { |
| 125 | k: chat_prompt_to_text_prompt(v, for_completion=False) if is_chat_prompt(v) else v |
| 126 | for k, v in kwargs.items() |
| 127 | } |
| 128 | if is_chat_prompt(prompt): |
| 129 | new_prompt = [] |
| 130 | for msg in prompt: |
| 131 | formatted_msg = copy.copy(msg) |
| 132 | if "content" in formatted_msg: |
| 133 | formatted_msg["content"] = format_necessary( |
| 134 | formatted_msg["content"], allow_missing=allow_missing, **kwargs |
| 135 | ) |
| 136 | new_prompt.append(formatted_msg) |
| 137 | prompt = new_prompt |
| 138 | else: |
| 139 | # Prompt is a string |
| 140 | prompt = format_necessary(prompt, allow_missing=allow_missing, **kwargs) |
| 141 | return prompt |
| 142 | |
| 143 | |
| 144 | class PromptFn: |
nothing calls this directly
no test coverage detected
searching dependent graphs…