fix: models with system message and prompt input fail (#2984)
This commit is contained in:
parent
bce072bb76
commit
06d25a9e56
1 changed files with 6 additions and 2 deletions
|
|
@ -143,20 +143,24 @@ class LCModelComponent(Component):
|
||||||
messages: list[Union[BaseMessage]] = []
|
messages: list[Union[BaseMessage]] = []
|
||||||
if not input_value and not system_message:
|
if not input_value and not system_message:
|
||||||
raise ValueError("The message you want to send to the model is empty.")
|
raise ValueError("The message you want to send to the model is empty.")
|
||||||
if system_message:
|
system_message_added = False
|
||||||
messages.append(SystemMessage(content=system_message))
|
|
||||||
if input_value:
|
if input_value:
|
||||||
if isinstance(input_value, Message):
|
if isinstance(input_value, Message):
|
||||||
with warnings.catch_warnings():
|
with warnings.catch_warnings():
|
||||||
warnings.simplefilter("ignore")
|
warnings.simplefilter("ignore")
|
||||||
if "prompt" in input_value:
|
if "prompt" in input_value:
|
||||||
prompt = input_value.load_lc_prompt()
|
prompt = input_value.load_lc_prompt()
|
||||||
|
if system_message:
|
||||||
|
prompt.messages = [SystemMessage(content=system_message)] + prompt.messages
|
||||||
|
system_message_added = True
|
||||||
runnable = prompt | runnable
|
runnable = prompt | runnable
|
||||||
else:
|
else:
|
||||||
messages.append(input_value.to_lc_message())
|
messages.append(input_value.to_lc_message())
|
||||||
else:
|
else:
|
||||||
messages.append(HumanMessage(content=input_value))
|
messages.append(HumanMessage(content=input_value))
|
||||||
|
|
||||||
|
if system_message and not system_message_added:
|
||||||
|
messages.append(SystemMessage(content=system_message))
|
||||||
inputs: Union[list, dict] = messages or {}
|
inputs: Union[list, dict] = messages or {}
|
||||||
try:
|
try:
|
||||||
runnable = runnable.with_config( # type: ignore
|
runnable = runnable.with_config( # type: ignore
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue