katara / callbacks.py
Daniel Marques
fix: add callback
36d73c0
raw
history blame contribute delete
822 Bytes
from langchain.callbacks.base import BaseCallbackHandler
class MyCustomSyncHandler(BaseCallbackHandler):
def __init__(self, redisClient):
self.message = ''
self.redisClient = redisClient
def on_llm_new_token(self, token: str, **kwargs) -> Any:
self.message += token
self.redisClient.publish(f'{kwargs["tags"][0]}', self.message)
def on_llm_end(self, response: LLMResult, **kwargs: Any) -> Any:
self.redisClient.publish(f'{kwargs["tags"][0]}', 'end')
def on_llm_error(
self, error: Union[Exception, KeyboardInterrupt], **kwargs: Any
) -> Any:
self.redisClient.publish(f'{kwargs["tags"][0]}', 'end')
def on_chain_end(self, outputs: Dict[str, Any], **kwargs: Any) -> Any:
self.redisClient.publish(f'{kwargs["tags"][0]}', 'end')