mirror of
https://github.com/ParisNeo/lollms.git
synced 2024-12-19 04:37:54 +00:00
enhanced
This commit is contained in:
parent
9a47685a8c
commit
ec7cabfb4c
@ -2803,41 +2803,47 @@ class APScript(StateMachine):
|
|||||||
end_header_id_template = self.config.end_header_id_template
|
end_header_id_template = self.config.end_header_id_template
|
||||||
system_message_template = self.config.system_message_template
|
system_message_template = self.config.system_message_template
|
||||||
|
|
||||||
template = f"""{start_header_id_template}{system_message_template}{end_header_id_template}
|
template = "\n".join([
|
||||||
Act as plan builder, a tool capable of making plans to perform the user requested operation.
|
f"{start_header_id_template}{system_message_template}{end_header_id_template}",
|
||||||
"""
|
"Act as plan builder, a tool capable of making plans to perform the user requested operation."
|
||||||
|
])
|
||||||
|
|
||||||
if len(actions_list)>0:
|
if len(actions_list)>0:
|
||||||
template +=f"""The plan builder is an AI that responds in json format. It should plan a succession of actions in order to reach the objective.
|
template += "\n".join([
|
||||||
{start_header_id_template}list of action types information{end_header_id_template}
|
"The plan builder is an AI that responds in json format. It should plan a succession of actions in order to reach the objective.",
|
||||||
[
|
f"{start_header_id_template}list of action types information{end_header_id_template}",
|
||||||
{{actions_list}}
|
"[",
|
||||||
]
|
"{actions_list}",
|
||||||
The AI should respond in this format using data from actions_list:
|
"]",
|
||||||
{
|
"The AI should respond in this format using data from actions_list:",
|
||||||
"actions": [
|
"{",
|
||||||
{
|
' "actions": [',
|
||||||
"name": name of the action 1,
|
' {',
|
||||||
"parameters":[
|
' "name": name of the action 1,',
|
||||||
parameter name: parameter value
|
' "parameters":[',
|
||||||
]
|
' parameter name: parameter value',
|
||||||
},
|
' ]',
|
||||||
{
|
' },',
|
||||||
"name": name of the action 2,
|
' {',
|
||||||
"parameters":[
|
' "name": name of the action 2,',
|
||||||
parameter name: parameter value
|
' "parameters":[',
|
||||||
]
|
' parameter name: parameter value',
|
||||||
}
|
' ]',
|
||||||
...
|
' }',
|
||||||
]
|
' ...',
|
||||||
}
|
' ]',
|
||||||
"""
|
"}"
|
||||||
if context!="":
|
])
|
||||||
template += f"""{start_header_id_template}context{end_header_id_template}
|
if context != "":
|
||||||
{{context}}Ok
|
template += "\n".join([
|
||||||
"""
|
f"{start_header_id_template}context{end_header_id_template}",
|
||||||
template +=f"""{start_header_id_template}request{end_header_id_template}{{request}}
|
"{context}Ok"
|
||||||
"""
|
])
|
||||||
template +=f"""{start_header_id_template}plan{end_header_id_template}To acheive the requested objective, this is the list of actions to follow, formatted as requested in json format:\n```json\n"""
|
|
||||||
|
template += "\n".join([
|
||||||
|
f"{start_header_id_template}request{end_header_id_template}{{request}}",
|
||||||
|
f"{start_header_id_template}plan{end_header_id_template}To achieve the requested objective, this is the list of actions to follow, formatted as requested in json format:\n```json\n"
|
||||||
|
])
|
||||||
pr = PromptReshaper(template)
|
pr = PromptReshaper(template)
|
||||||
prompt = pr.build({
|
prompt = pr.build({
|
||||||
"context":context,
|
"context":context,
|
||||||
@ -2870,41 +2876,48 @@ The AI should respond in this format using data from actions_list:
|
|||||||
end_header_id_template = self.config.end_header_id_template
|
end_header_id_template = self.config.end_header_id_template
|
||||||
system_message_template = self.config.system_message_template
|
system_message_template = self.config.system_message_template
|
||||||
|
|
||||||
template = f"""{start_header_id_template}instruction:
|
template = "\n".join([
|
||||||
Act as plan builder, a tool capable of making plans to perform the user requested operation.
|
f"{start_header_id_template}instruction:",
|
||||||
"""
|
"Act as plan builder, a tool capable of making plans to perform the user requested operation."
|
||||||
if len(actions_list)>0:
|
])
|
||||||
template +=f"""The plan builder is an AI that responds in json format. It should plan a succession of actions in order to reach the objective.
|
|
||||||
{start_header_id_template}list of action types information{end_header_id_template}
|
if len(actions_list) > 0:
|
||||||
[
|
template += "\n".join([
|
||||||
{{actions_list}}
|
"The plan builder is an AI that responds in json format. It should plan a succession of actions in order to reach the objective.",
|
||||||
]
|
f"{start_header_id_template}list of action types information{end_header_id_template}",
|
||||||
The AI should respond in this format using data from actions_list:
|
"[",
|
||||||
{
|
"{actions_list}",
|
||||||
"actions": [
|
"]",
|
||||||
{
|
"The AI should respond in this format using data from actions_list:",
|
||||||
"name": name of the action 1,
|
"{",
|
||||||
"parameters":[
|
' "actions": [',
|
||||||
parameter name: parameter value
|
' {',
|
||||||
]
|
' "name": name of the action 1,',
|
||||||
},
|
' "parameters":[',
|
||||||
{
|
' parameter name: parameter value',
|
||||||
"name": name of the action 2,
|
' ]',
|
||||||
"parameters":[
|
' },',
|
||||||
parameter name: parameter value
|
' {',
|
||||||
]
|
' "name": name of the action 2,',
|
||||||
}
|
' "parameters":[',
|
||||||
...
|
' parameter name: parameter value',
|
||||||
]
|
' ]',
|
||||||
}
|
' }',
|
||||||
"""
|
' ...',
|
||||||
if context!="":
|
' ]',
|
||||||
template += f"""{start_header_id_template}context{end_header_id_template}
|
"}"
|
||||||
{{context}}Ok
|
])
|
||||||
"""
|
|
||||||
template +=f"""{start_header_id_template}request{end_header_id_template}{{request}}
|
if context != "":
|
||||||
"""
|
template += "\n".join([
|
||||||
template +=f"""{start_header_id_template}plan{end_header_id_template}To acheive the requested objective, this is the list of actions to follow, formatted as requested in json format:\n```json\n"""
|
f"{start_header_id_template}context{end_header_id_template}",
|
||||||
|
"{context}Ok"
|
||||||
|
])
|
||||||
|
|
||||||
|
template += "\n".join([
|
||||||
|
f"{start_header_id_template}request{end_header_id_template}{{request}}",
|
||||||
|
f"{start_header_id_template}plan{end_header_id_template}To achieve the requested objective, this is the list of actions to follow, formatted as requested in json format:\n```json\n"
|
||||||
|
])
|
||||||
pr = PromptReshaper(template)
|
pr = PromptReshaper(template)
|
||||||
prompt = pr.build({
|
prompt = pr.build({
|
||||||
"context":context,
|
"context":context,
|
||||||
@ -3691,6 +3704,76 @@ fetch('/open_file', {
|
|||||||
def select_model(self, binding_name, model_name):
|
def select_model(self, binding_name, model_name):
|
||||||
self.personality.app.select_model(binding_name, model_name)
|
self.personality.app.select_model(binding_name, model_name)
|
||||||
|
|
||||||
|
# Properties ===============================================
|
||||||
|
@property
|
||||||
|
def start_header_id_template(self) -> str:
|
||||||
|
"""Get the start_header_id_template."""
|
||||||
|
return self.config.start_header_id_template
|
||||||
|
|
||||||
|
@property
|
||||||
|
def end_header_id_template(self) -> str:
|
||||||
|
"""Get the end_header_id_template."""
|
||||||
|
return self.config.end_header_id_template
|
||||||
|
|
||||||
|
@property
|
||||||
|
def system_message_template(self) -> str:
|
||||||
|
"""Get the system_message_template."""
|
||||||
|
return self.config.system_message_template
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
def separator_template(self) -> str:
|
||||||
|
"""Get the separator template."""
|
||||||
|
return self.config.separator_template
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
def start_user_header_id_template(self) -> str:
|
||||||
|
"""Get the start_user_header_id_template."""
|
||||||
|
return self.config.start_user_header_id_template
|
||||||
|
@property
|
||||||
|
def end_user_header_id_template(self) -> str:
|
||||||
|
"""Get the end_user_header_id_template."""
|
||||||
|
return self.config.end_user_header_id_template
|
||||||
|
@property
|
||||||
|
def end_user_message_id_template(self) -> str:
|
||||||
|
"""Get the end_user_message_id_template."""
|
||||||
|
return self.config.end_user_message_id_template
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
def start_ai_header_id_template(self) -> str:
|
||||||
|
"""Get the start_ai_header_id_template."""
|
||||||
|
return self.config.start_ai_header_id_template
|
||||||
|
@property
|
||||||
|
def end_ai_header_id_template(self) -> str:
|
||||||
|
"""Get the end_ai_header_id_template."""
|
||||||
|
return self.config.end_ai_header_id_template
|
||||||
|
@property
|
||||||
|
def end_ai_message_id_template(self) -> str:
|
||||||
|
"""Get the end_ai_message_id_template."""
|
||||||
|
return self.config.end_ai_message_id_template
|
||||||
|
@property
|
||||||
|
def system_full_header(self) -> str:
|
||||||
|
"""Get the start_header_id_template."""
|
||||||
|
return f"{self.start_header_id_template}{self.system_message_template}{self.end_header_id_template}"
|
||||||
|
@property
|
||||||
|
def user_full_header(self) -> str:
|
||||||
|
"""Get the start_header_id_template."""
|
||||||
|
return f"{self.start_user_header_id_template}{self.config.user_name}{self.end_user_header_id_template}"
|
||||||
|
@property
|
||||||
|
def ai_full_header(self) -> str:
|
||||||
|
"""Get the start_header_id_template."""
|
||||||
|
return f"{self.start_user_header_id_template}{self.personality.name}{self.end_user_header_id_template}"
|
||||||
|
|
||||||
|
|
||||||
|
def ai_custom_header(self, ai_name) -> str:
|
||||||
|
"""Get the start_header_id_template."""
|
||||||
|
return f"{self.start_user_header_id_template}{ai_name}{self.end_user_header_id_template}"
|
||||||
|
|
||||||
|
|
||||||
class AIPersonalityInstaller:
|
class AIPersonalityInstaller:
|
||||||
def __init__(self, personality:AIPersonality) -> None:
|
def __init__(self, personality:AIPersonality) -> None:
|
||||||
self.personality = personality
|
self.personality = personality
|
||||||
@ -3782,3 +3865,5 @@ class PersonalityBuilder:
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
return None, None, 0
|
return None, None, 0
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user