From 6a3d839570963b2ed0350b214705c78b3a3ced99 Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Fri, 8 Sep 2023 00:13:51 +0200 Subject: [PATCH] now scripted personalities can stream text --- lollms/personality.py | 11 +++++++---- setup.py | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lollms/personality.py b/lollms/personality.py index fd65e2a..5052fdc 100644 --- a/lollms/personality.py +++ b/lollms/personality.py @@ -20,7 +20,7 @@ from lollms.types import MSG_TYPE from typing import Callable import json from lollms.utilities import TextVectorizer, GenericDataLoader - +from functools import partial def is_package_installed(package_name): try: @@ -1128,24 +1128,27 @@ class APScript(StateMachine): return string - def process(self, text:str, message_type:MSG_TYPE): + def process(self, text:str, message_type:MSG_TYPE, callback=None): bot_says = self.bot_says + text + antiprompt = self.personality.detect_antiprompt(bot_says) if antiprompt: self.bot_says = self.remove_text_from_string(bot_says,antiprompt) ASCIIColors.warning(f"\nDetected hallucination with antiprompt: {antiprompt}") return False else: + if callback: + callback(text,MSG_TYPE.MSG_TYPE_CHUNK) self.bot_says = bot_says return True - def generate(self, prompt, max_size, temperature = None, top_k = None, top_p=None, repeat_penalty=None ): + def generate(self, prompt, max_size, temperature = None, top_k = None, top_p=None, repeat_penalty=None, callback=None ): self.bot_says = "" ASCIIColors.info("Text generation started: Warming up") self.personality.model.generate( prompt, max_size, - self.process, + partial(self.process, callback=callback), temperature=self.personality.model_temperature if temperature is None else temperature, top_k=self.personality.model_top_k if top_k is None else top_k, top_p=self.personality.model_top_p if top_p is None else top_p, diff --git a/setup.py b/setup.py index 6aebb7f..9903bbd 100644 --- a/setup.py +++ b/setup.py @@ -26,7 +26,7 @@ def get_all_files(path): setuptools.setup( name="lollms", - version="5.2.1", + version="5.3.0", author="Saifeddine ALOUI", author_email="aloui.saifeddine@gmail.com", description="A python library for AI personality definition",