add use_system_prompt to judge if need to add system_prompt part

This commit is contained in:
better629 2023-11-18 21:28:49 +08:00
parent 66f27ca2d5
commit 8e201384bf
4 changed files with 10 additions and 3 deletions

View file

@ -13,6 +13,7 @@ from dataclasses import dataclass
class BaseChatbot(ABC):
"""Abstract GPT class"""
mode: str = "API"
use_system_prompt: bool = True
@abstractmethod
def ask(self, msg: str) -> str:

View file

@ -32,15 +32,17 @@ class BaseGPTAPI(BaseChatbot):
return self._system_msg(self.system_prompt)
def ask(self, msg: str) -> str:
message = [self._default_system_msg(), self._user_msg(msg)]
message = [self._default_system_msg(), self._user_msg(msg)] if self.use_system_prompt else [self._user_msg(msg)]
rsp = self.completion(message)
return self.get_choice_text(rsp)
async def aask(self, msg: str, system_msgs: Optional[list[str]] = None) -> str:
if system_msgs:
message = self._system_msgs(system_msgs) + [self._user_msg(msg)]
message = self._system_msgs(system_msgs) + [self._user_msg(msg)] if self.use_system_prompt \
else [self._user_msg(msg)]
else:
message = [self._default_system_msg(), self._user_msg(msg)]
message = [self._default_system_msg(), self._user_msg(msg)] if self.use_system_prompt \
else [self._user_msg(msg)]
rsp = await self.acompletion_text(message, stream=True)
logger.debug(message)
# logger.debug(rsp)