MCPcopy Create free account
hub / github.com/abetlen/llama-cpp-python / LlamaChatCompletionHandlerRegistry

Class LlamaChatCompletionHandlerRegistry

llama_cpp/llama_chat_format.py:117–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

115
116
117class LlamaChatCompletionHandlerRegistry(Singleton):
118 _chat_handlers: Dict[str, LlamaChatCompletionHandler] = {}
119
120 def register_chat_completion_handler(
121 self,
122 name: str,
123 chat_handler: LlamaChatCompletionHandler,
124 overwrite: bool = False,
125 ):
126 if not overwrite and name in self._chat_handlers:
127 raise ValueError(
128 f"Formatter with name '{name}' is already registered. Use `overwrite=True` to overwrite it."
129 )
130 self._chat_handlers[name] = chat_handler
131
132 def unregister_chat_handler(self, name: str):
133 if name in self._chat_handlers:
134 del self._chat_handlers[name]
135 else:
136 raise ValueError(f"No formatter registered under the name '{name}'.")
137
138 def get_chat_completion_handler_by_name(
139 self, name: str
140 ) -> LlamaChatCompletionHandler:
141 try:
142 chat_handler = self._chat_handlers[name]
143 return chat_handler
144 except KeyError:
145 raise LlamaChatCompletionHandlerNotFoundException(
146 f"Invalid chat handler: {name} (valid formats: {list(self._chat_handlers.keys())})"
147 )
148
149
150def get_chat_completion_handler(name: str) -> LlamaChatCompletionHandler:

Callers 2

decoratorFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…